Tải bản đầy đủ (.docx) (50 trang)

tìm hiểu giải pháp phần mềm mã nguồn mở openvpn trên linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.7 MB, 50 trang )

Báo Cáo Thực Tập Tốt Nghiệp
Đề tài: Tìm hiểu giải pháp mã nguồn mở OpenVPN
trong Linux
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
I. Lời cảm ơn
Em xin chân thành cảm ơn các thầy cô giáo bộ môn Kỹ thuật hệ thống
và mạng máy tính,những người đã dạy dỗ, trang bị cho em những kiến thức bổ
ích trong suối những năm học tập.
Em xin bày tỏ lòng cảm ơn sâu sắc nhất với thầy Bùi Thanh Phong, thầy
đã tận tình giúp đỡ,hướng dẫn và cho em những lời khuyên quý báu trong quá
trình thực tập.
Hà nội,ngày 24 tháng 2 năm 2014
Lê Công Thuỷ-53PM2-MSSV: 104653
2
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
II. Mục lục
III. Danh mục từ viết tắt
VPN : Virtual private network
ISP : Internet service provider
SSL : Secure Sockets Layer
NAS : Network-attached storage
OSI : Open Systems Interconnection Reference Model
IETF : Internet Engineering Task Force
GNU : General Public License
KDE: Desktop Environment
GNOME: GNU Network Object Model Environment
HTTPS : Hypertext Transfer Protocol Secure
TCP : Transmission Control Protocol
UDP : User Datagram Protocol


NAT : Network address translation
SSH : Secure Shell
LDAP : Lightweight Directory Access Protocol
IPsec : Internet Protocol Security
DNS : Domain Name System
3
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
IV. Lời mở đầu
Hiện nay,Internet đã phát triển mạnh mẽ cả về mặt mô hình lẫn tổ chức,
đáp ứng khá đầy đủ các nhu cầu của người sử dựng. Internet đã được thiết kế
để kết nối nhiều mạng với nhau và cho phép thông tin chuyển đến người sử
dụng một cách tự do và nhanh chóng.Để làm được điều này người ta sử dụng
một hệ thống các thiết bị định tuyến để kết nối các LAN và WAN với nhau.Các
máy tính được kết nối vào Internet thông qua các nhà cung cấp dịch vụ ISP.
Với Internet, những dịch vụ như đào tạo từ xa, mua hàng trực tuyến, tư vấn các
lĩnh vực và rất nhiều điều khác đã trở thành hiện thực. Tuy nhiên do Internet có
phạm vi toàn cầu và không một tổ chức, chính phủ cụ thể nào quản lý nên rất
khó khăn trong việc bảo mật và an toàn dữ liệu, cũng như việc quản lý dịch vụ.
Các doanh nghiệp có chỗi chi nhánh, cửa hàng ngày càng trở nên phổ
biến.Không những vậy, nhiều doanh nghiệp còn triển khai đội ngũ bán hàng
đến tận người dùng.Do đó, để kiểm soát, quản lý, tận dụng tốt nghuồn tài
nguyên, nhiều doanh nghiệp đã triển khai giải pháp phần mềm quản lý nguồn
tài nguyên có khả năng hỗ trợ truy cập, truy xuất thông tin từ xa. Tuy nhiên,
việc truy xuất cơ sở dữ liệu từ xa luôn đòi hỏi cao về vấn đề an toàn, bảo mật.
Để giải quyết vấn đề trên, nhiều doanh nghiệp đã chọn giải pháp mô
hình mạng riêng ảo VPN. Với mô hình mới này,người ta không phải đầu tư
thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mật và dộ tin cậy vậy
được bảo đảm, đồng thời có thể quản lý riêng sự hoạt động của magj này. VPN
cho phép người sử dụng làm việc tại nhà riêng , trên đường đi hoặc các văn

