Thứ Tư, 8 tháng 10, 2014


                       Giải pháp lưu trữ dữ liệu cho doanh nghiệp lớn




Những doanh nghiệp lớn nhu cầu lưu trữ dữ liệu rất cao có thể tới 500 TB thậm chí lớn hơn.

Để vận hành được tối đa tài nguyên như vậy, ngoài việc chọn và sử dụng phần cứng máy chủ, thiết bị mạng tốt thì ứng dụng và công nghệ chạy trên chúng cũng phải ưu việt không kém.


Ứng dụng và công nghệ cần xử lý thông minh để gia tăng hiệu năng, đáp ứng truy cập khổng lồ từ phía các máy Client kết nối tới.

Data được chia thành các object và lưu trữ replicate tới các Disk

Hệ thống lưu trữ TABATECH sẽ đọc ghi File thành các object, các object được repliate ngay trong hệ thống qua các thiết bị mạng (disk, host, rack, switch, …). Hệ thống chia thành các vùng nhớ và rất linh hoạt cho từng ứng dụng. Cụ thể, truy xuất dữ liệu Database cần xử lý nhanh để response trả về chậm, dữ liệu Database sẽ được sử dụng trên vùng lưu trữ chứa ổ SSD, tương tự với các ứng dụng khác sẽ lưu trên vùng nhớ ổ SAS, SATA.

Hệ thống có khả năng xử lý lỗi phát sinh bên trong, bao gồm lỗi phần cứng, nguồn điện. Vì vậy dữ liệu luôn stable trong suốt quá trình vận hành.

Sử dụng hệ thống lưu trữ của TABATECH để vận hành hiệu quả nhất:

Ưu điểm hệ thống:

  • Công nghệ sử dụng là những công nghệ tiên tiến nhất thế giới.
  • Đảm bảo dữ liệu luôn sẵn sàng trong suốt thời gian vận hành.
  • Tự động khôi phục khi lỗi phát sinh ngay trong hệ thống, ngay cả các lỗi phần cứng như Disk, server down,...
  • Hiệu năng kết nối dữ liệu luôn đạt ở mức cao nhất, cho dù trong thời gian bảo trì, upgrade hệ thống.
  • Mở rộng hệ thống không phức tạp.
  • Bảo mật dữ liệu cao.




Giải pháp lưu trữ cho doanh nghiệp vừa và nhỏ
  

    Hiện nay có khá nhiều giải pháp lưu trữ, các giải pháp có thể là phần cứng, phầm mềm. Đa phần các doanh nghiệp nhỏ chọn hướng lưu trữ kiểu File Server sử dụng chương trình Windows sharing hay Samba trên Linux.
 
   Đó là giải pháp đáp ứng được những nhu cầu cơ bản khi chia sẻ file trong mạng LAN doanh nghiệp. Giờ đây nhiều doanh nghiệp có nhu cầu lưu trữ cao hơn, tốc độ truyền tải nhanh chóng, đáp ứng nhu cầu sử dụng cho nhiều điểm truy cập cùng lúc, và đặc biệt là bảo mật cao bởi lẽ sẽ có rất nhiều dữ liệu nhạy cảm.

Vậy chọn phương pháp lưu trữ nào phù hợp, phần cứng? hay phần mềm?

Lựa chọn phần cứng chuyên dụng sẽ là một giải pháp tốt nếu Doanh nghiệp có ý định lưu trữ trong mạng LAN, làm nơi chia sẻ dữ liệu cho các máy trạm (client) khác truy cập. Giả sử mua một bộ lưu trữ 5TB của hãng Bufalo) và truyền tải qua đường mạng 100Mbps hoặc 1Gbps. Sau này có nhu cầu thêm vùng nhớ có thể ko còn khe cắm ổ hoặc cần phải thêm 2 hoặc 4 ổ nếu cấu hình Raid1 trên thiết bị. Đó là chưa kể đến các thiết lập tương tác với ứng dụng ngoài như làm bộ lưu trữ dùng chung cho các ứng dụng chạy trên nhiều máy khác nhau, hay đồng bộ dữ liệu tự động giữa máy chủ với thiết bị phần cứng lưu trữ. Rất nhiều phần cứng không hỗ trợ kịch bản này của bạn.

Lựa chọn giải pháp nào?

Sử dụng Samba, NFS, ... chỉ giải quyết được các vấn đề chia sẻ file đơn giản và dữ liệu đặt trên một server riêng duy nhất, điều này rất nguy hiểm nếu server bị sụt nguồn. Nếu nhiều máy ghi vào 1 file cùng lúc hiện tượng mất đồng bộ dữ liệu giữa các máy chắc chắn sẽ gặp phải(split-brain). Với những giải pháp truyền tải với lưu lượng lớn, tính năng HA (High Available), Failover rất quan trọng. 



 Để đáp ứng nhu cầu lưu trữ cho doanh nghiệp, TABATECH đưa ra giải pháp lưu trữ với nhiều ưu điểm nổi trội, đáp ứng nhu cầu trọn vẹn cho doanh nghiệp.

