Bối cảnh và vấn đề nghiên cứu

Sự phát triển của Internet tạo ra khả năng liên kết nhiều mạng máy tính khác nhau và cho phép truyền thông tự do trên phạm vi toàn cầu. Tuy nhiên, do môi trường mạng công cộng không thuộc quyền quản lý tập trung của bất kỳ tổ chức hay chính phủ nào, các vấn đề an toàn dữ liệu, bảo mật thông tin và kiểm soát dịch vụ trở thành thách thức lớn đối với các cơ quan, doanh nghiệp. Để đáp ứng nhu cầu làm việc từ xa của nhân viên, kết nối văn phòng chi nhánh và trao đổi thông tin với đối tác trên nền tảng hạ tầng mạng công cộng có sẵn mà vẫn duy trì tính riêng tư, mô hình Mạng riêng ảo (Virtual Private Network - VPN) đã được áp dụng rộng rãi. VPN giúp các tổ chức giảm đáng kể chi phí đầu tư cơ sở hạ tầng truyền thông và phí dịch vụ hàng tháng như đường truyền thuê riêng (leased line), Frame Relay, hay ATM đường dài.

Trong thực tế triển khai, các giải pháp VPN trên hệ điều hành Windows Server (như Windows Server 2003, Windows Server 2008) chiếm đa số nhưng có chi phí bản quyền cao, đồng thời đối mặt với nhiều nguy cơ bảo mật trước các kỹ thuật tấn công ngày càng phức tạp. Ngược lại, hệ điều hành mã nguồn mở Linux, tiêu biểu là bản phân phối CentOS (phát triển từ Red Hat Enterprise Linux - RHEL), cung cấp nền tảng miễn phí, hoạt động ổn định, tốc độ xử lý cao và cấu hình linh hoạt thông qua giao diện dòng lệnh (command line interface). Tại Việt Nam ở thời điểm thực hiện nghiên cứu, việc ứng dụng VPN trên Linux trong các doanh nghiệp còn hạn chế do người quản trị đã quen thuộc với giao diện đồ họa của Windows và router phần cứng, trong khi việc cấu hình Linux bằng dòng lệnh đòi hỏi chuyên môn cao. Xuất phát từ thực tế đó, đề tài đồ án tốt nghiệp “Xây dựng và bảo mật hệ thống mạng VPN trên Linux” được thực hiện bởi nhóm sinh viên Huỳnh Trọng Nghĩa và Ngô Anh Tuấn thuộc ngành Mạng máy tính, Khoa Công nghệ Thông tin, Trường Đại học Hùng Vương, dưới sự hướng dẫn của giảng viên Nguyễn Vạn Phúc.

Nhiệm vụ nghiên cứu và thiết kế của đồ án được xác định theo các nội dung chính sau:

  1. Nghiên cứu các giao thức bảo mật được sử dụng trong mạng riêng ảo VPN.
  2. Khảo sát và thực hiện quy trình cài đặt, cấu hình hệ thống VPN bằng phần mềm mã nguồn mở OpenVPN.
  3. Đánh giá các lỗ hổng bảo mật của hệ thống mạng VPN đã xây dựng.

Bên cạnh nhiệm vụ chính, đề tài còn xác định các nội dung phát triển mở rộng bao gồm:

  1. Kết hợp hệ thống VPN với FreeRADIUS và cơ sở dữ liệu MySQL nhằm quản lý, chứng thực người dùng và nâng cao tính bảo mật.
  2. Kết hợp hệ thống VPN với dịch vụ thư mục LDAP và FreeRADIUS để quản lý tập trung danh mục người dùng VPN.
  3. Nghiên cứu khai thác các lỗ hổng bảo mật của giao thức SSL.

Đối tượng nghiên cứu của đồ án là công nghệ mạng riêng ảo VPN, các giao thức bảo mật tầng truyền vận và liên kết dữ liệu (SSL, PPP), cùng các giải pháp phần mềm mã nguồn mở trên Linux (OpenVPN, OpenSSL, FreeRADIUS, MySQL, LDAP). Phạm vi không gian và công nghệ tập trung vào môi trường thử nghiệm gồm máy chủ chạy hệ điều hành CentOS 5.7, các máy trạm khách sử dụng hệ điều hành Windows XP, phần mềm OpenVPN GUI và thư viện mã hóa OpenSSL. Thời gian thực hiện đồ án diễn ra trong khóa đào tạo 2008–2012 và hoàn thành vào năm 2012.