phòng chi nhánh có thể kết nối an toàn tới máy chủ của tổ chức mình bằng cơ
sở hạ tầng được cung cấp bởi mạng công cộng. Nhưng thông thường, triển khai
phần mềm VPN và phần cứng tốn nhiều thời gian và chi phí , do đó OpenVPN
là một giải pháp mã nguồn mở VPN hoàn toàn miễn phí và cực kỳ hiệu quả cho
các doanh nghiệp.
Nội dung báo cáo được trình bày theo 2 phần chính:
Lê Công Thuỷ-53PM2-MSSV: 104653
4
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
1.Những tìm hiểu cơ bản về VPN
2.Tìm hiểu về OpenVPN và triển khai trong mô hình máy ảo
V. Tổng quan về VPN
1. Định nghĩa về VPN
Trước kia khi một công ty,tổ chức muốn kết nối các văn phòng,chinh
nhánh với nhau họ phải thuê riêng một kênh đường truyền leased line từ các
ISP.Ngày nay với sự phát triển nhanh chóng và phổ biến của internet,việc thuê
một kênh riêng đã trở nên không hiệu quả,ngoài ra chi phí cho việc thuê kênh
riêng hiện nay là khá cao.Để đáp ứng hai yêu cầu hiệu quả và chi phí thì VPN
đã ra đời,đưa đến cho các doanh nghiệp giải pháp để kết nối các văn phòng và
chi nhánh.Vậy VPN là gì?
Có khá nhiều định nghĩa về VPN,em xin đưa một vài ví dụ cụ thể :
“Mạng riêng ảo hay VPN (viết tắt cho Virtual Private Network) là một
mạng dành riêng để kết nối các máy tính của các công ty,tập đoàn hay các tổ
chức với nhau thông qua mạng Internet công cộng.” nguồn: Wikipedia
“Một mạng VPN có thể hiểu là một thiết lập logic vật lý bảo mật được
thực hiện bởi những phần mềm đặc biệt.Thiết lập sự riêng tư bằng việc bảo vệ
kết nối điểm cuối” nguồn: OpenVPN-Markus Feiler
Nhưng có lẽ định nghĩa đơn giản nhất dành cho VPN là:
“Bản chất của VPN là một kết nối bảo mật giữa hai hoặc nhiều điểm của

mạng công cộng” nguồn: SSL VPN-Joseph Steinberg & Timothy Speed
5
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Hình 1: Mô Hình mạng riêng ảo (VPN)
2. Tại sao phải sử dụng VPN
VPN ra đời từ nhu cầu kết nối giữa các công ty mẹ với các công ty con
và chi nhánh.Chính vì vậy,cho tới nay thì các công ty,tổ chức chính là đối
tượng chính sử dụng VPN.Đặc biệt là các công ty có nhu cầu cao về việc trao
đổi thông tin,dữ liệu giữa các văn phòng với nhau nhưng lại không đòi hỏi yêu
cầu quá cao về tính bảo mật,cũng như dữ liệu.Vì vậy đối với các doanh
nghiệp,những lý do sau khiến mỗi đơn vị,tổ chức,công ty sử dụng VPN:
1. Giảm chi phí thường xuyên
Tiết kiệm 60% chi phí thuê đường truyền,cũng như là chi phí gọi đường
dài của những văn phòng ở xa.Với những nhân viên di động thì việc đăng nhập
vào mạng VPN chung của công ty thông qua các POP tại địa điểm đó.
2. Giảm chi phí đầu tư
So với việc phải đầu tư từ đầu như trước đây thì giờ đây mọi chi phí về
máy chủ,đường truyền,bộ định tuyến,bộ chuyển mạch … Các công ty có thể
thuê chúng từ các đơn vị cung cấp dịch vụ.Như vậy vừa giảm được chi phí đầu
tư trang thiết bị.
3. Giảm chi phí duy trì nơi hệ thống và bảo trì
Thuận tiện cho việc nâng cấp hay bảo trì trong quá trình sử dụng vì hiện
nay các công ty cung cấp dịch vụ sẽ chịu trách nhiệm bảo trì hệ thống họ cung
cấp hoặc nâng cấp theo nhu cầu của khách hàng.
4. Truy cập mọi lúc mọi nơi
Mọi nhân viên có thể sử dụng hạ tầng,dịch vụ của bên cung cấp trong
điều kiện cho phép để kết nối vào mạng VPN của công ty.Điều này đặc biệt
quan trọng thời kỳ hiện nay,khi mà thông tin không chỉ còn được đánh giá bằng
độ chính xác mà còn cả tính tức thời.

