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

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

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

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

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à

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

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ỗ

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ụ.

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

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status