Cơ sở lý thuyết và phương pháp

Đồ án xây dựng nền tảng lý thuyết dựa trên các chuẩn giao thức mạng, mật mã học và kiến trúc dịch vụ mạng:

  • Mô hình Mạng riêng ảo (VPN): Đồ án định nghĩa một hệ thống VPN hiệu quả qua 5 đặc tính: bảo mật (security), tin cậy (reliability), khả năng mở rộng (scalability), quản trị hệ thống mạng (network management) và quản trị chính sách (policy management). Các dạng mô hình VPN được phân tích gồm: VPN Site-to-Site (kết nối các mạng LAN riêng lẻ), VPN Client-to-Site (kết nối người dùng từ xa vào mạng LAN nội bộ) và mô hình mạng cách ly phi chuẩn (cách ly giao thức TCP/IP giữa mạng nội bộ và mạng bên ngoài).
  • Giao thức Point-to-Point Protocol (PPP): Phát triển dựa trên nền tảng High-Level Data Link Control (HDLC) để thay thế Serial Line Internet Protocol (SLIP). Giao thức gồm hai thành phần chính hoạt động ở lớp liên kết dữ liệu: Link Control Protocol (LCP - RFC 1570) chịu trách nhiệm thiết lập, điều chỉnh, hủy bỏ liên kết và giám sát chất lượng liên kết (LQM) kết hợp xác thực PAP hoặc CHAP; Network Control Protocol (NCP) quản lý truyền dữ liệu cho các giao thức lớp mạng (IP, IPX, AppleTalk, DECnet). PPP hỗ trợ mở rộng Multilink PPP (MPPP) qua Multilink Protocol (MLP). Quá trình thiết lập kết nối trải qua 5 pha: Dead, Establish, Authenticate, Network và Terminate. Bảng mã định danh giao thức trong trường Protocol của NCP được tác giả trích dẫn gồm:
Mã giao thức (Code) Giao thức lớp mạng (Protocol)
8021 IP
8029 AT (AppleTalk)
8025 XNS, Vines
8027 DECnet
8031 Bridge
8023 OSI
  • Giao thức Secure Sockets Layer (SSL): Do Netscape phát triển nhằm cung cấp bảo mật độc lập với tầng ứng dụng, phục vụ các dịch vụ web, email và truyền tệp qua ba cơ chế: xác thực danh tính đối tác, mã hóa luồng dữ liệu và đảm bảo tính toàn vẹn dữ liệu. SSL hoạt động dựa trên hai nhóm giao thức con là Giao thức bắt tay (Handshake protocol) để thương lượng tham số, xác minh chứng chỉ số từ nhà cung cấp CA và trao đổi khóa đối xứng (master key); và Giao thức bản ghi (Record protocol) định dạng dữ liệu mã hóa truyền đi. Các thuật toán mật mã được hỗ trợ trong SSL phiên bản 3 bao gồm: DES, Triple-DES, DSA, KEA, MD5, RC2, RC4, RSA, RSA key exchange, SHA-1 và SKIPJACK.
  • Dịch vụ AAA và giao thức RADIUS: Remote Authentication Dial In User Service do Livingston Enterprises phát triển, hoạt động theo mô hình Client/Server ở tầng ứng dụng trên giao thức truyền vận UDP. Tổ chức IANA đã phân bổ chính thức cổng UDP 1812 cho dịch vụ xác thực (Authentication) và cổng UDP 1813 cho dịch vụ tính cước/nhật ký (Accounting). RADIUS kiểm soát truy cập qua cơ chế AAA (Authentication, Authorization, Accounting) và bảo vệ mật khẩu truyền giữa Network Access Server (NAS) và RADIUS Server bằng cách sử dụng chuỗi bí mật dùng chung (shared secret) kết hợp hàm băm MD5.
  • Hệ thống phần mềm OpenVPN: Giải pháp VPN mã nguồn mở dựa trên công nghệ SSL/TLS. Tác giả khảo sát lịch sử phát triển từ phiên bản OpenVPN 1.0 (phát hành ngày 13/5/2001, mã hóa Blowfish, băm SHA HMAC qua UDP) qua các mốc thử nghiệm phiên bản 2.0 (hỗ trợ multi-client tối đa 128 đường hầm trên cùng cổng mạng, cơ chế cấu hình push/pull, giao diện quản lý Telnet) đến phiên bản 2.1 và việc chuyển quyền quản lý cho OpenVPN Technologies, Inc. vào tháng 10/2008.