3. Kiến trúc của VPN
Một hệ thống VPN được xây dựng lên bởi 2 thành phần chính là
(Tunneling) đường hầm kết nối và (Secure services) các dịch vụ bảo mật cho
kết nối đó.Tunneling chính là thành phần “Virtual” và Sercure services là thành
phần “Private” của một mạng riêng ảo VPN(Virtual Private Network).
a) Đường hầm kết nối (Tunneling)
Lê Công Thuỷ-53PM2-MSSV: 104653
6
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Khác với việc thuê một đường truyền riêng các kết nối bằng việc sử
dụng cách tạo đường hầm không liên tục,mà chỉ được xác lập khi có yêu cầu
kết nối.Do vậy khi không còn được sử dụng các kết nối này sẽ được huỷ,giải
phóng băng thông,tài nguyên mạng cho các yêu cầu khác.Điều này cho thấy
một ưu điểm rất lớn của VPN so với việc thuê đường truyền riêng đó là sự linh
hoạt.
Cấu trúc logic của mạng được thiết lập dành cho thiết bị mạng tương
ứng của mạng đó mà không cần quan tâm đến hạ tầng mạng hiện có là một đặc
điểm “ảo” khác của VPN.Các thiết bị phần cứng của mạng đều trở nên tàng
hình với người dùng và thiết bị của mạng VPN.Chính vì thế trong quá trình tạo
ra đường hầm,những kết nối hình thành nên mạng riêng ảo không có cùng tính
chất vật lý với những kết nối cố định trong mạng Lan thông thường.
Tạo đường hầm chính là hình thành 2 kết nối đặc biệt giữa hai điểm cuối
trên mạng.Các gói tin IP trước khi chuyển đi phải được đóng gói,mã hoá gói tin
gốc và thêm IP header mới.Sau đó các gói tin sẽ được giải mã,tách bỏ phần tiêu
đề tại gateway của điểm đến,trước khi được chuyển đến điểm đến đầu cuối.
Đường hầm kết nối khiến việc định tuyến trở nên dễ dàng hơn,hoàn toàn
trong suốt với người sử dụng.
Có hai loại đường hầm kết nối thường trực và tạm thời.Tính hiệu quả và
tối ưu của một đường hầm kết nối thường trực là không cao.Do đó đường hầm

tạm thời thường được sử dụng hơn vì tính linh động và hữu dụng hơn cho
VPN.
Có hai kiểu kết nối hình thành giữa hai đầu kết nối của mỗi đường hầm
là Lan to Lan và Client to Lan.
(i) Lan to Lan
Kết nối lan to lan được hình thành giữa 2 văn phòng chi nhánh hoặc chi
nhánh với công ty.Các nhân viên tại những văn phòng và chi nhánh đều có thể
sử dụng đường hầm để trao đổi dữ liệu.
(ii) Client to lan
Kiểu kết nối client to lan dành cho các kết nối di động của các nhân viên
ở xa đến công ty hay chi nhánh.Để thực hiện được điều này,các máy client phải
chạy một phần mềm đặc biệt cho phép kết nối với gateway của công ty hay
chinh nhánh.Khi kết nối này được thực hiện thì đã xác lập một đường hầm kết
nối giữa công ty và nhân viên ở xa.
7
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
b)Dịch vụ bảo mật (secure services)
Nếu chỉ thực hiện tạo ra một đường hầm kết nối đến chi nhánh hay nhân
viên ở xa mà không hề có cơ chế bảo vệ cho các dữ liệu di chuyển trên nó thì
cũng như việc các ngân hàng chuyển tiền mà không có lực lượng bảo vệ
vậy.Tất cả các dữ liệu sẽ không được bảo vệ,hoàn toàn có thể bị đánh cắp,thay
đổi trên quá trình vận chuyển một cách dễ dàng.Chính vì vậy các cơ chế bảo
mật cho VPN chính là xương sống của giải pháp này.
Một mạng VPN cần cung cấp 4 chức năng bảo mật cho dữ liệu:
• Xác thực(Authentication): Đảm bảo dữ liệu đến từ một nguồn quy
định.
• Điều khiển truy cập (Access control) : hạn chế quyền từ những người
dùng bất hợp pháp.
• Tin cậy (Confidentiality): Ngăn chặn việc theo dõi hay sao chép dữ

liệu trong quá trình vận chuyển trên mạng.
• Tính toàn vẹn (Data integrity): đảm bảo dữ liệu không bị thay đổi,được
bảo toàn từ đầu gửi đến đầu nhận.
Các dịch vụ bảo mật trên được cung cấp tại lớp 2 (Data link) và lớp 3
(Network) trong mô hình 7 lớp OSI.Các dịch vụ bảo mật đều được triển khai
tại các lớp thấp của mô hình OSI làm giảm sự tác động đến người dùng.Việc
bảo mật có thể thực hiện tại các đầu cuối (end to end) hoặc giữa các nút (node
to node).
Bảo mật tại các điểm đầu cuối là hình thức bảo mật có được độ tin cậy
cao,ví dụ như tại 2 máy tính đầu cuối.Tuy vậy nhưng hình thức bảo mật đầu
cuối hay client to client lại có nhược điểm làm tang sự phức tạp cho người
dùng,khó khăn cho việc quản lý.
Trái với bảo mật điểm đầu cuối,bảo mật tại các nút thân thiện hơn với
người dùng cuối.Giảm số tác vụ có thể làm chậm hệ thống máy tính như mã
hoá hay giải mã.Tuy nhiên việc bảo mật tại các nút lại yêu cầu mạng sau nó
phải có độ tin cậy cao.Mỗi hình thức bảo mật đều có ưu điểm riêng,tuỳ theo
từng yêu cầu của hệ thống cần xây dựng mà chọn hình thức phù hợp.
Lê Công Thuỷ-53PM2-MSSV: 104653
8
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
4. Các giao thức trong VPN
a) Ipsec
mô hình Ipsec
Internet Security Protocol là một cấu trúc được khởi sướng và duy trì
phát triển bởi lực lượng chuyên trách về kỹ thuật liên mạng (IETF) nhằm cung
cấp các dịch vụ bảo mật cho giao thức Ipv4 và Ipv6.Nó được xây dựng để phục
vụ cho các cấu trúc tầng trên cùng,đúng hơn là tập chung vào các thuật toán mã
hoá và phương pháp trao đổi các khoá.Ipsec được thiết kế chạy trên ứng dụng
để bảo mật cho hệ thống mạng của chính nó.Nâng cấp Ipsec chỉ có nghĩa là

