Triển khai VPN trên nền tảng OpenVPN

In document I. MỤC ĐÍCH VÀ PHẠM VI TÀI LIỆU 1. Mục đích của tài liệu (Page 74-82)

III. INFRASTRUCTURE SECURITY (AN NINH HẠ TẦNG)

8. Triển khai VPN trên nền tảng OpenVPN

Page | 74 Copyright by Tocbatdat

8. Triển khai VPN trên nền tảng OpenVPN

Page | 75 Copyright by Tocbatdat

Hạ tầng khóa công khai - Public Key Infrastructure (PKI) được sử dụng để giải quyết vấn đề này. Nó dựa trên việc, mỗi bên sở hữu hai khóa, một khóa công khai (Public Key) được biết đến với tất cả mọi người và một khoá riêng (Private Key) được giữ bí mật. Quá trình này được sử dụng bởi OpenSSL, miễn phí và là phiên bản nguồn mở của SSL, được tích hợp trong OpenVPN, để xác thực các VPN cùng mức trước khi tiến hành mã hóa dữ liệu.

Hãy xem những ưu điểm của hai chế độ:

OpenVPN mode Pre-shared keys SSL

Chế độ mật mã Đối xứng Bất đối xứng/Đối

xứng

Thực hiện Dễ dàng Khó khăn

Tốc độ Nhanh Chậm

CPU sử dụng Thấp Cao

Trao đổi khóa Có Không

Thay đổi mới khóa mã Không Có

Xác thực thành phần ngang hàng

Không Có

b. Triển khai OpenVPN với SSL trên môi trường Ubuntu linux

OpenVPN sử dụng khóa công khai Public Key Infrastructure (PKI) để mã hóa băng thông VPN giữa các node. Một cách đơn giản của việc thiết lập một VPN với OpenVPN là để kết nối các client thông qua một interface cầu nối trên máy chủ VPN. Hướng dẫn này sẽ giả định với một node VPN, các máy chủ trong trường hợp này, có cấu hình một giao diện cầu nối.

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

Để cài đặt OpenVPN trong terminal của ubuntu nhập:

sudo apt-get install openvpn

Page | 76 Copyright by Tocbatdat Bước 2: Mô hình triển khai

Mô hình triển khai VPN. Serer-PT làm máy chủ VPN server và Client PC-PT đóng vai trò là VPN client kết nối đến Server thông qua Internet.

Server VPN cài đặt hệ điều hành ubuntu server. Client cài đặt hệ điều hành Ubuntu desktop.

Bước 3: Thiết lập Server Certificates

Sau khi cài đặt xong OpenVPN, ta sẽ tạo certificates cho VPN server.

Đầu tiên, sao chép thư mục easy-rsa đến/etc/openvpn. Điều này sẽ đảm bảo rằng bất kỳ thay đổi đối với các kịch bản sẽ không bị mất khi các gói phần mềm được cập nhật. Bạn cũng sẽ cần phải điều chỉnh các điều khoản trong thư mục easy-rsa để cho phép người dùng hiện tại tạo ra các tệp tin. Từ terminal nhập.

sudo mkdir /etc/openvpn/easy-rsa/

sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

sudo chown -R $USER /etc/openvpn/easy-rsa/

Page | 77 Copyright by Tocbatdat

Tiếp theo, chỉnh sửa /etc/openvpn/easy-rsa/vars theo thông tin của bạn:

export KEY_COUNTRY="VN"

export KEY_PROVINCE="NC"

export KEY_CITY="HANOI"

export KEY_ORG="NETPRO-ITI"

export KEY_EMAIL="chiennv@netpro.edu.vn"

Nhập để tạo server certificates:

cd /etc/openvpn/easy-rsa/

source vars ./clean-all

#./build-ca

./build-key-server server ./build-dh

./pkitool --initca

./pkitool --server server cd keys

openvpn --genkey --secret ta.key

sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/

Page | 78 Copyright by Tocbatdat Bước 4: thiết lập client certificates

Các VPN Client cũng cần một certificate để xác thực đến máy chủ. Để tạo ra certificate, nhập chuỗi sau đây vào terminal:

cd /etc/openvpn/easy-rsa/

source vars

./pkitool hostname