Phương pháp nghiên cứu thực tế được áp dụng trong đồ án là phương pháp thực nghiệm triển khai hệ thống mạng (Lab testing) kết hợp phân tích đối chứng. Tác giả thiết lập kịch bản mạng mô phỏng trên các máy chủ và máy trạm thực tế, trực tiếp biên dịch mã nguồn, cài đặt các thư viện phụ trợ, sinh khóa mã hóa, chỉnh sửa tệp cấu hình hệ thống, kiểm tra tính thông suốt của đường truyền bằng công cụ dòng lệnh và thực hiện bắt gói tin truyền tải trên đường truyền để kiểm chứng khả năng bảo mật. Nguồn dữ liệu phục vụ nghiên cứu bao gồm các gói phần mềm phân phối chính thức từ kho RPMforge, bộ công cụ easy-rsa 2.0, các chuẩn văn bản RFC và dữ liệu gói tin ghi nhận trực tiếp từ quá trình chạy thử nghiệm.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kết nối VPN Site-to-Site giữa hai chi nhánh mạng độc lập (Site 1 và Site 2) và mở rộng cho các kết nối máy khách từ xa (Client-to-Site).

Môi trường phần cứng và phần mềm triển khai gồm:

  • 02 máy chủ chạy hệ điều hành CentOS 5.7 đóng vai trò OpenVPN Server cho từng site.
  • 02 máy trạm nội bộ chạy hệ điều hành Windows XP thuộc mạng LAN của hai site.
  • 01 máy trạm khách bên ngoài đóng vai trò kết nối từ xa.
  • Các gói phần mềm phụ trợ trên CentOS: lzo và lzo-devel (thư viện nén/giải nén viết bằng ANSI C để tăng tốc truyền dữ liệu), openssl và openssl-devel (thư viện mật mã nguồn mở phát triển từ SSLeay), pam-devel (công cụ xác thực Pluggable Authentication Modules), trình biên dịch gcc, tiện ích mạng wget, gói quản lý kho yum-priorities và kho ứng dụng rpmforge-release.
  • Ứng dụng OpenVPN trên máy chủ và OpenVPN GUI trên máy khách Windows.

Quy trình thiết kế và triển khai được tiến hành qua các giai đoạn kỹ thuật cụ thể:

1. Khởi tạo hạ tầng khóa công khai (PKI): Tác giả sử dụng bộ công cụ easy-rsa 2.0 trong đường dẫn /usr/share/doc/openvpn-2.0/easy-rsa/2.0/, sao chép vào /etc/openvpn/easy-rsa/. Các bước khởi tạo gồm: thực thi tệp biến môi trường ./vars, xóa dữ liệu cũ bằng lệnh ./clean-all, khởi tạo khóa và chứng chỉ Root CA (ca.key và ca.crt) bằng ./build-ca, tạo tham số băm Diffie-Hellman bằng ./build-dh (sinh tệp dh1024.pem). Tiếp đó, tác giả sử dụng ./build-key-server để sinh cặp khóa/chứng chỉ cho máy chủ hai site (server1.crt, server1.key, server2.crt, server2.key) và ./build-key để sinh khóa cho máy khách (client1.crt, client1.key, client2.crt, client2.key).

Các tệp tin được phân bổ theo quy tắc bảo mật được tác giả tổng hợp trong bảng:

Tên tệp tin (Filename) Vị trí cần sử dụng (Needed By) Mục đích sử dụng (Purpose) Tính bí mật (Secret)
ca.crt Server và tất cả Client Chứng chỉ gốc Root CA Không (NO)
ca.key Chỉ máy ký khóa (Key signing machine) Khóa bí mật Root CA Có (YES)
dh{n}.pem Chỉ trên Server Tham số Diffie-Hellman Không (NO)
server1.crt Chỉ trên Server Chứng chỉ định danh Server Không (NO)
server1.key Chỉ trên Server Khóa bí mật của Server Có (YES)
client1.crt Chỉ trên Client 1 Chứng chỉ định danh Client 1 Không (NO)
client1.key Chỉ trên Client 1 Khóa bí mật của Client 1 Có (YES)

2. Cấu hình dịch vụ OpenVPN Server: Tệp cấu hình server.conf tại /etc/openvpn/ được thiết lập với giao thức truyền vận proto udp, thiết bị đường hầm ảo tầng mạng dev tun, nạp các tệp chứng chỉ ca ca.crt, cert server1.crt, key server1.key và dh dh1024.pem. Để các dải mạng nội bộ giữa hai chi nhánh định tuyến qua lại với nhau (LAN Routing), cấu hình sử dụng chỉ thị push "route 172.x.x.x" và push "route 10.x.x.x", đồng thời kích hoạt client-to-client để cho phép các máy khách VPN giao tiếp trực tiếp với nhau.

3. Cấu hình chuyển tiếp gói tin (IP Forwarding): Để máy chủ CentOS thực hiện vai trò router chuyển tiếp luồng dữ liệu giữa mạng LAN nội bộ và giao diện ảo VPN, tác giả kích hoạt tính năng chuyển tiếp gói tin trong nhân Linux bằng cách chỉnh sửa tham số net.ipv4.ip_forward = 1 trong tệp /etc/sysctl.conf, nạp lại cấu hình bằng sysctl -p và ghi đè giá trị vào hệ thống tệp tin ảo thông qua lệnh echo 1 > /proc/sys/net/ipv4/ip_forward. Dịch vụ được khởi chạy bằng lệnh openvpn server.conf.

4. Cấu hình phía máy trạm khách (Client): Trên hệ điều hành Windows XP, tác giả cài đặt gói phần mềm openvpn-2.2.2-install.exe. Các tệp tin ca.crt, chứng chỉ khách (client1.crt/client2.crt) và khóa cá nhân (client1.key/client2.key) được sao chép từ máy chủ vào thư mục C:\Program Files\OpenVPN\config. Tệp cấu hình client.ovpn được chỉnh sửa với các thông số: giao thức dev tun, proto udp, địa chỉ máy chủ và cổng dịch vụ remote 192.168.x.x 1174, nobind, persist-key, persist-tun cùng đường dẫn nạp chứng chỉ.

5. Kiểm thử vận hành hệ thống: Người dùng thực hiện quay số kết nối VPN bằng giao diện OpenVPN GUI. Hệ thống cấp phát địa chỉ IP ảo cho card mạng OpenVPN trên máy khách (kiểm tra bằng lệnh ipconfig). Tác giả tiến hành kiểm tra khả năng truyền thông xuyên suốt giữa các site bằng cách thực hiện lệnh ping từ máy khách Site 1 tới địa chỉ máy chủ và máy trạm nội bộ của Site 2, và ngược lại từ Site 2 về Site 1.

Nội dung chính theo từng chương

Chương 1: Xây dựng hệ thống VPN Site – to – site