nâng cấp tính năng bảo mật,các ứng dụng mạng hiện tại có thể tiếp tục sử dụng
để truyền dữ liệu.
Ipsec cung cấp ba phương thức bảo mật đó là :
➢ Thuật toán mã hoá
➢ Thuật toán xác thực
➢ Quản lý khoá
Hai lợi ích chính bắt nguồn từ IPsec là các sản phẩm hoặc dịch vụ
IPSec tăng tính năng bảo mật bổ sung cũng như khả năng tương tác với các sản
9
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
phẩm khác IPSec tăng cường an ninh có nghĩa là xác thực toàn diện nhất và
mạnh mẽ nhất ,trao đổi khoá, và các thuật toán mã hóa , mạnh mẽ cho sử dụng
trong thế giới
Mặc dù IPSec vẫn còn trải qua thay đổi , nhiều nền tảng cơ bản đã được
đông lạnh đủ cho các nhà cung cấp để hoàn thiện , kiểm tra, và phân phối các
sản phẩm VPN.
IPSec được hỗ trợ hai kiểu mã hoá .Để bảo vệ khối lượng của mỗi gói
tin, trong khi các chế độ đường hầm mã hóa cả tiêu đề và khối lượng. Một cách
hợp lý đủ các chế độ đường hầm an toàn hơn, vì nó bảo vệ danh tính của người
gửi và người nhận, cùng với một số lĩnh vực ẩn IP khác có thể cung cấp cho
một người trung gian thông tin hữu ích.
Để Ipsec làm việc như mong đợi, tất cả các thiết bị phải chia sẻ một
khoá.ặMc dù các giao thức được sử dụng để mã hóa dữ liệu là rất quan trọng
vào thành công chung của hệ thống, rất nhiều công việc đã đi vào xác thực và
trao đổi khóa bằng người gửi và quá trình nhận.Tất nhiên nó được thực hiện
chủ yếu thông qua giao thức ISAKMP / oakley và X 0,509 hệ thống chứng
nhận kỹ thuật số.
b) ESP( Encapsulating Security Payload )
Lê Công Thuỷ-53PM2-MSSV: 104653

10
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Cấu trúc gói tin được đóng gói bằng giao thức ESP
đơn vị cơ bản của truyền trên internet là các gói tin IP, khi mà hầu hết
truyền thông đều dựa trên WAN và LAN . IPSec xử lý mã hóa ngay ở cấp IP
gói tin sử dụng giao thức mới, Encapsulating Security Protocol (ESP). ESP
được thiết kế để hỗ trợ hầu như bất kỳ loại mã hóa đối xứng, chẳng hạn như
DES hoặc triple DES.Hiện nay, ESP dựa trên tối thiểu 56-bit DES. ESP cũng
hỗ trợ một số xác thực, một phần chồng chéo với các giao thức Ipsec,AH: xác
thực header.Thông thường ESP có thể được sử dụng bên trong gói tin IP khác,
để ESP có thể được vận chuyển qua các thường xuyên Thay vì TCP bình
thường hoặc chỉ định gói tin UDP, các thông tin tiêu đề sẽ tuyên bố tải trọng
của gói tin là ESP được thay thế. Bởi vì nó được đóng gói trong phương thức
này, ESP có thể được vận chuyển qua các mạng và là ngay lập tức tương thích
ngược với phần lớn các phần cứng được sử dụng để mạng đường sang ngày
khác.
b) AH( Authentication header)
11
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Mô hình giao thức AH
ESP bảo vệ việc dữ liệu bằng cách mã hóa, giao thức tiêu đề xác thực
của IPSec xử lý chỉ là xác thực, mà không cần bảo mật. Giao thức AH có thể
được sử dụng kết hợp với ESP trong chế độ đường hầm hoặc là một đứng một
mình xác thực. Các giao thức xác thực tiêu đề xử lý đảm bảo các thông tin tiêu
đề IP nơi ESP là có liên quan với tải để hỗ trợ một IPSec chức năng cơ bản yêu
cầu triển khai của AH-chứa HMAC-SHA và HMAC-MD5 (HMAC là một hệ
thống xác thực đối xứng được hỗ trợ bởi hai mã băm này.
c) Internet key exchange,ISAMKP/Oakley