Ưu điểm hệ thống:
  • Dữ liệu luôn sẵn sàng, toàn vẹn trong suốt thời gian sử dụng.
  • Tự động khôi phục khi lỗi phát sinh ngay trong hệ thống, ngay cả các lỗi phần cứng như Disk, server down,...
  • Hệ thống đạt hiệu năng cao (sử dụng môi trường tốc độ mạng 1Gbps, 10Gbps, công nghệ bonding multi line).
  • Khả năng lưu trữ mềm dẻo, linh hoạt, mở rộng thêm bớt thiết bị lưu trữ đơn giản và không làm gián đoạn dịch vụ.
  • Hiệu năng kết nối dữ liệu luôn đạt ở mức cao trên đường truyền kết nối.
  • Mở rộng hệ thống không phức tạp.
  • Bảo mật dữ liệu.
TABATECH
http://tabatech.vn

Thứ Ba, 27 tháng 5, 2014


Chillispot - Giải pháp chứng thực Wifi thông qua chứng thực web









Guide full download tại: http://mediafire.com/?5k05td46s18203s
Pass giải nén: tuaninfo


Chillispot là gì?

Chillispot là một phần mềm nguồn mở được sử dụng để chứng thức người dùng truy cập mạng LAN Wireless. Phần mềm có hỗ trợ giao diện web page login và sử dụng với một máy chủ chứng thức (cụ thể ở đây là Raudius)


Mục đích/tính áp dụng:

   Client được phép kết nối tới sóng wifi free, nhưng khi sử dụng internet (mở trình duyệt web) lướt một trang web bất kỳ sẽ redirect tới web page login, tại đây người dùng phải nhập thông in username & password, nếu thông tin chính xác Client sẽ được truy cập internet, sử dụng mọi tác vụ bình thường.
Cơ chế: Chillispot kiểm soát eth1 sử dụng module vtun kernel để bring up tới một interface ảo tun0. Nhưng trên thực tế module vtun kernel được sử dụng để di chuyển các gói tin IP từ kernel tới user mode, chức năng chllispot có thể thực hiện không qua bất kỳ các module kernel phi tiêu chuẩn nào (non-standard). Chillispot sẽ setup một DHCP server trên interface tun0, khi Client kết nối tới mạng Wifi, client sẽ được cấp 1 IP động (mặc định dải 192.168.182.X) sinh ra từ Chilllispot. Vì IP động được cấp phát khác mạng so với mạng thực nên để Client truy cập Internet cần sử dụng cơ chế NAT trên 2 card mạng Server.
Khi một client non-authenticated kết nối tới webpage (port 80 hoặc 443), yêu cầu sẽ được chấp nhận bởi chilli và bị redirect tới script perl (được gọi là hotspotlogin.cgi).

Script hotspotlogin.cgi sẽ cung cấp một web-page cho end-user với trường username & password. Thông tin chứng thực này sẽ được gửi tới Raudius Server.
Áp dụng thực tế: áp dụng cho quản lý truy cập wifi cho doanh nghiệp, quán café, tòa nhà, khách sạn, thành phố, kinh doanh cung cấp wifi internet trên địa bàn lớn,..

Bảo mật: Mỗi người dùng sẽ có 1 account (username & password ) riêng, thông tin sẽ khó bị rò rỉ.

I. Cấu hình chuẩn bị trên Server

- Phần cứng yêu cầu:
1 Server có 2 card mạng, cài Linux (Centos, Redhat, Ubuntu, …)
1 Wireless ( là một Access Point – AP).
Internet kết nối vào server.
Phần mềm yêu cầu:
Chillispot, download tại: http://www.chillispot.info/
FreeRaudius download tại: http:// freeradius.org
Apache (httpd)
Note:
Trong bài hướng dẫn này tôi sẽ sử dụng CentOS cài trên máy Server, các OS Unix khác làm tương tự.
Raudius server & web server vị trí có thể được đặt trên Internet.

- Interface eth0 kết nối tới Internet, interface eth1 kết nối tới Laptop (giả sử)
- Interface eth1 không nên cấu hình, nhưng cần active:

[root@chillispot ~]# ifconfig eth1 up
Or
[root@chillispot ~]# ifconfig eth1 0.0.0.0 up

- Enable Firewall và thực hiện NAT,
Chilli đã có sẵn script cấu hình NAT, file firewall example đặt tại “/usr/share/doc/chillispot/firewall.iptables”

[root@chillispot ~]#sh “/usr/share/doc/chillispot/firewall.iptables