Chương 1 trình bày tổng quan về nhu cầu triển khai mô hình VPN Site-to-Site trên Linux nhằm thay thế các đường leased line chi phí cao trong doanh nghiệp. Tác giả phân tích lý do lựa chọn hệ điều hành mã nguồn mở CentOS 5.7 và giải pháp OpenVPN dựa trên ưu thế về tính kinh tế, tính linh hoạt cấu hình và độ ổn định cao hơn Windows. Nội dung chương đi sâu vào cơ chế hoạt động của hai giao thức cốt lõi là PPP và SSL; giải thích chi tiết các pha kết nối, khuôn dạng khung dữ liệu, bảng mã lớp mạng của NCP, các thuật toán mã hóa của SSL (DES, Triple-DES, DSA, KEA, MD5, RC2, RC4, RSA, SHA-1, SKIPJACK) cùng tiến trình lịch sử các phiên bản OpenVPN từ 1.0 đến 2.1. Phần thực nghiệm cung cấp toàn bộ các bước cấu hình Lab từ cài đặt các gói phụ trợ (lzo, openssl, pam-devel), sinh khóa qua easy-rsa 2.0, cấu hình server.conf, thiết lập LAN Routing thông qua sysctl.conf (net.ipv4.ip_forward = 1), cài đặt OpenVPN GUI trên Windows XP (cổng kết nối 1174) và kiểm tra kết nối liên site bằng lệnh ping.

Chương 2: VPN Client – to – site kết hợp FreeRADIUS và MySQL

Chương 2 giải quyết hạn chế cố hữu của phần mềm mã nguồn mở là việc thiếu hụt công cụ quản lý người dùng tập trung bằng việc giới thiệu kiến trúc FreeRADIUS kết hợp hệ quản trị cơ sở dữ liệu MySQL. Tác giả trình bày lịch sử và nguyên lý của giao thức RADIUS do Livingston Enterprises phát triển, chuẩn hóa cổng hoạt động UDP 1812 cho chức năng Authentication và UDP 1813 cho Accounting theo chuẩn của IANA. Nội dung chương phân tích chi tiết cơ chế hoạt động của mô hình dịch vụ AAA (Authentication - Xác thực, Authorization - Cấp quyền, Accounting - Ghi nhật ký), nguyên lý sử dụng thuật toán băm MD5 kết hợp chuỗi ám hiệu dùng chung (shared secret) để mã hóa mật khẩu giữa NAS/VPN Server và RADIUS Server nhằm tránh truyền văn bản thuần túy (cleartext). Chương này nêu rõ các yêu cầu về phần mềm, thiết bị triển khai, mô hình kết nối Client-to-Site và quy trình thiết lập bài Lab cấu hình dịch vụ xác thực người dùng VPN dựa trên cơ sở dữ liệu người dùng lưu trong MySQL.

Chương 3: VPN- LDAP -FreeRADIUS

Chương 3 mở rộng giải pháp quản trị danh mục người dùng quy mô lớn bằng cách tích hợp dịch vụ thư mục Lightweight Directory Access Protocol (LDAP) vào hệ thống xác thực cùng với FreeRADIUS. Tác giả phân tích cấu trúc tổ chức dữ liệu dạng cây DIT (Directory Information Tree) của LDAP, nghi thức truyền thông hướng thông điệp, các nhóm thao tác cơ bản của nghi thức (thao tác xác thực Bind/Unbind, thao tác truy vấn Search/Compare, thao tác cập nhật Add/Delete/Modify) và các phương thức chứng thực trong LDAP. Mô hình triển khai được thiết kế nhằm cho phép máy chủ OpenVPN chuyển tiếp yêu cầu xác thực người dùng qua máy chủ FreeRADIUS, từ đó FreeRADIUS truy vấn trực tiếp thông tin tài khoản và quyền hạn từ dịch vụ thư mục OpenLDAP, tạo thành chuỗi chứng thực tập trung cho toàn bộ hạ tầng mạng của tổ chức.

Chương 4: Demo bắt gói tin VPN

Chương 4 tập trung vào việc kiểm chứng thực tế tính an toàn của hệ thống mạng riêng ảo thông qua phương pháp phân tích gói tin. Tác giả thiết lập kịch bản thực nghiệm bắt gói tin của dịch vụ truyền tệp FTP hoạt động ở chế độ thông thường không mã hóa (cleartext) và kịch bản truyền tải dữ liệu đi qua đường hầm OpenVPN. Bằng việc so sánh nội dung các khung dữ liệu thu thập được, tác giả chỉ ra rằng đối với giao thức FTP thông thường, toàn bộ tên người dùng, mật khẩu và dữ liệu truyền tải đều hiển thị rõ ràng, dễ dàng bị đánh cắp trên mạng công cộng. Trong khi đó, luồng dữ liệu đi qua OpenVPN đều được mã hóa hoàn toàn bởi giao thức SSL, ngăn chặn triệt để hành vi nghe lén và can thiệp dữ liệu.