Lê Công Thuỷ-53PM2-MSSV: 104653
12
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Trao đổi thông báo giữa hai điểm cuối sử dụng giao thức IKE
Bất kỳ cuộc trò chuyện được bảo vệ giữa hai bên chỉ có ESP và AH
không hoàn thành bức tranh cho một hệ thống IPSec, để giao tiếp an toàn cho
cả hai bên phải có khả năng đàm phán phím để sử dụng trong khi thông tin liên
lạc đang xảy ra cộng với cả hai bên cần phải có khả năng quyết định các thuật
toán mã hóa và xác thực để sử dụng trao đổi khóa internet (IKE) giao thức
( trước đây gọi là ISAKMP / Oakley ) cung cấp xác thực của tất cả các đồng
nghiệp xử lý các chính sách an ninh mỗi một thực hiện và kiểm soát trao đổi
các khoá
Phát sinh khoá và thay đổi khoá rất quan trọng bởi vì thời gian càng lâu
số lượng dữ liệu có nguy cơ,dễ dàng hơn nó sẽ trở thành bản mã để đánh chặn
hơn để phân tích. Đây là khái niệm hoàn hảo chuyển tiếp bằng cách thay đổi
13
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
các khoá thường xuyên nó trở nên khó khăn cho ăn trộm mạng, phải thu thập
lượng lớn dữ liệu nếu muốn tiếp tục crack các khoá.
d) Iso X.509 v3( Digital Certificates)
Mô hình hệ thống xác thực sử dụng X.509v3 của RedhatOS
Mặc dù không phải là một giao thức bảo mật kiểu giống như ESP và
AH, hệ thống X.509 là quan trọng bởi vì nó cung cấp một mức độ kiểm soát
truy cập với một phạm vi lớn hơn. Bởi vì các hệ thống chứng chỉ X.509 được
sử dụng với các thiết bị cơ sở hạ tầng khóa công cộng khác và các phần mềm,
các nhà cung cấp IPsec đã chọn để kết hợp chúng vào thiết bị của họ để xử lý
xác thực. Quản lý giấy chứng nhận, như xử lý bởi một bên thứ ba đáng tin cậy,
sẽ đóng một vai trò lớn trong tương lai của bộ IPsec, và công việc đang được

thực hiện bởi các nhà cung cấp để có những sản phẩm của họ giao tiếp với các
CAs (Certificate Authorities) để xác thực.
e) LDAP( Lightweight directory access protocol)
Lê Công Thuỷ-53PM2-MSSV: 104653
14
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Ví dụ về server có sử dụng LDAP
Hệ thống X.509 là giao thức truy cập thư mục nhẹ, hoặc LDAP. LDAP
là một dịch vụ X.500 nhỏ hơn, dễ dàng hơn và hợp lý để thực hiện, điều này hỗ
trợ các giải pháp VPN khác nhau để cung cấp xác thực và quản lý giấy chứng
nhận. Sản phẩm phần cứng như Vịnh mạng Extranet LDAP Đổi sử dụng cũng
như một số giải pháp phần mềm phổ biến, chẳng hạn như Windows NT và
Novell. Nó đang trở thành phổ biến hơn để sử dụng hệ thống xác thực của bên
thứ ba đáng tin cậy (như LDAP và hệ thống thư mục X.500) để truy cập từ xa
đến một mạng công ty (hoặc một VPN).
f) Radius
15
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Hệ thống sử dụng Radius
Có hệ thống LDAP và X.500 cung cấp xác thực và quản lý giấy chứng
nhận cho người sử dụng bất cứ nơi nào trên thế giới, Radius là một hệ thống
xác thực sử dụng nhiều hơn cho tra cứu tổ chức trong nội bộ. Hệ thống radius
được phát triển như một tiêu chuẩn mở của công ty Livingstone _, và hiện chưa
_ bởi IETF, nhưng đang được xem xét. Gần đây, _ hệ thống Radius để tăng
cường khả năng client / server và nhà cung cấp cụ thể của của nó, cho phép các
nhà sản xuất để thích ứng sản phẩm và dịch vụ của họ sang các thị trường cụ
thể. Nhiều giải pháp VPN hiện để hỗ trợ xác thực bằng cách sử dụng Radius
hơn so với các hệ thống chứng nhận công cộng khác , nhưng một làn sóng hỗ