Thay thế hostname với tên máy thực tế kết nối với VPN Sao chép các tệp tin sau đây cho Client

 /etc/openvpn/ca.crt

 /etc/openvpn/easy-rsa/keys/hostname.crt

 /etc/openvpn/easy-rsa/keys/hostname.key

 /etc/openvpn/ta.key

Nhớ điều chỉnh tệp tin cho hostname của máy Client

Tốt nhất là sử dụng phương pháp an toàn để sao chép các certificate và key. Tiện ích SCP là một lựa chọn tốt, nhưng sao chép các tệp tin truyền thông đó cho Client cũng có thể làm việc tốt.

Bước 5: Cấu hình cho server

Bây giờ cấu hình máy chủ OpenVPN bằng cách tạo ra /etc/openvpn/server.conf từ tệp tin example. Trong terminal nhập:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/

sudo gzip -d /etc/openvpn/server.conf.gz

Điều chỉnh /etc/openvpn/server.conf thay đổi theo cấu hình dưới đây:

local 192.168.78.128

Page | 79 Copyright by Tocbatdat dev tap0

[file ca filename.crt phai chuan /etc/openvpn/]

[cert,key cung tuong tu]

;up "/etc/openvpn/up.sh br0"

;down "/etc/openvpn/down.sh br0"

;server 10.8.0.0 255.255.255.0

server-bridge 192.168.78.128 255.255.255.0 192.168.78.50 192.168.78.100 push "route 192.168.78.128 255.255.255.0"

push "dhcp-option DNS 192.168.78.128"

;push "dhcp-option DOMAIN netpro.edu.vn"

tls-auth ta.key 0 # This file is secret user nobody

group nogroup

log-append openvpn.log verb 2

 local: là địac hỉ IP của giao diện cầu nối.

 server-bridge: cần khi cấu hình sử dụng cầu nối. 172.18.100.101 255.255.255.0 là phần giao diện cầu nối và mặt nạ. Phạm vi IP 172.18.100.105 172.18.100.200 là phạm vi địa chỉ IP sẽ được giao cho clients.

 push: là chỉ thị thêm các kết nối mạng cho Client

 user and group: cấu hình mà người dùng và nhóm OpenVPN daemon thực hiện

Page | 80 Copyright by Tocbatdat

Thay thế tất cả các địa chỉ IP và tên miền trên với mạng của bạn

Tiếp theo, tạo ra một vài kịch bản để thêm giao diện khai thác cầu nối. Tạo /etc/openvpn/up.sh:

#!/bin/sh BR=$1 DEV=$2 MTU=$3

/sbin/ifconfig $DEV mtu $MTU promisc up /usr/sbin/brctl addif $BR $DEV

Và /etc/openvpn/down.sh:

#!/bin/sh BR=$1 DEV=$2

/usr/sbin/brctl delif $BR $DEV /sbin/ifconfig $DEV down Sau đó phân quyền:

sudo chmod 755 /etc/openvpn/down.sh sudo chmod 755 /etc/openvpn/up.sh

Và cấu hình máy chủ, khởi động lại OpenVPN bằng cách nhập:

sudo /etc/init.d/openvpn restart Bước 6: Cấu hình cho client.

Page | 81 Copyright by Tocbatdat Đầu tiên cài OpenVPN cho Client:

sudo apt-get install openvpn

Sau đó với cấu hình máy chủ và certificates của client sao chép vào thư mục /etc/openvpn/, tạo ra một tệp tin cấu hình client bằng cách sao chép các example. Trong terminal của máy client nhập:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn Thay đổi /etc/openvpn/client.conf theo cấu hình:

dev tap

remote 192.168.78.128 1194 cert hostname.crt

key hostname.key tls-auth ta.key 1

Thay thế vpn.example.com bằng hostname máy chủ VPN của bạn, và hostname.* với actual certificate và key filenames.

Cuối cùng restart OpenVPN:

sudo /etc/init.d/openvpn restart

Bây giờ bạn có thể kết nối mạng Lan từ xa với VPN

Page | 82 Copyright by Tocbatdat

9. Ứng dụng VPN bảo vệ hệ thống Wifi

In document I. MỤC ĐÍCH VÀ PHẠM VI TÀI LIỆU 1. Mục đích của tài liệu (Page 74-82)