Chương 5: Đánh giá kết luận

Chương 5 tổng kết lại toàn bộ kết quả nghiên cứu và thực nghiệm đạt được của đồ án tốt nghiệp, chỉ rõ mức độ đáp ứng các nhiệm vụ thiết kế ban đầu; đồng thời chỉ ra các điểm còn hạn chế của đề tài và cung cấp danh mục các tài liệu tham khảo được trích dẫn trong văn bản.

Kết quả và đóng góp

Đồ án đã đạt được các kết quả kỹ thuật cụ thể dựa trên số liệu và cấu hình thực tế được ghi nhận trong văn bản:

  • Thiết lập thành công mô hình mạng riêng ảo VPN Site-to-Site và Client-to-Site hoạt động ổn định trên nền tảng hệ điều hành CentOS 5.7 kết nối với các máy trạm khách Windows XP thông qua phần mềm OpenVPN 2.0.
  • Xây dựng hoàn chỉnh hạ tầng khóa công khai nội bộ (PKI) với bộ công cụ easy-rsa 2.0, tạo lập thành công chứng chỉ gốc Root CA (ca.crt, ca.key), chứng chỉ máy chủ (server1.crt, server2.crt), chứng chỉ máy trạm (client1.crt, client2.crt) và tham số trao đổi khóa Diffie-Hellman 1024-bit (dh1024.pem).
  • Cấu hình thành công cơ chế chuyển tiếp gói tin tầng mạng trên máy chủ CentOS với việc kích hoạt net.ipv4.ip_forward = 1 trong /etc/sysctl.conf, áp dụng chỉ thị đẩy bảng định tuyến push "route ..." và chế độ client-to-client trong server.conf, đảm bảo định tuyến liên mạng LAN-to-LAN thông suốt giữa dải mạng Site 1 và Site 2.
  • Kiểm tra thực nghiệm độ thông suốt bằng lệnh ping từ máy khách Site 1 tới máy chủ và máy khách Site 2 cho kết quả phản hồi thành công, chứng minh lưu lượng mạng nội bộ được chuyển tiếp an toàn qua đường hầm VPN trên cổng UDP 1174.
  • Kiểm chứng thực nghiệm mức độ an toàn thông tin bằng phương pháp bắt gói tin so sánh với giao thức FTP, chứng minh luồng dữ liệu đi qua OpenVPN được bảo vệ toàn diện qua cơ chế mã hóa SSL.
  • Hoàn thiện mô hình kiến trúc chứng thực người dùng nâng cao qua việc tích hợp OpenVPN với FreeRADIUS (cổng UDP 1812 và 1813), cơ sở dữ liệu MySQL và dịch vụ thư mục LDAP.

Về mặt giải pháp và kiến nghị, tác giả đề xuất các cơ quan, doanh nghiệp tại Việt Nam nên tận dụng hệ điều hành mã nguồn mở Linux kết hợp OpenVPN để xây dựng hệ thống mạng riêng ảo thay thế các giải pháp Windows Server hoặc router chuyên dụng nhằm tiết kiệm chi phí đầu tư ban đầu và chi phí bảo trì hàng tháng. Đồng thời, tác giả kiến nghị kết hợp OpenVPN với FreeRADIUS, MySQL và LDAP để giải quyết triệt để vấn đề quản trị người dùng tập trung cho các mạng lưới quy mô lớn.

Đóng góp của đồ án thể hiện ở việc hệ thống hóa toàn diện cơ sở lý thuyết về các giao thức bảo mật mạng (PPP, SSL, RADIUS, LDAP), đồng thời xây dựng quy trình triển khai thực tế bằng các dòng lệnh chi tiết, có thể áp dụng trực tiếp cho việc cấu hình hạ tầng mạng trên Linux tại thời điểm nghiên cứu.