trợ cho hệ thống X.500 cũng được tiến hành.
g) PPTP(point to point tunneling protocol)
Giao thức PPTP
Lê Công Thuỷ-53PM2-MSSV: 104653
16
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Giao thức đường hầm point-to-point (PPTP) là một phần mở rộng của
giao thức PPP (point-to-point) . Các dịch vụ đường hầm cung cấp nền tảng cho
IP. PPP đã rất thích hợp để sửa đổi bởi vì chức năng của nó đã bắt chước hành
vi của những gì một VPN sẽ cần: một đường hầm điểm-điểm. Tất cả những gì
còn thiếu là bảo mật . PPTP, tuy nhiên, là nhiều hơn một kênh thông tin liên lạc
an toàn host-to-host, hơn là một Lan-to-Lan . Mặc dù nó hoàn toàn có thể định
tuyến lưu lượng qua một đường hầm PPTP, các giải pháp Ipsec là hộp số tốt
hơn cho loại ứng dụng.
5.Hệ thống mạng và VPN
5.1 Remote Access VPNs
Remote Access VPNs
Remote Access VPNs cho phép truy cập bất cứ lúc nào bằng Remote,
mobile và các thiết bị truyền thông của nhân viên các chi nhánh kết nối đến tài
nguyên mạng của tổ chức.
Remote Access VPNs mô tả việc các người dùng ở xa sử dụng các phần
mềm VPN để truy cập vào mạng Intranet của công ty thông qua gateway hoặc
VPN concertrator ( bản chất là một server), Vì lý do này,giải pháp này thường
được gọi là client/server. Trong giải pháp này, người dùng thường sử dụng các
công nghệ WAN truyền thống để tạo lại các tunnel về mạng riêng của họ.
17
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Một hướng phát triển khá mới trong remote access VPN là dùng

wireless VPN, trong đó một nhân viên có thể truy cập về mạng của họ thông
qua kết nối không dây. Trong thiết kế này, các kết nối không dây cần phải kết
nối về một trạm wireless và sau đó về mạng của công ty. Trong cả hai trường
hợp, phần mềm client trên máy PC đều cho phép khởi tạo các kết nối bảo mật,
còn được gọi là tunnel.
Một phần quan trọng của thiết kế này là việc thiết kế quá trình xác thực
ban đầu nhằm để đảm bảo là yêu cầu được xuất phát từ một nguồn tin cậy.
Thường thì giai đoạn ban đầu này dựa trên cùng một chính sách về bảo mật của
công ty. Chính sách bao gồm : Quy trình,kỹ thuật,máy chủ,điều khiển truy
cập,v.vv
Bằng việc triển khai Remote Access VPNs, những người dùng từ xa
hoặc các chi nhánh văn phòng chỉ cần cài đặt một kết nối cục bộ đến nhà cung
cấp dịch vụ ISP hoặc ISP's POP và kết nối đến tài nguyên thông qua Internet.
Việc sử dụng Remote Access VPNs cho thấy rất nhiều lợi ích:
• sự cần thiết của RAS và việc kết hợp với modem được loại trừ.
• Sự cần thiết hỗ trợ cho người dùng cá nhân được loại trừ bởi vì
kết nối từ xa đã được tạo điều kiện thuận lởi bởi ISP.
• Việc quay số từ những khoảng cách xa được loại trừ, thay vào đó,
những kết nối với khoảng cách xa sẽ được thay thế bởi các kết
nối cục bộ.
• Giảm giá thành chi phí cho các kết nối với khoảng cách xa.
• Do đây là một kết nối mang tính cục bộ, do vậy tốc độ kết nối sẽ
cao hơn so với kết nối trực tiếp đến những khoảng cách xa.
• VPNs cung cấp khả năng truy cập đến trung tâm tốt hơn bởi vì nó
hỗ trợ dịch vụ truy cập ở mức độ tối thiểu nhất cho dù có sự tăng
nhanh chóng các kết nối đồng thời đến mạng.
Nhưng bên cạnh những ưu điểm thì Remote Access VPNs vẫn tồn tại
những khiếm khuyết :
• Remote Access VPNs cũng không đảm bảo được chất lượng phục
vụ.