Để scipt trên cần chạy sau khi reboot máy, bạn cần copy script vào “/etc/init.d” và tạo quyền thực thi.
[root@chillispot ~]# cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chili.iptables

[root@chillispot ~]# chmod u+x /etc/init.d/chilli.iptables

- Bật chế độ IP packet forwarding trong file “/etc/sysctl.conf”.

[root@chillispot ~]# vim /etc/sysctl.conf

đổi “net.ipv4.ip_forward = 0” thành “net.ipv4.ip_forward = 1”
Để apply cấu hình forwarding packet vừa thiết lập, thực hiện lệnh sau:
[root@chillispot ~]#/sbin/sysctl -p


II. Cài đặt và cấu hình trên Server

2.1 Cài đặt apache
[root@chillispot ~]#yum install httpd

2.2 Cài đặt và cấu hình FreeRaudius server


FreeRaudius tham khảo tại http://www.freeradius.org/

[root@chillispot ~]#yum install freeraudius

File cấu hình freeraudius "radiusd.conf" có thể tìm thấy tại "/usr/local/etc/raddb/" hoặc "/etc/raddb/" tùy thuộc vào bản distro Linux bạn đang sử dụng.
Đảm bảo trong file cấu hình “raudiusd.conf”, cấu hình “authorize”, “authenticate” được thiết lập:
#vim etc/raddb/raudiusd.conf
authorize {
preprocess
mschap
suffix
eap
files
}
authenticate {
# MSCHAP authentication.
Auth-Type MS-CHAP {
mschap
}
# Allow EAP authentication.
eap
}

Sau đó thay đổi file “clients.conf” để chỉ định dải mạng sẽ phục vụ:

[root@chillispot ~]#vim /etc/raddb/clients.conf

# Here, we specify which network we're serving
client 192.168.0.0/24 {
# This is the shared secret between the Authenticator (the
# access point) and the Authentication Server (RADIUS).
secret = tuaninfo123456
shortname = testnet
}

“secret” là mã bảo mật giao tiếp giữa raudius và chillispot server,
ở đây “secret” là “tuaninfo123456”,

Thông tin người dùng được lưu trữ trong file plain text “users”, giải pháp khác các bạn có thể sử dụng SQL, LDAP, PDC,… trong trường hợp có cơ sở dữ liệu chứa account tập trung.
Sau đây ta sẽ tạo file “users” theo format sau:
"tuaninfo" User-Password == "secret_of_tuaninfo"

- Start dịch vụ raudius, sử dụng command line:
[root@chillispot ~]#/etc/init.d/raudiusd start

Chạy command line sau để dịch vụ tự động chạy sau khi khởi động:


[root@chillispot ~]#chkconfig radiusd on

2.3 Cài đặt và cấu hình chillispot

- Download file chillispot.xxx.rpm tại website http://www.chillispot.info
Wget http://www.chillispot.info/download/...1.1.0.i386.rpm
- Cài đặt
[root@chillispot ~]#rpm – ivh chllispot-XXX.rpm

- Cấu hình apache để yêu cầu username & password từ các wireless client:
[root@chillispot ~]#cp /usr/share/doc/chillispot-XX/hotspotlogin.cgi /var/www/cgi-bin/hotspotlogin.cgi

Sau đó nói với Chilli vị trí Server authentication bằng cách uncomment và edit dòng sau trên file “/etc/chilli.conf”

[root@chillispot ~]#vim /etc/chilli.conf
uamserver https://192.168.182.1/cgi-bin/hotspotlogin.cgi

Note: 192.168.182.1 là IP mặc định được Chilli cấp cho interface tun0 (interface ảo)
Cần sử dụng CHAP-Challenge & CHAP-Password để bảo vệ từ các cuộc tấn công “dictionary attack”. Để bảo vệ, uncomment dòng sau tại “/var/www/cgi-bin/hotspotlogin.cgi”
uamsecret ht2eb8ej6s4et3rg1ulp

- Restart lại chillispot để áp dụng các cấu hình vừa thay đổi:
[root@chillispot ~]#/etc/init.d/chilli restart



- Chỉ định Raudius Server:
Chỉ định vị trí của Raudius server trong file config “/etc/chillispot.conf”, bằng cách uncomment & edit dòng sau:

[root@chillispot ~]#vim /etc/chillispot.conf
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiussecret tuaninfo123456


Note: - Ở đây chilli cho phép ta chỉ định 2 vị trí raudius server, nếu Raudius Server đặt chung với Chilli server, ta sẽ sử dụng các thông số như trên (127.0.0.1).
- Thuộc tính “radiussecret” cần chỉ định mã là “tuaninfo123456” đã được nhắc ở phía trên.

- Restart chilli để các thay đổi trong file cấu hình chillispot được áp dụng:
[root@chillispot ~]#/etc/init.d/chilli restart