Hạn chế và hướng nghiên cứu tiếp

Theo đánh giá của tác giả và phạm vi kỹ thuật của văn bản, đồ án tồn tại một số hạn chế:

  • Do bản chất của phần mềm mã nguồn mở OpenVPN không tích hợp sẵn công cụ quản lý người dùng trên giao diện hệ điều hành, hệ thống đòi hỏi phải cài đặt và cấu hình thủ công các phần mềm bổ trợ như FreeRADIUS, MySQL hoặc LDAP, khiến kiến trúc triển khai trở nên phức tạp.
  • Toàn bộ quá trình cấu hình trên CentOS được thực hiện qua giao diện dòng lệnh (command line), đòi hỏi người quản trị phải có kiến thức chuyên môn vững vàng, gây khó khăn cho việc phổ biến tại các doanh nghiệp quen dùng giao diện đồ họa.
  • Thử nghiệm thực tế được giới hạn trong môi trường phòng Lab với số lượng thiết bị nhỏ (02 máy chủ CentOS 5.7, 02 máy khách nội bộ và 01 máy khách từ xa chạy Windows XP).

Các hướng phát triển tiếp theo được tác giả xác định trong nhiệm vụ thiết kế gồm:

  • Mở rộng nghiên cứu các phương thức khai thác và phòng chống lỗ hổng bảo mật của giao thức SSL.
  • Tối ưu hóa mô hình xác thực tập trung người dùng VPN kết hợp giữa OpenVPN, LDAP và FreeRADIUS cho các hệ thống có quy mô người dùng lớn.
  • Nghiên cứu và triển khai các giải pháp hạn chế nguy cơ tấn công mạng từ bên ngoài nhằm tăng cường độ tin cậy và khả năng phòng thủ của hệ thống VPN.

Giá trị tham khảo

Đồ án là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên chuyên ngành Mạng máy tính và Công nghệ thông tin: Tài liệu hữu ích cho việc thực hiện các đồ án chuyên ngành, đồ án hướng nghiệp và khóa luận tốt nghiệp liên quan đến an toàn mạng, quản trị hệ thống Linux và thiết kế mạng riêng ảo.
  • Kỹ sư quản trị mạng tại các doanh nghiệp vừa và nhỏ: Cung cấp giải pháp kỹ thuật cụ thể để triển khai hệ thống VPN kết nối chi nhánh với chi phí thấp, tối ưu hóa ngân sách phần mềm và hạ tầng truyền thông so với việc thuê đường truyền chuyên dụng.

Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:

  • Hướng dẫn chi tiết quy trình sử dụng bộ công cụ easy-rsa 2.0 để tạo CA, phân bổ khóa công khai và khóa bí mật giữa máy chủ và các máy trạm khách.
  • Các chỉ thị mẫu cấu hình trong tệp server.conf và client.ovpn, đặc biệt là kỹ thuật cấu hình push route, client-to-client và kích hoạt tham số ip_forward trong nhân Linux để thiết lập định tuyến LAN-to-LAN.
  • Thiết kế mô hình kiến trúc xác thực đa tầng kết hợp OpenVPN với FreeRADIUS, MySQL và LDAP.

Câu hỏi thường gặp

1. Vì sao nhóm tác giả lựa chọn triển khai hệ thống VPN trên hệ điều hành CentOS Linux thay vì Windows Server?
Trả lời: Tác giả chỉ ra rằng việc triển khai VPN trên Windows Server (như Windows Server 2003, Windows Server 2008) có chi phí đầu tư phần mềm và thiết bị cao, đồng thời đối mặt với nhiều nguy cơ bảo mật trước các kỹ thuật tấn công ngày càng tinh vi. CentOS Linux là bản phân phối mã nguồn mở miễn phí từ RHEL, có độ ổn định cao, tốc độ xử lý nhanh, cấu hình dòng lệnh linh hoạt và giúp doanh nghiệp tiết kiệm chi phí vận hành hạ tầng mạng.