• Khả năng mất dữ liệu là rất cao, thêm nữa là các phân đoạn của
gói dữ liệu có thể đi ra ngoài và bị thất thoát.
Lê Công Thuỷ-53PM2-MSSV: 104653
18
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
• Do độ phức tạp của thuật toán mã hoá, protocol overhead tăng
đáng kể, điều này gây khó khăn cho quá trình xác nhận. Thêm
vào đó việc nén dữ liệu IP và PPP-based diễn ra vô cùng chậm
chạp.
• Do phải truyền dữ liệu thông qua Internet, nên khi trao đổi các dữ
liệu lớn hơn như các gói dữ liệu truyền thông, phim ảnh, âm
thanh sẽ rất chậm.
5.2 Site to Site (Lan to Lan)
Site to Site
Site to site VPN được áp dụng để cài đặt mạng từ một vị trí này kết nối
với mạng của một vị trí khác thông qua VPN. Trong hoàn cảnh này thì việc
chứng thực ban đầu giữa các thiết bị mạng được giao cho người sử dụng. Nơi
mà có một kết nối VPN được thiết lập giữa chúng. Khi đó các thiết bị này đóng
vai trò như là một gateway, và đảm bảo rằng việc lưu thông đã dược dự tính
trước cho các site khác. Các router và Firewall tương thích với VPN, và các bộ
tập trung VPN chuyên dụng đều cung cấp chức năng này.
Lan to Lan có thể được xem như là intranet VPN hoặc extranet VPN.
Nếu chúng ta xem xét dưới góc độ chứng thực nó có thể được xem như là một
intranet VPN, ngược lại chúng đươc xem như là một extranet VPN. Tính chặt
chẽ trong việc truy cập giữa các site có thẻ được điều khiển bởi cả hai( intranet
và extranet VPN) theo các site tương ứng của chúng. Giải pháp Site to Site
19
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014

VPN không phải là một remote access VPN nhưng nó được thêm vào đây là vì
tính chất hoàn thiện của nó.
Sự phân biệt giữa remote access VPN và Lan to Lan chỉ đơn thuần mang
tính chất tượng trưng và xa hơn là nó được cung cấp cho mục đích thảo luận.
Ví dụ như là các thiết bị VPN dựa trên phần cứng mới, ở đây để phân loại
được, chúng ta phải áp dụng cả hai cách, bởi vì yêu cầu phần cứng cho client
có thể xuất hiện nếu một thiết bị đang truy cập vào mạng. Mặc dù một mạng có
thể có nhiều thiết bị VPN đang vận hành.
Lan to Lan VPN là sự kết nối hai mạng riêng lẻ thông qua một đường
hầm bảo mật, đường hầm bảo mật này có thể sử dụng các giao thức PPTP,
L2TP, hoặc IPSec, mục đích của Lan to Lan là kết nối hai mạng không có
đường nối lại với nhau, không có việc thoả hiệp thích hợp, chứng thực, sự cẩn
mật của dữ liệu, bạn có thể thiết lập một Lan to Lan VPN thông qua sự kết hợp
của các thiết bị VPN Concentrators, Routers và Firewalls.
Kết nối Lan to Lan được thiết kế để tạo một kết nối mạng trực tiếp, hiệu
quả bất chất khoảng cách vật lý giữa chúng. Có thể kết nối này luân chuyển
thông qua internet hoặc một mạng không được tin cậy. Bản phải bảo đảm vấn
đề bảo mật bằng cách sử dụng sự mã hoá dữ liệu trên tất cả các gói dữ liệu
đang luân chuyển giữa các mạng đó.
Intranet VPNs: được sử dụng để kết nối đến các chi nhánh văn phòng
của tổ chức đến Backbone Router sử dụng campus router. Theo như mô hình
bên dưới sẽ rất tốn chi phí do phải dử dụng 2 router để thiết lập mạng, thêm
vào đó, việc triển khai, bảo trì, quản lý mạng Intranet Backbone sẽ rất tốn kém
còn tuỳ thuộc vào lưu lượng lưu thông.
Để giải quyết vấn đề trên, sự tốn kém của WAN backbone được thay thế
bởi các kết nối Internet với chi phí thấp. Với mô hình như vậy hiệu quả chi phí
hơn, do giảm số lượng router được sử dụng theo mô hình WAN backbone.
Giảm thiểu đáng kể số lượng hỗ trợ yêu cầu người dùng cá nhân qua toàn cầu,
các trạm ở một số remote site khác nhau. Kết nối nhanh hơn, tốt hơn.
Lê Công Thuỷ-53PM2-MSSV: 104653

