th chuyên đề 2
TRANSCRIPT
Muc luc
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT....................................................................21.1. Giơi thiêu vê VPN..................................................................................2
1.1.1. Mục đích...........................................................................................21.1.2. Các Mô hình VPN............................................................................3
1.2. Giơi thiêu OPENVPN............................................................................6
CHƯƠNG 2. CAI ĐĂT VA CÂU HINH OPENVPN SERVER.....................72.1. Cai đăt.....................................................................................................8
2.1.1. Thông tin câu hình máy OPENVPN Server.....................................82.1.2. Cai đăt OPENVPN...........................................................................8
2.2. Câu hình.................................................................................................92.2.1. EASY-RSA......................................................................................92.2.2. Câu hình các biên khoa....................................................................92.2.3. Câu hình OPENVPN Server..........................................................12
2.3. Triên khai OpenVPN Server................................................................152.3.1. Các lênh khơi tao OpenVPN..........................................................152.3.2. Tao chưng chi xác thưc cho Client VPN va câu hình Cho Client
VPN 16
CHƯƠNG 3. CAI ĐĂT VA CÂU HINH OPENVPN CLIENT....................203.1. Cai đăt va câu hình trên máy UBUNTU..............................................20
3.1.1. Thông tin câu hình máy OPENVPN Client Ubuntu......................203.1.2. Cai đăt OPENVPN.........................................................................203.1.3. Khơi tao OpenVPN Client.............................................................21
3.2. Cai đăt va câu hình trên máy WINDOWS...........................................233.2.1. Thông tin câu hình máy OPENVPN Client WINDOWS..............233.2.2. Cai đăt.............................................................................................233.2.3. Khơi chay OpenVPN Client...........................................................23
Chương 1. CƠ SỞ LÝ THUYẾT
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
1.1. Giơi thiêu vê VPN
Mạng riêng ảo hay VPN (viêt tắt cho Virtual Private Network) la
một mang danh riêng đê kêt nối các máy tính của các công ty, tập đoan hay các tổ
chưc vơi nhau thông qua mang Internet công cộng.
Hinh 1-1: Mô hinh sư dung VPN
1.1.1. Muc đích
Công nghê VPN chi rõ 3 yêu cầu cơ bản:
− Cung câp truy nhập từ xa tơi tai nguyên của tổ chưc mọi lúc, mọi nơi.
− Kêt nối các chi nhánh văn phòng vơi nhau.
− Kiêm soát truy nhập của khách hang, nha cung câp va các thưc thê bên
ngoai tơi những tai nguyên của tổ chưc.
1.1.2. Các Mô hinh VPN
Các mô hinh VPN bao gồm:
Truy Cập từ xa (remote-Access)
Trang 2
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hay cũng được gọi la Mạng quay số riêng ảo (Virtual Private Dial-up
Network) hay VPDN, đây la dang kêt nối User-to-Lan áp dụng cho các công ty ma
các nhân viên co nhu cầu kêt nối tơi mang riêng (private network) từ các địa điêm
từ xa va bằng các thiêt bị khác nhau.
Khi VPN được triên khai, các nhân viên chi viêc kêt nối Internet thông qua
các ISPs va sử dụng các phần mêm VPN phía khách đê truy cập mang công ty của
họ. Các công ty khi sử dụng loai kêt nối nay la những hãng lơn vơi hang trăm nhân
viên thương mai. Các Truy Cập từ xa VPN đảm bảo các kêt nối được bảo mật,mã
hoá giữa mang riêng rẽ của công ty vơi các nhân viên từ xa qua một nha cung câp
dịch vụ thư ba (third-party)
Hinh 1-2: Mô hinh VPN Remote-Access
Co hai kiêu Truy cập từ xa VPN:
VPN dùng riêng
Trang 3
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Khơi tao bơi phía khách (Client-Initiated) – Người dùng từ xa sử dụng
phần mêm VPN client đê thiêt lập một đường hầm an toan tơi mang riêng
thông qua một ISP trung gian.
VPN dùng 1 minh
Khơi tao bơi NAS (Network Access Server-initiated) – Người dùng từ xa
quay số tơi một ISP. NAS sẽ thiêt lập một đường hầm an toan tơi mang riêng
cần kêt nối.
Vơi Truy cập từ xa VPN, các nhân viên di động va nhân viên lam viêc ơ nha
chi phải trả chi phí cho cuộc gọi nội bộ đê kêt nối tơi ISP va kêt nối tơi mang riêng
của công ty, tổ chưc. Các thiêt bị phía máy chủ VPN co thê la Cisco Routers, PIX
Firewalls hoăc VPN Concentrators, phía client la các phần mêm VPN hoăc Cisco
Routers.
Site-to-Site
Bằng viêc sử dụng một thiêt bị chuyên dụng va cơ chê bảo mật diên rộng, mỗi
công ty co thê tao kêt nối vơi rât nhiêu các site qua một mang công cộng như
Internet.
Hinh 1-3: Mô hinh VPN Site-to-Site
Site-to-site VPN co thê thuộc một trong hai dang sau:
Intranet VPN
Trang 4
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Áp dụng trong trường hợp công ty co một hoăc nhiêu địa điêm ơ xa, mỗi
địa điêm đêu đã co một mang cục bộ LAN. Khi đo họ co thê xây dưng một
mang riêng ảo đê kêt nối các mang cục bộ vao một mang riêng thống nhât.
Hinh 1-4: Mô hinh Intranet VPN
Extranet VPN
Khi một công ty co một mối quan hê mật thiêt vơi một công ty khác (ví dụ
như, một đối tác, nha hỗ trợ hay khách hang), họ co thê xây dưng một mang
extranet VPN đê kêt nối kiêu mang Lan vơi mang LAN va cho phép các công
ty đo co thê lam viêc trong một môi trường co chia sẻ tai nguyên.
Hinh 1-5: Mô hinh Extranet VPN
Trang 5
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
1.2. Giơi thiêu OPENVPN
OpenVPN la một giải pháp mang riêng ảo co nguồn mơ rộng, miễn phí va
được coi trọng. No chay trên hầu hêt các phiên bản của Windows, Mac OS X va
Linux. OpenVPN dưa trên nên tảng SSL, co nghĩa la cùng kiêu mã hoa vơi truy cập
trang mang an toan qua giao thưc HTTPS.
OpenVPN cho phép các máy đồng đẳng xác thưc lẫn nhau bằng một khoa bí
mật được chia sẻ từ trươc, chưng chi mã công khai (public key certificate), hoăc tên
người dùng/mật khẩu. Phần mêm nay được cung câp kèm theo các hê điêu
hanh Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, va Windows
2000/XP. No co nhiêu tính năng bảo mật va kiêm soát. No không phải một mang
riêng ảo web, va không tương thích vơi IPsec hay các goi VPN khác. Toan bộ phần
mêm gồm co một file nhị phân cho cả các kêt nối client va server, một file câu
hình không bắt buộc, va một hoăc nhiêu file khoa tùy theo phương thưc xác thưc
được sử dụng.
Trong một hê thống OpenVPN, co một máy tính được thiêt lập như la một
máy chủ (tai một địa điêm ma Internet không bị han chê), va một hoăc nhiêu máy
khách (client). Máy chủ phải được thiêt lập đê co thê truy cập vao Internet ma
không bị chăn bơi tường lưa va vơi một địa chỉ IP công khai, dễ định tuyên (ơ
một số nơi, người thiêt lập máy chủ co thê phải yêu cầu điêu nay từ ISP của họ).
Mỗi máy khách kêt nối đên máy chủ VPN va tao ra một "đường hầm" đê đôi bên
liên lac thông tin.
Chương 2. Cai đăt va câu hinh OpenVPN Server
Trang 6
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 2-1: Mô hinh triên khai
Trang 7
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
2.1. Cai đăt
2.1.1. Thông tin câu hinh máy OPENVPN Server
− Ethernet device : eth0
− Ip address : 192.168.1.2
− Subnet address : 192.168.1.0
− Netmask : 255.255.255.0
− Default Gateway Address : 192.168.1.1
− Broadcast Address : 192.168.1.255
− Địa chi bên ngoai 10.10.10.1
2.1.2. Cai đăt OPENVPN
Máy OPENVPN Server co kêt nối ra mang Internet
Trên Terminal đánh lênh: sudo apt-get install openvpn
Hinh 2-2: Cai đăt OPENVPN
Trang 8
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
2.2. Câu hinh
2.2.1. EASY-RSA
OpenVPN cung câp công cụ nén "easy-rsa". Mã lênh nay nằm trong thư
mục măc định/usr/share/doc/openvpn/examples/easy-rsa/. Ta cần chuyên no sang
thư mục /etc/openvpn đê hoat động ổn định va hiêu quả hơn.
Tao thư mục mơi easy-rsa trong thư mục /etc/openvpn
Trên Terminal đánh lênh: sudo mkdir /etc/openvpn/easy-rsa
Sao chép các công cụ nén “easy-rsa” vao thư mục /etc/openvpn/easy-rsa
Trên Terminal đánh lênh:
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Phân quyên trên thư mục easy-rsa cho phép người dùng tao các tập tin mơi
Trên Terminal đánh lênh: sudo chown -R $USER /etc/openvpn/easy-rsa/
Hinh 2-3: Sao chep công cu easy-rsa
2.2.2. Câu hinh các biên khoa
Trươc khi tao các khoa (public key) cho OpenVPN, cần câu hình một số biên
trong bảng mã easy-rsa. Các biên nay nằm gần cuối
file /etc/openvpn/easy-rsa/2.0/vars.
Trên Terminal đánh lênh: sudo nano /etc/openvpn/easy-rsa/vars
Chinh sửa /etc/openvpn/easy-rsa/vars theo câu hình hê thống.
Trang 9
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh2-4: Câu hinh các biên khoa
Lập Public Key Infrastructure (PKI)
Thay đổi thư mục hiên hanh:
Trên Terminal đánh lênh: cd /etc/openvpn/easy-rsa/
Câu hình quyên va public key:
Trên Terminal đánh lênh: source vars
./clean-all
./pkitool –initca
Tạo liên kêt Diffie Hellman Parameters
"Diffie Hellman Parameters" quản lý các phương thưc trao đổi khoa va xác
thưc của máy chủ OpenVPN.
Trên Terminal đánh lênh: ./build-dh
Trang 10
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 2-5: Lập Public Key Infrastructure (PKI) va
Tạo liên kêt Diffie Hellman Parameters
Tạo các Certificates
Vơi các quyên đã co, tao các khoa chính (private key) cho máy chủ.
Trên Terminal đánh lênh: ./pkitool --server server
Tao một khoa chia sẻ bí mật sử dụng tls-auth được sử dụng ngoai các giây
chưng nhận tiêu chuẩn RSA certificate/key:
Trên Terminal đánh lênh: cd keys
openvpn --genkey --secret ta.key
Thay đổi vị trí khoa
Các khoa va chưng chi của máy chủ cần phải thay đổi vị trí đên thư mục
/etc/openvpn đê máy chủ OpenVPN co thê truy cập. Các file nay la:
ca.crt
ca.key
ta.key
dh1024.pem
server.crt
server.key
Trên Terminal đánh lênh:
Trang 11
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
sudo cp server.crt server.key ca.crt ca.key dh1024.pem ta.key /etc/openvpn/
Hinh 2-6: Tạo các Certificates
2.2.3. Câu hinh OPENVPN Server
Câu hình các file trong máy chủ, tai thư mục:
/usr/share/doc/openvpn/examples/sample-config-files.
Câu lênh sau cho phép lây các file câu hình mẫu va chuyên tơi các thư mục
yêu cầu:
Trên Terminal đánh lênh:
sudo cp
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
Chinh sửa file câu hình openvpn server:
Trên Terminal đánh lênh: sudo nano /etc/openvpn/server.conf
Trang 12
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 2-7: Chỉnh sưa file câu hinh Openvpn Server
Thay đổi câu hình đoan thông tin sau :
# Địa chi IP của cổng ma OpenVPN lắng nghe yêu cầu kêt nối
local 172.18.100.101
# Cổng TCP/UDP Port ma OpenVPN lắng nghe
port 1194
# Giao thưc ma OpenVPN sử dụng
proto udp
# OpenVPN sử dụng giao diên mang ảo TUN
dev tun0
# Khai báo các file biên khoa
ca ca.crt
cert server.crt
key server.key
Trang 13
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
# Khai báo liên kêt Diffie Hellman Parameters
dh dh1024.pem
# Khai báo chê độ máy chủ va cung câp một mang VPN
server 192.168.1.0 255.255.255.0
# Khai báo file lưu hồ sơ Client
ifconfig-pool-persist ipp.txt
# Khai báo định tuyên cho Client đê no thây được các mang con khác
push "route 192.168.1.0 255.255.255.0"
# Khai báo máy chủ phân giải tên miên DNS
push “dhcp-option DNS 8.8.8.8”
# Khai báo cho phép các Client thây được nhau
Client-to-client
# Đối vơi bảo mật thêm ngoai được cung câp bơi SSL / TLS
# , tao ra một "HMAC firewall"
# Đê giúp ngăn chăn các cuộc tân công DoS va lũ lụt cổng UDP.
# Tao ra bơi: OpenVPN - genkey - secret ta.key
# Các máy chủ va mỗi khách hang phải co một bản sao của khoa nay.
# Tham số la "0" trên máy chủ va "1" trên máy khách.
tls-auth ta.key 0 # This file is secret
# Chọn một thuật toán mã hoa mật mã.
Cipher AES-128-CBC
# Khai báo số lượng được kêt nối cùng lúc đên OpenVPN Server
Max client 10
user nobody
group nogroup
# Khai báo lưu file log
status openvpn-status.log
log openvpn.log
Trang 14
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
2.3. Triên khai OpenVPN Server
2.3.1. Các lênh khơi tạo OpenVPN
Khơi đông OpenVPN Server
Trên Terminal đánh lênh: sudo service openvpn start
hoăc sudo /etc/init.d/openvpn start
Dừng OpenVPN Server
Trên Terminal đánh lênh: sudo service openvpn stop
hoăc sudo /etc/init.d/openvpn stop
Khơi đông lại OpenVPN Server
Trên Terminal đánh lênh: sudo service openvpn restart
hoăc sudo /etc/init.d/openvpn restart
Nạp lại OpenVPN Server
Trên Terminal đánh lênh: sudo service openvpn force-reload
hoăc sudo /etc/init.d/openvpn force-reload
Xem trạng thái OpenVPN Server
Trên Terminal đánh lênh: sudo service openvpn status
hoăc sudo /etc/init.d/openvpn status
Hinh 2-8 : Triên khai OpenVPN Server
Trang 15
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Sau khi khơi tao thanh công sẽ co thêm một giao diên kêt nối ảo tun0 đê kêt
nối đên OpenVPN Client
Trên Terminal đánh lênh: ifconfig
Hinh 2-9: Các giao diên kêt nối cua OpenVPN Server
2.3.2. Tạo chưng chỉ xác thưc cho Client VPN va câu hinh Cho Client VPN
Tạo chưng chỉ xác thưc
Các Client VPN cũng cần co một giây chưng nhận đê xác nhận chính no vao
máy chủ. Đê tao chưng chi:
Trên Terminal đánh lênh: cd /etc/openvpn/easy-rsa/
source vars
./pkitool hostname
#vơi hostname la tên cua chưng chi
Trang 16
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 2-10: Tạo chưng chỉ cho máy Client VPN
Chỉnh sưa file câu hinh Client VPN
Sao chép file câu hình Client VPN mẫu vao thư mục /etc/openvpn va chinh
sửa
Trên Terminal đánh lênh:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf
/etc/openvpn
sudo nano /etc/openvpn/client.conf
Trang 17
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 2-11: Chỉnh sưa file câu hinh Client VPN
Thay đổi câu hình đoan thông tin sau :
# Chi định kêt nối la Client
client
# Giao thưc ma OpenVPN sử dụng
proto udp
# OpenVPN sử dụng giao diên mang ảo TUN
dev tun
# Khai báo địa chi Server va cổng kêt nối
# Ơ đây địa chi sẽ la địa chi bên ngoai của mang đăt máy OpenVPN Server
# Do router sử dụng chuyên đổi địa chi NAT
# Va trên router co câu hình Forward đên địa chi máy chủ OpenVPN
Remote 10.10.10.1 1194
Trang 18
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
# Khai báo các file biên khoa
ca ca.crt
cert client.crt
key client.key
# Đối vơi bảo mật thêm ngoai được cung câp bơi SSL / TLS
# , tao ra một "HMAC firewall"
# Đê giúp ngăn chăn các cuộc tân công DoS va lũ lụt cổng UDP.
# Tao ra bơi: OpenVPN - genkey - secret ta.key
# Các máy chủ va mỗi khách hang phải co một bản sao của khoa nay.
# Tham số la "0" trên máy chủ va "1" trên máy khách.
tls-auth ta.key 1 # This file is secret
# Chọn một thuật toán mã hoa mật mã.
Cipher AES-128-CBC
Gưi các tập tin chưng chỉ va file câu hinh cho Client VPN cân kêt nối
/etc/openvpn/client.conf
/etc/openvpn/ca.crt
/etc/openvpn/easy-rsa/keys/hostname.crt
/etc/openvpn/easy-rsa/keys/hostname.key
/etc/openvpn/ta.key
Chương 3. Cai đăt va câu hinh OpenVPN Client
Trang 19
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
3.1. Cai đăt va câu hinh trên máy UBUNTU
3.1.1. Thông tin câu hinh máy OPENVPN Client Ubuntu
− Ethernet device : eth0
− Ip address : 172.168.1.2
− Subnet address : 172.168.1.0
− Netmask : 255.255.255.0
− Default Gateway Address : 172.168.1.1
− Broadcast Address : 172.168.1.255
3.1.2. Cai đăt OPENVPN
Máy OPENVPN Client co kêt nối ra mang Internet
Trên Terminal đánh lênh: sudo apt-get install openvpn
Hinh 3-1: Cai đăt OpenVPN trên Ubuntu
Sao chép các chưng chi va file câu hình từ OpenVPN Server vao thư mục
/etc/openvpn
Trang 20
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
3.1.3. Khơi tạo OpenVPN Client
Khơi đông OpenVPN Client
Trên Terminal đánh lênh: sudo service openvpn start
hoăc sudo /etc/init.d/openvpn start
Dừng OpenVPN Client
Trên Terminal đánh lênh: sudo service openvpn stop
hoăc sudo /etc/init.d/openvpn stop
Khơi đông lại OpenVPN Client
Trên Terminal đánh lênh: sudo service openvpn restart
hoăc sudo /etc/init.d/openvpn restart
Nạp lại OpenVPN Client
Trên Terminal đánh lênh: sudo service openvpn force-reload
hoăc sudo /etc/init.d/openvpn force-reload
Xem trạng thái OpenVPN Client
Trên Terminal đánh lênh: sudo service openvpn status
hoăc sudo /etc/init.d/openvpn status
Trang 21
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 3-2: Khơi tạo OpenVPN Client
Sau khi chay thanh công OpenVPN Client sẽ co thêm một giao diên kêt nối
ảo tun0 vơi địa chi Ip nhận từ OpenVPN Server đê liên lac đên mang LAN của
OpenVPN Server
Trên Terminal đánh lênh: ifconfig
Hinh 3-3: Các cổng kêt nối trên OpenVPN Client
Trang 22
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
3.2. Cai đăt va câu hinh trên máy WINDOWS
3.2.1. Thông tin câu hinh máy OPENVPN Client WINDOWS
− Ethernet device : Local Area Conection
− Ip address : 172.168.1.3
− Subnet address : 172.168.1.0
− Netmask : 255.255.255.0
− Default Gateway Address : 172.168.1.1
− Broadcast Address : 172.168.1.255
− Địa chi bên ngoai: 10.10.10.2
3.2.2. Cai đăt
Truy cập vao trang web: http://openvpn.net/index.php/openvpn-client.html
Tải vê phiên bản OpenVPN cho Client sử dụng Windows
Cai đăt OpenVPN Client vao máy Windows
Chay file openvpn-x.x.x-install.exe đê cai đăt
Sau khi cai đăt xong sẽ co thêm một giao diên kêt nối la Local Area
Connection 2 đê kêt nối đên OpenVPN Server
Sao chép các chưng chi va file câu hình vao thư mục
C:\Program Files\OpenVPN\config
Đổi tên file client.conf thanh client.ovpn
3.2.3. Khơi chạy OpenVPN Client
Chay chương trình OpenVPN GUI sẽ xuât hiên icon của chương trình trên
thanh Taskbar. Kick chuột phải lên icon kick Connect
Trang 23
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Hinh 3-4: OpenVPN Client kêt nối đên OpenVPN Server
Kêt nối thanh công sẽ như hình sau:
Hinh 3-5: Kêt nối thanh công
Trang 24
Tim hiêu va khai thac DHCP Server Linux Bộ môn Mạng va Truyền Thông
Các giao diên kêt nối của máy Windows sau khi kêt nối đên OpenVPN Server
Hinh 3-5: Các giao diên kêt nối cua OpenVPN Client Windows
Trang 25