References:
- Setup FreeRaudius: http://tldp.org/HOWTO/8021X-HOWTO/freeradius.html
- Chillispot: http://www.chillispot.info/FAQ.html
- Cấu hình trên Ubuntu: http://www.multiplicity.dk/2006/10/chillispot-howto/

--
TABATECH
Cung cấp giải pháp lưu trữ cho doanh nghiệp. 


Giải pháp lưu trữ mềm dẻo, hỗ trợ đa nền tảng mạnh mẽ, kết nối dữ liệu đạt hiệu năng cao. Đảm bảo hệ thống được vận hành thông suốt trong quá trình sử dụng.

1. Giải pháp lưu trữ cho doanh nghiệp vừa và nhỏ
2. Giải pháp lưu trữ cho khối chính phủ và doanh nghiệp lớn
3. Giải pháp lưu trữ cho nhà cung cấp điện toán đám mây (Cloud Computing Strorage)

Chúng tôi sẵn sàng đồng hành cùng quý doanh nghiệp để mang lại những hỗ trợ hiệu quả nhất trong suốt quá trình vận hành hệ thống!

Mọi chi tiết xin liên hệ:

TA BA TUAN

Email:    tuantb@tabatech.vn
Mobile:  0949.242.832 hoặc 01638.369.743

Website: http://tabatech.vn
Địa chỉ: Số 56, Ngõ 126, Hào Nam, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.

Thứ Bảy, 26 tháng 3, 2011

INSTALL AND CONFIGURE VPN ON LINUX


(Cài đặt và cấu hình VPN trên Linux)



INDEX
  1. GROUP 1: CONFIGURE VPN SERVER
  2. GROUP 2: VPN SECURITY ON LINUX
  3. GROUP 3: PERFORM OPENVPN CLIENT ON WINDOWS MS
  4. GROUP 4: USING OpenVPN ON UBUNTU CLIENT
  5. GROUP 5: INTRODUCTION ABOUT Ethernet Bridging


The environment: 

I
P VPN-SERVER_INTERNAL: 192.168.2.2
IP VPN_SERVER_EXTERNAL: 192.168.0.74
IP CLIEN-External: 192.168.0.3

INSTALL VPN FROM DAG RESPO

# yum --enablerepo=dag -y install openvpn bridge-utils

CONFIGURE VPN SERVER

#cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/
#vim /etc/openvpn/server.conf
Change contens the flowing:

# line 53, change
dev tap0
# line 78: change
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
# line 87: change
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
# line 96: make it comment
#server 10.8.0.0 255.255.255.0
# line 103: make it comment
#ifconfig-pool-persist ipp.txt
# line 115: change ( [VPN server's IP] [subnetmask] [IP range given to client] )
server-bridge 192.168.2.2 255.255.255.0 192.168.2.50 192.168.2.100
# line 125: change ( [VPN server's network] [subnetmask] )
push "route 192.168.2.0 255.255.255.0"
# line 267: change
status /var/log/openvpn-status.log
# line 276: change
log /var/log/openvpn.log
log-append /var/log/openvpn.log

CREATE CA CERTIFICATE AND KEY

#cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa /etc/openvpn/
#cd /etc/openvpn/easy-rsa/
#mkdir keys
#vim vars
Change contens the flowing:
# line 45: change for your environment
export KEY_COUNTRY=VIETNAM
export KEY_PROVINCE=HANOI
export KEY_CITY=HANOI
export KEY_ORG="ait-linux.vn"
export KEY_EMAIL="root@ait-linux.vn"
#chmod 700 vars
#. ./vars
Note: When you run ./clean-all, I will be doing a rm –rf on /etc/openvpn/easy-rsa/keys
#chmod 700 clean-all
#./clean-all or source ./clean-all  ./clean-all
#chmod 700 build-ca
#./build-ca #process to create CA and KEY are be started
Generating a 1024 bit RSA private key
…......................................++++++
…............................++++++
writing new private key to ‘ca.key’
-----You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
-----Country Name (2 letter code) [JP]: # Enter
State or Province Name (full name) [Hiroshima]: # Enter
Locality Name (eg, city) # Enter
Organization Name (eg, company) # Enter
Organizational Unit Name (eg, section) []: # Enter
Common Name (eg, your name or your server’s hostname) []: server-ca
Email Address [root@server-linux.info]: #Enter
 Export to a file “ca.crt” & ca.key & serial
CREATE SERVER CERTIFICATE AND KEY