2. Quy tắc phân bổ các tệp tin khóa và chứng chỉ số do easy-rsa tạo ra cho máy chủ và máy khách được quy định như thế nào?
Trả lời: Dựa trên bảng phân bổ của đồ án, tệp ca.crt được phân phối cho cả Server và toàn bộ Client (không cần bảo mật); tệp ca.key chỉ lưu trữ tại máy ký khóa Root CA và phải tuyệt đối giữ bí mật; tệp dh{n}.pem chỉ lưu trên Server (không cần bí mật); các tệp server1.crt và server1.key chỉ lưu trên Server (khóa .key phải giữ bí mật); các tệp client1.crt và client1.key chỉ cung cấp riêng cho Client tương ứng (khóa .key phải giữ bí mật).

3. Để thiết lập định tuyến cho các mạng LAN nội bộ giao tiếp qua VPN (LAN Routing), tác giả đã thực hiện các bước cấu hình nào?
Trả lời: Tác giả đã cấu hình các chỉ thị push "route ..." cho các dải mạng nội bộ (như mạng 172.x và 10.x) và kích hoạt lệnh client-to-client trong tệp server.conf. Đồng thời, trên hệ điều hành CentOS, tác giả kích hoạt tính năng chuyển tiếp gói tin bằng cách sửa dòng net.ipv4.ip_forward = 1 trong /etc/sysctl.conf, nạp cấu hình qua lệnh sysctl -p và thực thi lệnh echo 1 > /proc/sys/net/ipv4/ip_forward.

4. Dịch vụ RADIUS đóng vai trò gì và giao tiếp qua các cổng mạng nào trong kiến trúc mở rộng của đồ án?
Trả lời: RADIUS (Remote Authentication Dial In User Service) đóng vai trò máy chủ trung gian quản lý và xác thực người dùng truy cập mạng theo mô hình dịch vụ AAA (Authentication, Authorization, Accounting). RADIUS hoạt động ở tầng ứng dụng trên giao thức truyền vận UDP, sử dụng cổng 1812 cho dịch vụ xác thực và cổng 1813 cho dịch vụ ghi nhận tài khoản theo tiêu chuẩn của tổ chức IANA, bảo vệ mật khẩu thông qua cơ chế băm MD5 kết hợp chuỗi bí mật dùng chung (shared secret).

5. Kết quả thực nghiệm bắt gói tin ở Chương 4 đã chứng minh điều gì về tính an toàn của OpenVPN so với giao thức FTP?
Trả lời: Quá trình bắt gói tin đối chứng cho thấy khi truyền dữ liệu qua giao thức FTP thông thường, toàn bộ thông tin đăng nhập và dữ liệu tệp được gửi dưới dạng văn bản rõ (cleartext), dễ dàng bị thu thập trên đường truyền mạng. Ngược lại, toàn bộ dữ liệu đi qua đường hầm OpenVPN đều được mã hóa bằng giao thức SSL, ngăn chặn hoàn toàn nguy cơ nghe lén và thay đổi dữ liệu từ bên ngoài.

Kết luận

Đồ án tốt nghiệp “Xây dựng và bảo mật hệ thống mạng VPN trên Linux” của Huỳnh Trọng Nghĩa và Ngô Anh Tuấn đã hoàn thành việc nghiên cứu lý thuyết các giao thức an toàn mạng và triển khai thành công hệ thống OpenVPN Site-to-Site trên nền tảng CentOS 5.7 kết nối với các máy trạm khách Windows XP. Đề tài đã giải quyết bài toán giảm thiểu chi phí bản quyền cho doanh nghiệp bằng cách sử dụng các công cụ mã nguồn mở, đồng thời đưa ra các phương án nâng cao tính bảo mật thông qua hạ tầng khóa công khai PKI và mở rộng xác thực tập trung bằng FreeRADIUS, MySQL và LDAP. Các kết quả cấu hình chi tiết và dữ liệu thực nghiệm bắt gói tin đối chứng cung cấp nguồn tư liệu tham khảo có giá trị học thuật và thực tiễn cao cho sinh viên ngành mạng máy tính và kỹ sư quản trị hệ thống.