Professional Documents
Culture Documents
CS 226 O (NHÓM 4 openVPN)
CS 226 O (NHÓM 4 openVPN)
ĐỒ ÁN NHÓM
LỚP : CS 226 O
THỰC HIỆN ĐỀ TÀI: OPENVPN
STT MSSV HỌ TÊN SINH VIÊN ĐIỂM SỐ ĐIỂM CHỮ
Đà Nẵng, 10/2023
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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 HỆ ĐIỀU HÀNH
UNIX / LINUX,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 HOÀNG PHI CƯỜNG,
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.
2
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
3
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
4
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Nội dung báo cáo được trình bày theo 2 phần chính:
5
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
“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
6
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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:
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).
7
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
8
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Một mạng VPN cần cung cấp 4 chức năng bảo mật cho dữ liệu:
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.
9
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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à :
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
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.
10
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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ố.
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ư
11
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
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
12
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
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
13
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
( 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
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á.
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.
14
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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
October 10, 2023
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.
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
16
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
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ọ.
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
17
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
18
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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
19
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
và extranet VPN) theo các site tương ứng của chúng. Giải pháp Site to Site
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.
20
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Intranet VPNs
21
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Extranet VPNs
5.3 Quá trình thiết lập một kết nối giữa Client và Server
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.
22
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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
23
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
2. OpenVPN là gì?
24
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
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.
25
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Bảo vệ người làm việc bên ngoài bằng bức tường lửa nội bộ
Các kết nối OpenVPN có thể đi qua được hầu hết mọi tường lửa
và proxy: Khi truy cập các trang web HTTPS, thì đường hầm OpenVPN làm
việc.Việc thiết lập đường hầm OpenVPN bị cấm là rất hiếm.OpenVPN có hỗ
trợ uỷ quyền đầy đủ bao gồm xác thực.
Chỉ cần một cổng trong tường lửa được mở là cho phép nhiều kết
nối vào: Kể từ phần mềm OpenVPN 2.0, máy chủ đặc biệt này cho phép nhiều
kết nối vào trên cùng một cổng TCP hoặc UDP, đồng thời vẫn sử dụng các cấu
hình khác nhau cho mỗi một kết nối.
Giao diện ảo chấp nhận các quy tắc về tường lửa: Tất cả các quy
tắc, các cơ chế chuyển tiếp, và NAT có thể dùng chung đường hầm OpenVPN.
Nhưng giao thức cũng có thể, có thể tạo đường hầm VPN khác như IPsec bên
trong đường hầm OpenVPN
Độ linh hoạt cao với khả năng mở rộng kịch bản: OpenVPN cung
cấp nhiều điểm trong quá trình thiết lập kết nối để bắt đầu các kịch bản riêng.
Những kịch bản có thể được sử dụng cho một loạt các mục đích từ xác
thực,chuyển đổi dự phòng và nhiều hơn nữa.
Hỗ trợ khả năng hoạt động cao, trong suốt cho IP động: Hai đầu
đường hầm có thể sử dụng IP động và ít bị thay đổi. Nếu bị đổi IP, cá phiên
làm việc của Windows Terminal Server và Secure Shell (SSH) có thể chỉ bị
ngưng trong vài giây và sẽ tiếp tục hoạt động bình đường.
26
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Cài đặt đơn giản trên bất kỳ hệ thống nào: Đơn giản hơn nhiều so
với IPsec.
Thiết kế kiểu Modun
5.1.1 Linux
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân
của hệ điều hành. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và
của việc phát triển mã nguồn mở.
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông
còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách
hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm
1994. Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản
27
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem
mã nguồn của Linux.
Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân
Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một
hệ điều hành giống Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra
bởi việc đóng gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như
là các bản phân phối Linux. Thực tế thì đó là tập hợp một số lượng lớn các
phần mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ
liệu, các môi trường làm việc desktop như GNOME và KDE, và các ứng dụng
thích hợp cho công việc văn phòng như OpenOfficehay LibreOffice.
Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều
hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong
nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các
thiết bị nhúng như là các máy điện thoại di động.
Ban đầu, Linux được phát triển và sử dụng bởi những người say mê.
Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM
và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc
quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft
Windows trong một số lĩnh vực. Sở dĩ Linux đạt được những thành công một
cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi
phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền)
và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng như là
các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp. Một đặc
tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm
nguồn mở hiệu quả.
5.1.2 CentOS
28
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
CentOS là một bản phân phối hệ điều hành tự do dựa trên Linux kernel.
Nó có nguồn gốc hoàn toàn từ bản phân phối Red Hat Enterprise Linux
(RHEL). CentOS tồn tại để cung cấp một nền tảng điện toán doanh nghiệp tự
do và phấn đấu để duy trì khả năng tương thích nhị phân 100% với nguồn
thượng nguồn của nó, Red Hat. CentOS là viết tắt của Community ENTerprise
Operating System.
Các nhà phát triển CentOS sử dụng mã nguồn của Red Hat để tạo ra một
sản phẩm cuối cùng rất tương tự như Red Hat Enterprise Linux. Thương hiệu
và logo của Red Hat đã bị thay đổi bởi vì Red Hat không cho phép họ được
phân phối lại.
CentOS là miễn phí. Hỗ trợ kỹ thuật chủ yếu được cung cấp bởi cộng
đồng thông qua mailing lists chính thức, diễn đàn, và các chat room. Dự án
không liên kết với Red Hat do đó không nhận được hỗ trợ tài chính hoặc hậu
cần từ công ty; thay vào đó, dự án CentOS dựa vào sự đóng góp từ người dùng
và các nhà tài trợ tổ chức.
Số phiên bản của CentOS có hai phần, một phiên bản chính và một
phiên bản nhỏ, tương ứng với phiên bản chính và cập nhật của Red Hat
Enterprise Linux được sử dụng để xây dựng là phiên bản của CentOS. Ví dụ,
CentOS 4.4 được xây dựng từ các gói nguồn từ Red Hat Enterprise Linux 4 cập
nhật 4.
29
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Việc đăng nhập với quyền root là một điều bắt buộc khi cài đặt
OpenVPN.Nó cho phép ta có thể thao tác với hệ thống một cách tối đa mà
không gặp phải trở ngại gì.
Cấu trúc lệnh: su
30
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
3. Tải gói LZO RPM và cấu hình RPMForge .Sử dụng lệnh wget
LZO là thư viện nén dữ liệu.CentOS sử dụng gói lzo-2.03-
3.fu14.src.rpm.
Rpmforge (bây giờ gọi là Repoforge) là một kho lưu trữ các gói phần
mềm cho Red Hat Enterprise Linux và các dẫn xuất của nó như CentOS.
31
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Sau khi cài đặt xong ta kiểm tra lại bằng lệnh uname–a
32
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
33
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
6. Cài đặt OpenVPN
Cấu trúc lệnh:
yum install openvpn-y
Sau khi xuất hiện câu lệnh Complete nghĩa là hệ thống đã được cài đặt
OpenVPN thành công.
Cửa sổ tệp vars hiện ra ta phải sửa lại dòng sau như hình dưới đây
34
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
35
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
36
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
37
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
38
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Sau khi thay đổi xong ta thực hiện lệnh sysctl –p để áp dụng những thay
đổi này trên server
39
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Dưới đây là danh sách một số loại chứng nhận và key trong OpenVPN:
40
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
41
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
2. Tinh chỉ file cấu hình client với các thông số cần thiết để kết nối
đến server.File cấu hình có tên config.ovpn
42
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
3. Sao chép tất cả các chứng nhận,key liên quan đến user vào thư
mục trên
43
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
5. Nhấp đôi chuột để thực hiện việc cài đặt
Sau khi thực hiện xong ta sẽ được một tệp tin cài đặt với định dạng tblk
của tunnelblik.Việc cài đặt được thực hiện thành công tunnelblick sẽ copy “thư
mục cấu hình” ta vừa tạo đến một vùng khác trong máy tính.Để bảo đảm an
toàn cho cấu hình của client.
44
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
45
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
OpenVPN GUI cung cấp sẵn cho ta một thư mục config để chứa các tệp
tin cấu hình.Do dậy việc thực hiện cấu hình cho client hoàn toàn dễ dàng khi ta
chỉ việc chép các tệp tin xác thực và key vào thư mục này cùng với file cấu
hình có phần mở rộng là ovpn
Thư mục chứa các file cấu hình của OpenVPN GUI
Sau khi đã cấu hình thành công cho client ta thực hiện kết nối tới máy
chủ.
Việc kết nối sẽ được thực hiện giữa một máy chủ (CentOS x64) và hai
máy trạm chạy hệ điều hành Windows XP3 ( sử dụng cấu hình u2) và hệ điều
hành MacOS X (sử dụng cấu hình u1)
Quá trình kết nối tới máy chủ đang được thực hiện (MacOS)
46
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
Quá trình kết nối tới máy chủ trên Windows XP SP3
9. Giám sát và xử lý sự cố
9.1 Trên Server
47
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
o Lý thuyết:
Nắm được cơ bản các kiến thức liên quan đến VPN,các phiên bản của
Linux như Redhat,CentOS,Free BSD,Ubuntu hay OpenSUSE,...Đặc biệt là giải
pháp mã nguồn mở OpenVPN
o Thực hành:
Triển khai thành công ứng dụng phần mềm OpenVPN trên server
CentOS với mô hình Client to Server trên môi trường máy ảo.
Hạn chế
Do thời gian có hạn,nên những tìm hiểu còn hạn chế,chưa triển khai
được kết nối dạng site to site
Hướng phát triển:
Tiếp tục triển khai kết nối Site to Site, kết hợp tìm hiểu sâu hơn về các
giải pháp bảo mật cho kêt nối VPN....
48
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
3. Internet
Google.com
Quantrimang.com.vn
49
Giả i phá p mã nguồ n mở OpenVPN trong Linux
October 10, 2023
50