20
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Intranet VPNs
Extranet VPNs: Không giống như Intranet và Remote Access-based,
Extranet không hoàn toàn cách li từ bên ngoài, Extranet cho phép truy cập
những tài nguyên mạng cần thiết của các đối tác kinh doanh, chẳng hạn như
khách hàng, nhà cung cáp, đối tác những người giữ vai trò quan trọng trong tổ
chức.
Do hoạt động trên môi trường Internet, bạn có thể lựa chọn nhà phân
phối khi lựa chọn và đưa ra phương pháp giải quyết tuỳ theo nhu cầu của tổ
chức. Bởi vì một phàn Internet-Connectivity được bảo trì bởi nhà cung cấp ISP
nên cũng giảm chi phí bảo trì khi thuê nhân viên bảo trì. Dễ dàng triển khai,
quản lý và chỉnh sửa thông tin.
21
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Extranet VPNs
5.3 Quá trình thiết lập một kết nối giữa Client và Server
Quá trình kết nối giữa Client và Server
Lê Công Thuỷ-53PM2-MSSV: 104653
22
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
1. Máy VPN cần kết nối ( VPN Client) tạo kết nối VPN tới máy chủ
cung cấp dịch vụ VPN (VPN Server) thông qua kết nối Internet.
2. Máy chủ cung cấp dịch vụ VPN trả lời kết nối tới Client
3. Client gửi chứng nhận kết nối dựa trên file cấu hình tới server
4. Server chứng thực kết nối và cấp phép cho kết nối tới client
5. Bắt đầu trao đổi dữ liệu giữa client và server

VI. Giải pháp mã nguồn mở OpenVPN trên Linux
23
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
1.Lịch sử của OpenVPN
Năm 2003,James Yonan đi du lịch ở châu Á và phải kết nối với văn
phòng qua các ISP của châu Á hoặc Nga.Ông nhận thấy thực tế rằng những kết
nối này đi qua những nước không đảm bảo được sự an toàn.Theo những nghiên
cứu của James thì có hai mục tiêu chính của một hệ thống VPN đó là tính an
toàn và khả dụng.Ipsec có thể chấp nhận được về mặt an toàn nhưng hệ thống
xử lý của nó khó thiết lập và cấu trúc phức tạp của nó làm nó dễ bị tổn thương
bởi các cuộc tấn công.Chính vì vậy James đã tiếp cận giải pháp dùng thiết bị
card mạng ảo có trong hệ điều hành Linux.Việc chọn thiết bị TUN/TAP cho
mạng Lan đã ngay lập tức đưa ra được tính linh hoạt mà các giải pháp VPN
khác không thể có được.Trong khi các giải pháp VPN nền tảng SSL/TLS khác
cần một trình duyệt để thiết lập kết nối thì openvpn chuẩn bị gần như những
thiết bị mạng thật trên gán gần như tất cả các hoạt động của mạng.Rồi Yohan
chọn tên OpenVPN với sự tôn trọng dành cho những thư viện và những
chương trình của dự án Open SSI, và muốn đưa ra thông điệp: Đây là mã
nguồn mở và phần mềm miễn phí.Open VPN sử dụng thiết bị Tun/Tap( hầu
như có sẵn trên các bản Linux) và OpenSSL để xác thực,mã hoá và giải mã khi
nhận đường truyền giữa hai bên thành chung một mạng.
James Yonan cha đẻ của OpenVPN
2.OpenVPN là gì?
Lê Công Thuỷ-53PM2-MSSV: 104653
24
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
Logo hiện nay của OpenVPN
OpenVPN là một phần mềm mạng riêng ảo mã nguồn mở dành cho việc

tạo các đường ống (tunnel) điểm-tới-điểm được mã hóa giữa các máy chủ.
Phần mềm này do James Yonan viết và được phổ biến dưới giấy phép GNU
GPL.
OpenVPN cho phép các máy đồng đẳng xác thực lẫn nhau bằng một
khóa bí mật được chia sẻ từ trước, chứng chỉ mã công khai (public key
certificate), hoặc tên người dùng/mật khẩu. Phần mềm này được cung cấp kèm
theo các hệ điều hành Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS
X, vàWindows 2000/XP. Nó có nhiều tính năng bảo mật và kiểm soát. Nó
không phải một mạng riêng ảo web, và không tương thích với IPsec hay các
gói VPN khác. Toàn bộ phần mềm gồm có một file nhị phân cho cả các kết nối
client và server, một file cấu hình không bắt buộc, và một hoặc nhiều file khóa
tùy theo phương thức xác thực được sử dụng.
Trang web hiện nay của OpenVPN
3.Ưu điểm của OpenVPN
25

×