#chmod 700 build-key-server
#./build-key-server server
Generating a 1024 bit RSA private key
....++++++
.......................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code): # Enter
State or Province Name (full name): # Enter
Locality Name (eg, city): # Enter
Organization Name (eg, company) [server-linux.info]: # Enter
Organizational Unit Name (eg, section) []: # Enter
Common Name (eg, your name or your server's hostname) []: server # input
Email Address [root@server-linux.info]: # Enter

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: # Enter
An optional company name []: # Enter

Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'VN'
stateOrProvinceName :PRINTABLE:'HN'
localityName :PRINTABLE:'Hiroshima'
organizationName:PRINTABLE:ait-linux.vn
commonName:PRINTABLE:'server'
emailAddress:IA5STRING:'root@server-linux.info'
Certificate is to be certified until Sep 4 14:11:20 2018 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries Data Base Updated


--> Export: server.crt & server.key & server.csr

CREATE DIFFIE HELLMAN (DH)

#chmod 700 build-dh
#./build-dh
export the file: dh1024.pem
CREATE CLIENT CERTIFICATE AND KEY
(This key and cer used to all user)
#chmod 700 build-key-pass
#./build-key-pass client
Generating a 1024 bit RSA private key
......++++++
.......................++++++
writing new private key to 'client.key'
Enter PEM pass phrase: # set pass-phrase
Verifying - Enter PEM pass phrase: # verify
----- You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

----- Country Name (2 letter code) [VN]: # Enter
State or Province Name (full name): Enter
Locality Name (eg, city): # Enter
Organization Name (eg, company) [server-linux.info]: # Enter
Organizational Unit Name (eg, section) []: # Enter
Common Name (eg, your name or your server's hostname) []: client # input
Email Address [root@server-linux.info]: # Enter

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: # Enter
An optional company name

Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName:PRINTABLE:'HN'
stateOrProvinceName:PRINTABLE:'VIETNAM'
localityName :PRINTABLE:'HANOI'
organizationName:PRINTABLE:'ait-linux.vn’
commonName:PRINTABLE:'client'
emailAddress:IA5STRING:'root@ait-linux.vn’

Certificate is to be certified until Sep 4 14:20:52 2018 GMT (3650 days)
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y

Write out database with 1 new entriesData Base Updated
--> Export to three files are “client.crt and client.key” & client.csr

GENERATE CERTIFICATES FOR ONE CLIENT ONLY

chmod 700 build-key
./build-key client1 -> export the file: client1.crt, .csr, .key
./build-key client2



CREATE BRIDGE NETWORKING AND STARTING SCRIPT FOR VPN SERVER 

[root@ns ~]#
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/openvpn.init /etc/openvpn/
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-stop /etc/openvpn/
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-start /etc/openvpn/

#chmod 755 /etc/openvpn/bridge-start
#chmod 755 /etc/openvpn/bride-stop
#chmod 755 /etc/openvpn/openvpn.init
#vim /etc/openvpn/bridge-start

Change contents the fllowing:
# 18,19,20: change ( IP for bridge : subnetmask : broadcast address )

eth_ip="192.168.2.2"
eh_netmask="255.255.255.0"
eth_broadcast="192.168.2.255"

#vim /etc/sysctl.conf
Change contents the fllowing:
# line 7: change ( enable ip forward )
net.ipv4.ip_forward = 1

#cp /etc/rc.d/init.d/network /etc/rc.d/init.d/vpn
#vim /etc/rc.d/init.d/vpn
#add 2 line in line 168

/etc/openvpn/bridge-start
/etc/openvpn/openvpn.init start

# line 174: add these 2 lines stop)

/etc/openvpn/openvpn.init stop
/etc/openvpn/bridge-stop

#service vpn restart
Bringing up loopback interface: [  OK  ]
Bringing up interface eth0: [  OK  ]
Bringing up interface eth1: [  OK  ]
Wed Sep 3 23:05:57 2008 TUN/TAP device tap0 opened
Wed Sep 3 23:05:57 2008 Persist state set to: ON
Starting openvpn: [  OK  ]

#chkconfig - -add vpn
#chkconfig vpn on

Kết luận: Đến đây các bạn đã hoàn thành cấu hình cơ bản trên Server rồi đấy. Bây giờ công việc là: Copy 2 file cer (ca.crt & client.crt) và 1 file client.key lên máy Client. Sau đó chạy thử đi nhé. Còn copy thế nào và cấu hình Client ra sau cũng là bứoc hơi phức tạp chút thôi (Là dân IT đã đương đầu với nghề này thì sợ gì phải không.. càng khó càng lằng nhằng càng thích :). Ở dưới mình cũng đã nói qua rồi. Chỗ OpenVPN-Client đấy. Mà các bạn lưu ý nhé, bên trên tên file tạo ra cho guets là "client" --> Tức nhiên là cần nên tạo tên khác ví dụ như tuaninfo_netadmin chẳng hạn. Khi tạo ra sẽ không y/c password nhưng khi chạy trên Client thì nên change pass --> Mục đích là Security mà.

*Note:
- Phải mở cổng 1194 trên Firewall Or Modem, Nếu không mở là ko vô được đâu.
- Cần sử dụng mạng khác (3g, hay mạng nào đó để test).


GROUP 2: VPN SECURITY ON LINUX (AN NINH VPN TRÊN LINUX)

REVOKE THE CLIENT CERTIFICATE (Lấy lại Account của toàn bộ User hay một User nào đó chỉ định)

Reasons for wanting to revoke a certificate include (common):
Private key of user is compromised or stolen.
User forgets the password on the key.
Want to terminate a VPN user’access
The revoke-full script will generate a CRL (Certificate revocation list) file called is crl.pem in keys subdirectory. When the revoke-full script runs again, it will update to crl.pem file.
#cd easy-rsa
#. ./vars
#./revoke-full client2 #revoke the client2 certificate for using vpn.

To finish config, edit /etc/openvpn/config/server.conf file
add line : crl-verify /etc/openvpn/easy-rsa/2.0/keys/crl.pem
 Restart openvpn
Now, all connecting clients are verified in crl.pem file will result in connection being dropped.

HARDENING OPENVPN SECURITY
OpenVPN provides several mechanisms to add additional security layer (OpenVPN cung cấp một số cơ chế thêm lớp bảo mật bổ sung).
tls-auth
The tls adds a additional HMAC (Hash-based Message Authentication Code) signature to all SSL/TLS handshare packets for integiry verification (nhan dang tinh toan ven). Any UDP packet not beadring the correct HMAC signature can be dropped.
It can protect against:
DoS attacks or port flooding on the OpenVPN UDP port (tấn công hàng loạt các ports OpenVPN UDP).
Port scanning to dertermine which server UDP ports are listening.

Lỗ hổng tràn bộ đệm trong việc triển khai SSL/TLS

Khởi tạo quá trình bắt tay SSL/TLS (SS/TLS handshake) từ một máy trái phép.
Sử dụng tls-auth yêu cầu tạo khóa bảo vệ chi sẻ (share-secret key), chúng được sử dụng để bổ sung tới RSA certificate/key:
#openvpn - -genkey - -secret ta.key

Câu lệnh này sẽ tạo một key OpenVPN tĩnh và viết nó vào file ta.key. Key này sẽ được copy qua một kênh bảo mật tới máy server và client. nó có thể được đặt trong cùng thư mục với RSA.key và .crt file.
Trong file cấu hình server, thêm dòng sau:
tls-auth ta.key 0
Trong file cấu hình client, thêm dòng sau:
tls-auth ta.key 1

proto udp
Trong OpenVPN cho phép sử dụng 2 giao thức UDP & TCP, giao thức UDP sẽ bảo vệ khỏi cuộc tấn công DoS và port scanning tốt hơn hơn TCP.
proto udp

Unprivileged mode- Phương thức không đặc quyền (Linux only)

-  Trên Linux, có thể chạy hoàn toàn không đặc quyền, cấu hình có một chút phức tạp nhưng cung   cấp mức độ bảo mật tốt nhất.
Để làm được việc này, OpenVPN phải được cấu hình sử dụng giao diện iproute, điều này được thực hiện qua việc chỉ định - -enable-iproute2. Gói sudo nên được sử dụng trong hệ thống.
-  Cấu hình này sử dụng Linux để thay đổi quyền sử dụng thiết bị tun. Do đó user không có đặc quyền có thể truy cập nó. Ngoài ra nó sử dụng sudo để thực thi iproute, do đó các thuộc tính giao diện và bảng định tuyến có thể bị thay đổi.
Cấu hình OpenVPN:
-   Viết script sau và đặt nó vào /usr/local/sbin/unpriv-ip :
#!/bin/sh
sudo /sbin/ip $*
-  Thực hiện visudo, và thêm dòng sau để cho phép user ‘user1’ thực hiện /sbin/ip :
user ALL=(ALL) NOPASSWD: /sbin/ip
Ngoài ra có thể sử dụng cho nhóm, ví dụ cho nhóm users:
%user ALL=(ALL) NOPASSWD: /sbin/ip
Thêm dòng sau đây vào file cấu hình OPENVPN
dev tunX/tapX
iproute /usr/local/sbin/unpriv-ip
(Note: Phải chọn hằng X và chỉ định tun hoặc tap, không được cả 2)
Sau đây tạo tunX và cho phép ‘user1’ và nhóm ‘users’ truy cập nó
openvpn - -mktu -- dev tunX --type tun --user user1 --group users
Chạy OpenVPN trong khi người dùng không có đặc quyền. Hơn nữa chế độ bảo mật có thể được thêm bằng việc kiểm tra các thông số ở script /usr/local/sbin/unpriv-ip

Larger RSA keys

(Note: RSA- là thuật toán mã hóa khóa công khai, là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử và mã hóa. RSA sử dụng phổ biến trong thương mại điện tử và đảm bảo an toàn với điều kiện độ dài khóa đủ lớn)
Kích cỡ khóa RSA được điểu khiển bằng KEY_SIZE có thể thay đổi trong file easy-rsa/vars. Nó phải được cài đặt trước khi bất kỳ khóa nào được khởi tạo. Cài đặt 1024 (default), giá trị này có thể chấp nhận được và có thể tăng lên 2048 mà không ảnh hưởng tới hiệu năng VPN.

Larger symmetric keys (Các khóa đối xứng lớn hơn)

Theo mặc định OpenVPN sử dụng Blowfish- một lọai 128 bits mã hóa cân đối (symmetrical cipher)
OpenVPN tự động hỗ trợ bất kỳ kiểu mã hóa nào được hỗ trợ bởi thư viện OpenSSL  có thể sử dụng các cỡ khóa lớn hơn.
Example: 256-bit-version of AES (Advanced Encryption Standard) có thể được sử dụng bằng cách thêm dòng sau tới file cấu hình cả server và client.
cipher AES-256-CBC

Keep the root key (ca.key) on a standalone machine without a network connection (Giữ khóa root trên một máy standalone thông qua kết nối mạng.

Một trong những lợi ích an ninh sử dụng X509 PKI là ‘ca.key’ không nằm trên máy chủ OpenVPN. Trong một môi trường bảo mật cao, ta có thể chỉ định một máy đặc biệt cho các mục đích ký kết quan trọng, giữ cho máy này được bảo vệ vật lý và ngắt kết nối nó từ tất cả các mạng. Ổ đĩa rời có thể được sử đụng để di chuyển các file quan trọng khi cần thiết. Các biện pháp như vậy sẽ rất khó khăn cho kẻ tấn công thực hiện việc đánh cắp key root và hành vi trộm cắp vật lý của máy ký kết quan trọng.

GROUP 3: Introduction about Ethernet Bridging


        Ehernet Bridging chure yếu là kết hợp một interface Ethernet với một hoặc nhiều interface TAP ảo và nối chúng với nhau dưới sự hỗ trợ của một interface bridge. Các Ethernet bridge tương tự như một switch vật lý, có thể được sử dụng để kết nối nhiều interface Ethernet (vật lý or ảo) trên một máy trong khi chia sẻ một IP subnet
- Bằng cách chuyển tiếp một NIC vật lý với một OpenVPN-driven (định hướng). interface TAP tại 2 vị trí riêng biệt. Nó kết hợp 2 mạng Ethernet như một subnet Ethernet riêng biệt.
- Có 2 cách phân bổ IP address client:

  • Chỉ định dài IP client sử dụng server-bridge
  • Cấu hình DHCP server on LAN để cấp IP cho các VPN Client.
-  Virtual Bridge Interface

  • br
  • br0
-  Virtual TAP Interface

  • tap
  • tap0
 Áp dụng: Sau khi tìm hiểu xong Ethernet Bridge --> Ta đi thực hiện các bước cần thiết cài đặt interface cho đúng:

- Đảm báo packet bridge-utils được cài đặt.
- Sửa file script: bridge-start. Cài đặt các thông số br, tap, eth, eth_ip, eth_netmask và eth_broadcast tuân theo interface vật lý mà bạn muốn chuyển.
- Sử dụng command ifconfig để đưa ra các thông tin liên quan về mạng rồi điền vào các thông số bridge-start.
- Khi script bridge-start đã chạy --> Nó sẽ tạo một interface tap0 và chuyển nó với một interfacl đang hoạt động.

--> Next


Sửa file cấu hình,
Comment dòng dev tun và thay nó với dev tap0
Comment dòng bắt đầu với server và thay nó với
server-bridge 192.168.8.4 255.255.255.0 192.168.8.128 192.168.8.254

Bây giờ, cài đặt cho Linux Firewall chấp nhận các packet lưu thông từ các interface được tạo: tap0 và br0.
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT

Và giờ, OpenVPN bridge có thể started và stoped.

Reference: http://openvpn.net/index.php/open-so...-bridging.html

GROUP 4: PERFORM OPENVPN CLIENT ON WINDOWS MS

- Copy 3 file from VPN Server (ca.crt, client.crt, client.key) to C:/Program Files/OpenVPN/Config
- Copy the file "client.ovpn" from "C:/Program Files/OpenVPN/sample-config" to C:/Program Files/OpenVPN/Config and edit it like following example.

# the name specified when you made certificate
client

# protocol
proto udp

# device name specified in config on OpenVPN server
dev tap0

# specify OpenVPN server' global IP and port
# remote (OpenVPN server's grobal IP) (port)
remote 172.16.2.1 1194

# path for certificate and key
ca ca.crt
cert client1.crt
key client1.key

# keep name resolution
resolv-retry infinite

# no bind local port
nobind

# enable LZO compress
comp-lzo

# for re-connection
persist-key
persist-tun

# log level
verb 3

# the setting for getting parameter from server
pull

# the setting for gettingIP address from server
float

[3]
Copy "ca.crt", "client.crt", "client.key" made on the section of server's settigs under "C:Program FilesOpenVPN¤nfig".
[4]
Click the VPN icon and select "Connect".

References:
http://adityo.blog.binusian.org/?tag...tory-on-centos

ERRORS COMMON (Các lỗi thường gặp)


Khi Firewall chặn, lỗi khi kết nối Client có dạng như sau:

un Jan 02 16:31:36 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sun Jan 02 16:31:36 2011 Re-using SSL/TLS context
Sun Jan 02 16:31:36 2011 LZO compression initialized
Sun Jan 02 16:31:36 2011 Control Channel MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Jan 02 16:31:36 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sun Jan 02 16:31:36 2011 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Jan 02 16:31:36 2011 Local Options hash (VER=V4): 'd79ca330'
Sun Jan 02 16:31:36 2011 Expected Remote Options hash (VER=V4): 'f7df56b8'
Sun Jan 02 16:31:36 2011 UDPv4 link local: [undef]
Sun Jan 02 16:31:36 2011 UDPv4 link remote: 192.168.5.1:1194
Sun Jan 02 16:32:36 2011 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sun Jan 02 16:32:36 2011 TLS Error: TLS handshake failed
Sun Jan 02 16:32:36 2011 TCP/UDP: Closing socket
Sun Jan 02 16:32:36 2011 SIGUSR1[soft,tls-error] received, process restarting
Sun Jan 02 16:32:36 2011 Restart pause, 2 second(s)

Qúa trình lỗi trên lặp đi lặp lại nhiều lần nếu không thao tác Disconect.



Lỗi chưa cài interface

Còn một lỗi trên Windows ta hay bắt gặp, đó là phần mềm OpenVPN-CLient không cài đặt được device tun or tap0 gì đó (Vì các bạn phải hiểu dev này phải được cài để thực hiện kết nối VPN qua Interface này...nó giống như New Connection trong Windows đấy)
Lỗi: Windows route add command failed [adaptive]: returned error code 1

Chạy openvpn program với Administrator account --> Vào chỗ Program ở cửa sổ Windows --> remove cái dev ở OpenVPn đi, sau đó add lại --> Nó sẽ tự động add dev.

Vậy là Finish rồi đấy, mong với kiến thức hiện tại. Có thể giúp cộng đồng. Các bạn cũng vậy nhé.


Using OpenVPN on Ubuntu Client (Sử dụng OpenVPN trên Ubuntu Linux)

Bước 1: Cài đặt

#apt-get install openvpn

Bước 2: Cấu hình
#sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
#vim client.conf

Sửa và đảm bảo các Option sau được thiết lập:

dev tap0 //Vì trên Server mình đã chủ động sử dụng tap0
proto udp
remote 117.6.3.223 1194

ca /etc/openvpn/key/ca.crt
cert /etc/openvpn/key/tuantb_client.crt
key /etc/openvpn/key/tuantb_client.key

;tls-auth ta.key 1

Bước 3: Restart OpenVPN client

→ # /etc/init.d/openvpn restart
& # /etc/init.d/networking restart //Nếu không restart lại mạng thì không được đâu nhé, vì dev tap0 cũng cần được update mà.

#chkconfig openvpn off //Nên chọn cái này nhé.

--> Finish

 
--

TABATECH
Cung cấp giải pháp lưu trữ cho doanh nghiệp. 


Giải pháp lưu trữ mềm dẻo, hỗ trợ đa nền tảng mạnh mẽ, kết nối dữ liệu đạt hiệu năng cao. Đảm bảo hệ thống được vận hành thông suốt trong quá trình sử dụng.

1. Giải pháp lưu trữ cho doanh nghiệp vừa và nhỏ
2. Giải pháp lưu trữ cho khối chính phủ và doanh nghiệp lớn
3. Giải pháp lưu trữ cho nhà cung cấp điện toán đám mây (Cloud Computing Strorage)

Chúng tôi sẵn sàng đồng hành cùng quý doanh nghiệp để mang lại những hỗ trợ hiệu quả nhất trong suốt quá trình vận hành hệ thống!

Mọi chi tiết xin liên hệ: 


TA BA TUAN
Email:    tuantb@tabatech.vn
Mobile:  0949.242.832 hoặc 01638.369.743

Website: http://tabatech.vn
Địa chỉ: Số 56, Ngõ 126, Hào Nam, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.