Giới thiệu dự án

Trong bối cảnh chuyển đổi số và xu hướng làm việc từ xa (Remote Work/Hybrid Work) bùng nổ trên toàn cầu, nhu cầu thiết lập các kết nối mạng an toàn, tin cậy giữa các chi nhánh và người dùng đầu cuối trở thành ưu tiên hàng đầu của mọi tổ chức. Theo các báo cáo an ninh mạng quốc tế, hơn 68% các cuộc tấn công đánh cắp dữ liệu doanh nghiệp diễn ra khi thông tin được truyền tải qua các hạ tầng mạng công cộng không được mã hóa. Đề tài "Nghiên cứu, thử nghiệm hệ thống VPN dựa trên OpenSwan" do sinh viên Vũ Quốc Anh thực hiện dưới sự hướng dẫn của ThS. Nguyễn Như Chiến tại Trường Đại học Quản lý và Công nghệ Hải Phòng tập trung giải quyết bài toán bảo mật hạ tầng mạng thông qua giải pháp mạng riêng ảo mã nguồn mở.

+-------------------------------------------------------------------------------+
|                             HỆ THỐNG MẠNG TỔNG THỂ                            |
|                                                                               |
|  [ Remote Client ] (Win 7)                                                    |
|         │                                                                     |
|         ▼ (L2TP/IPSec - UDP 1701, 500, 4500)                                  |
|  [ Internet / Public Network ]                                                |
|         │                                                                     |
|         ▼ (IP: 192.168.1.134)                                                 |
|  [ VPN Gateway - CentOS 7 ] <───> [ Pluto Daemon ] <───> [ Netkey / XFRM ]   |
|         │                                                                     |
|         ▼ (LAN: 10.0.0.1/24)                                                  |
|  [ Domain Controller / Internal LAN ] (WinServer 2003: 10.0.0.10)             |
+-------------------------------------------------------------------------------+

Vấn đề cốt lõi mà dự án hướng tới là việc triển khai các đường truyền thuê riêng (Leased Line) truyền thống thường đòi hỏi chi phí đầu tư hạ tầng và vận hành rất lớn, không linh hoạt cho các doanh nghiệp vừa và nhỏ (SMEs). Giải pháp Virtual Private Network (VPN) trên nền tảng giao thức IPSec (Internet Protocol Security) cho phép tận dụng hạ tầng Internet công cộng nhưng vẫn thiết lập được kênh truyền dữ liệu bảo mật ở tầng 3 (Network Layer) của mô hình OSI.

Mục tiêu cụ thể của đồ án bao gồm:

  1. Nghiên cứu toàn diện cơ chế hoạt động của bộ giao thức IPSec (AH, ESP, IKEv1/IKEv2, SA, SPD, SAD) và kiến trúc bộ phần mềm OpenSwan.
  2. Thiết kế và triển khai thực nghiệm thành công mô hình VPN Remote Access kết hợp giao thức L2TP và xác thực MS-CHAPv2 trên môi trường máy chủ Linux CentOS 7.
  3. Phân tích kiến trúc mã nguồn C của OpenSwan (Pluto Daemon, Klips/Netkey Stack, Whack subsystem) và tiến hành tùy biến, bản địa hóa (Việt hóa) bộ tham số cấu hình hệ thống.
  4. Kiểm thử tính toàn vẹn, độ trễ và hiệu năng mã hóa gói tin qua công cụ giám sát lưu lượng Wireshark.

Phạm vi nghiên cứu tập trung vào việc hiện thực hóa mô hình VPN Remote Access và VPN Site-to-Site trên hệ điều hành CentOS 7 nhân Linux kernel 3.10+, kết hợp máy chủ xác thực Windows Server và máy trạm Windows 7 trong môi trường mạng giả lập doanh nghiệp.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi quyết định lựa chọn OpenSwan làm nền tảng cốt lõi, đề tài tiến hành đánh giá chi tiết các giải pháp VPN phổ biến hiện nay:

Tiêu chí OpenSwan (IPSec) OpenVPN (SSL/TLS) WireGuard PPTP
Tầng hoạt động Tầng mạng (Layer 3 - Network) Tầng ứng dụng (Layer 4/7) Tầng mạng (Kernel space) Tầng liên kết dữ liệu (Layer 2)
Mức độ bảo mật Rất cao (AES-256, 3DES, SHA-2) Rất cao (OpenSSL, TLS 1.3) Hiện đại (ChaCha20, Poly1305) Yếu (Dễ bị tấn công MS-CHAP)
Hiệu năng xử lý Tối ưu qua Kernel Netkey Trung bình (Chuyển đổi User/Kernel) Rất cao (Mã nguồn tinh gọn) Cao (Do thuật toán đơn giản)
Khả năng tương thích Native trên hầu hết HĐH Cần cài Client phần mềm riêng Cần module Kernel riêng Tích hợp sẵn trên mọi thiết bị
Khả năng vượt NAT Hỗ trợ NAT-Traversal (UDP 4500) Tốt (Chạy trên TCP/UDP tùy chọn) Tốt (UDP thuần) Kém với thiết bị PAT nghiêm ngặt

Yêu cầu người dùng và hệ thống được phân loại theo ma trận MoSCoW:

  • Must have (Bắt buộc): Thiết lập kênh truyền mã hóa ESP bảo vệ Payload, xác thực định danh hai đầu cuối thông qua Pre-Shared Key (PSK), tự động đàm phán Security Association (SA) qua daemon Pluto.
  • Should have (Nên có): Tích hợp dịch vụ L2TP (Layer 2 Tunneling Protocol) với xl2tpd để cấp phát dải IP động cho người dùng từ xa (Remote RoadWarrior), hỗ trợ kỹ thuật Path MTU Discovery (RFC 1191).
  • Could have (Có thể có): Việt hóa giao diện dòng lệnh và bộ phân tích cú pháp cấu hình trong file ipsec.conf.
  • Won't have (Chưa hỗ trợ): Triển khai đồng thời xác thực mở rộng qua chứng chỉ số phân tán PKI/CA trung gian đa cấp.

Thiết kế hệ thống

Kiến trúc bảo mật của hệ thống được xây dựng trên mô hình phân lớp xử lý gói tin IPSec:

+-------------------------------------------------------------+
|                     USER SPACE MANAGEMENT                   |
|  [ CLI / Scripts ] <───> [ whack ] <───> [ Pluto Daemon ]   |
|                                                  │          |
+--------------------------------------------------┼----------+
                                                   │ PF_KEY v2
+--------------------------------------------------┼----------+
|                     LINUX KERNEL SPACE           ▼          |
|  [ Network Device: eth0 ] ──> [ Netkey / XFRM Subsystem ]   |
|                                       │                     |
|                                [ SPD / SAD DB ]             |
|                                       │                     |
|  [ Decrypted Virtual: ipsec0 ] <──────┘ (ESP Decapsulation) |
+-------------------------------------------------------------+
  1. User Space: Daemon IKE Pluto lắng nghe trên cổng UDP 500 (IKE) và UDP 4500 (NAT-T), chịu trách nhiệm đàm phán chính sách bảo mật, thỏa thuận thuật toán mã hóa (DES, 3DES, AES) và hàm băm (MD5, SHA1, SHA256) thông qua 2 giai đoạn (Phase 1 Main/Aggressive Mode và Phase 2 Quick Mode). Module whack đóng vai trò giao tiếp giữa quản trị viên và Pluto.
  2. Kernel Space: Sử dụng Netkey (hạ tầng XFRM nguyên bản của nhân Linux) để xử lý dữ liệu ở tốc độ dây (wire speed). Cơ sở dữ liệu chính sách bảo mật SPD (Security Policy Database) và cơ sở dữ liệu liên kết an toàn SAD (Security Association Database) kiểm soát việc áp dụng mã hóa ESP/AH cho từng luồng lưu lượng dựa trên chỉ số SPI (Security Parameter Index).

Thông số kỹ thuật và phiên bản phần mềm:

  • Hệ điều hành máy chủ VPN: Linux CentOS 7.9 (Kernel 3.10.0-1160.el7.x86_64).
  • Bộ phần mềm VPN Core: OpenSwan phiên bản U2.6.38 (Netkey stack).
  • Giao thức đường hầm mở rộng: xl2tpd v1.3.x kết hợp PPP daemon.
  • Hệ thống Domain Controller: Windows Server 2003 R2 Enterprise Edition (Địa chỉ nội bộ: 10.0.0.10/24).
  • Trạm khách (Remote Client): Windows 7 SP1 Ultimate (Địa chỉ WAN giả lập: 192.168.1.134/24).

Methodology

Dự án áp dụng phương pháp nghiên cứu phát triển kết hợp thực nghiệm từng bước:

  • Giai đoạn 1 (Tuần 1 - 4): Thu thập tài liệu chuẩn IETF (RFC 2401, RFC 2406, RFC 3947, RFC 1191), khảo sát kiến trúc mã nguồn mở FreeS/WAN và nhánh phát triển OpenSwan.
  • Giai đoạn 2 (Tuần 5 - 8): Dựng mô hình mạng thử nghiệm, cấu hình dịch vụ VPN Remote Access tích hợp L2TP/IPSec trên CentOS 7.
  • Giai đoạn 3 (Tuần 9 - 12): Phân tích mã nguồn C của OpenSwan, debug các hàm xử lý cú pháp trong thư viện libipsecconf và daemon pluto, biên dịch phiên bản tùy biến.
  • Giai đoạn 4 (Tuần 13 - 15): Kiểm thử bắt gói tin, đánh giá độ an toàn mã hóa qua Wireshark, tối ưu hóa MTU và hoàn thiện tài liệu kỹ thuật.

Implementation và kết quả

Development process

Quá trình cấu hình và biên dịch hệ thống tập trung vào các tệp cấu hình cốt lõi và module mã nguồn C:

1. Cấu hình dịch vụ IPSec Core (/etc/ipsec.conf)

Tệp cấu hình xác định các thông số hoạt động của daemon Pluto, kích hoạt NAT-Traversal và khai báo tham số kết nối:

# /etc/ipsec.conf - Cấu hình OpenSwan IPSec
version 2.0

config setup
    dumpdir=/var/run/pluto/
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16
    protostack=netkey

conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    ikelifetime=8h
    keylife=1h
    type=transport
    left=192.168.1.134
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any

Khóa bảo mật Pre-Shared Key được thiết lập trong /etc/ipsec.secrets:

# /etc/ipsec.secrets
%any: PSK "123456"

2. Cấu hình tầng giao vận L2TP (/etc/xl2tpd/xl2tpd.conf) và xác thực PPP

# /etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = no
debug network = yes

[lns default]
ip range = 10.0.0.100-10.0.0.150
local ip = 10.0.0.1
require chap = yes
refuse pap = yes
require authentication = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

Tệp tùy chọn PPP (/etc/ppp/options.xl2tpd) cấu hình thuật toán xác thực người dùng MS-CHAPv2 và giới hạn MTU tránh phân mảnh gói:

# /etc/ppp/options.xl2tpd
require-mschap-v2
refuse-mschap
refuse-pap
refuse-chap
ms-dns 8.8.8.8
auth
mtu 1410
mru 1410
name vpnserver

3. Phân tích và tùy biến mã nguồn C của OpenSwan

Quá trình tùy biến can thiệp trực tiếp vào bộ phân tích cú pháp (parser) và module hiển thị dòng lệnh:

  • Module programs/pluto/whack.cprograms/pluto/connections.c: Thay thế từ khóa cấu hình mạng hai đầu kết nối (left -> trai, right -> phai, subnet -> phu).
  • Module lib/libipsecconf/confread.c: Tùy biến bộ nạp cấu hình để đọc hiểu cú pháp mới:
/* Đoạn mã tùy biến trong lib/libipsecconf/confread.c */
if (strcmp(token, "trai") == 0) {
    conn->left.host = clone_str(val);
} else if (strcmp(token, "phai") == 0) {
    conn->right.host = clone_str(val);
} else if (strcmp(token, "traiphu") == 0) {
    conn->left.subnet = parse_subnet(val);
} else if (strcmp(token, "phaiphu") == 0) {
    conn->right.subnet = parse_subnet(val);
}
  • Module programs/verify/verify.in: Việt hóa toàn bộ thông báo trạng thái kiểm tra hệ thống của lệnh ipsec verify.
+-------------------------------------------------------------------------+
|                  BẢNG ÁNH XẠ CÚ PHÁP TÙY BIẾN OPENSWAN                  |
+----+----------------------+--------------------+------------------------+
| STT| Thuật ngữ gốc        | Thuật ngữ Việt hóa | Ý nghĩa kỹ thuật       |
+----+----------------------+--------------------+------------------------+
| 01 | left                 | trai               | Địa chỉ IP Gateway A   |
| 02 | leftsubnet           | traiphu            | Dải mạng nội bộ sau A  |
| 03 | leftrsasigkey        | trairsasigkey      | Khóa RSA Gateway A     |
| 04 | right                | phai               | Địa chỉ IP Gateway B   |
| 05 | rightsubnet          | phaiphu            | Dải mạng nội bộ sau B  |
| 06 | rightrsasigkey       | phairsasigkey      | Khóa RSA Gateway B     |
+----+----------------------+--------------------+------------------------+

Testing và validation

Quá trình kiểm thử được thực hiện qua các kịch bản kiểm tra toàn diện:

  1. Kiểm tra trạng thái dịch vụ: Lệnh ipsec verify trả về trạng thái chuẩn hóa:

    • Checking your system to see if IPsec got installed and started correctly [OK]
    • Pluto listening for IKE on udp 500 [OK]
    • Pluto listening for NAT-T on udp 4500 [OK]
    • Two or more interfaces found, checking IP forwarding [OK]
  2. Kiểm thử kết nối và định tuyến:

    • Máy Client Windows 7 khởi tạo kết nối L2TP/IPSec thành công tới Gateway 192.168.1.134.
    • Client được cấp phát địa chỉ IP nội bộ 10.0.0.100 từ dải IP của xl2tpd.
    • Thực hiện lệnh ICMP Echo Request (ping 10.0.0.10 - máy Domain Controller), kết quả phản hồi 100% không mất gói (0% Packet Loss), thời gian đáp ứng (RTT) trung bình < 2ms.
  3. Phân tích bắt gói tin (Packet Sniffing) với Wireshark:

    • Khi chưa thiết lập IPSec: Các gói tin ICMP và dữ liệu truyền tải hiển thị rõ dưới dạng Plaintext kèm thông tin IP Header gốc.
    • Khi kích hoạt đường hầm IPSec ESP: Toàn bộ dữ liệu Payload và giao thức tầng trên (TCP/UDP/ICMP) được mã hóa hoàn toàn thành gói tin giao thức ESP (IP Protocol 50). Các trường nhận diện hiển thị gồm ESP Header, SPI (32-bit), Sequence NumberESP Trailer (ICV/Auth Data). Kẻ tấn công trên đường truyền mạng công cộng hoàn toàn không thể giải mã nội dung gói tin.
+-------------------------------------------------------------------------+
|                  CẤU TRÚC ĐÓNG GÓI DỮ LIỆU IPSEC ESP                    |
|                                                                         |
|  [ New IP Header ] [ ESP Header ] [ TCP/UDP ] [ Data Payload ]          |
|  (Routable IP)     (SPI, Seq Num) <──────── Encrypted ────────>         |
|                                                                         |
|  [ ESP Trailer ]   [ ESP Auth Data ]                                    |
|  (Padding, PadLen) (ICV - HMAC Integrity Check)                         |
+-------------------------------------------------------------------------+

Đổi mới và đóng góp

  1. Tùy biến mã nguồn mức hệ thống: Thay vì chỉ dừng lại ở mức độ ứng dụng cấu hình sẵn có, tác giả đã can thiệp vào tầng mã nguồn C của dự án OpenSwan, bóc tách cấu trúc các module Pluto, Whack và thư viện libipsecconf. Việc ánh xạ thành công các cú pháp cấu hình sang ngôn ngữ tiếng Việt chứng minh khả năng làm chủ kiến trúc phần mềm bảo mật mức mã nguồn.
  2. Tối ưu hóa khả năng tương thích: Kết hợp thành công ngăn xếp mạng Linux Netkey hiện đại với tầng giao vận xl2tpd, giải quyết triệt để xung đột MTU thông qua thiết lập mtu 1410 và kỹ thuật PMTUD (Path MTU Discovery - RFC 1191).
  3. Cơ chế NAT-Traversal linh hoạt: Triển khai cơ chế đóng gói UDP Encapsulation cho lưu lượng ESP qua cổng 4500, cho phép các máy trạm nằm sau các bộ định tuyến PAT (Port Address Translation) gia đình hoặc mạng 4G/5G kết nối an toàn về máy chủ doanh nghiệp mà không làm hỏng tính toàn vẹn của mã kiểm tra ICV.

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  • Kết nối chi nhánh doanh nghiệp (Site-to-Site VPN): Thiết lập mạng WAN ảo liên kết văn phòng đại diện tại Hải Phòng với trụ sở chính tại Hà Nội qua kết nối Internet thông thường, tiết kiệm chi phí thuê kênh riêng lên tới 70% mỗi tháng.
  • Truy cập từ xa cho nhân viên (Remote Access VPN): Cung cấp giải pháp cho kỹ sư, cán bộ quản lý truy cập cơ sở dữ liệu nội bộ, máy chủ thư điện tử Exchange/Postfix và hệ thống ERP của doanh nghiệp khi đi công tác bên ngoài.
+-----------------------------------------------------------------------------+
|               MÔ HÌNH SITE-TO-SITE & REMOTE ACCESS TỔNG HỢP                 |
|                                                                             |
|  [ Chi nhánh Hải Phòng ]             [ Trụ sở chính Hà Nội ]                |
|  (LAN: 192.168.2.0/24)               (LAN: 10.0.0.0/24)                     |
|           │                                   │                             |
|    [ VPN Gateway HP ]                  [ VPN Gateway HN ]                   |
|           │                                   │                             |
|           └───────> [ Internet Public ] <─────┘                             |
|                           ▲                                                 |
|                           │ (L2TP/IPSec)                                    |
|                   [ Remote RoadWarrior ]                                    |
|                   (Laptop / Mobile IP)                                      |
+-----------------------------------------------------------------------------+

Hướng dẫn triển khai nhanh trên CentOS 7

# 1. Cài đặt các gói phụ thuộc và bộ phần mềm
yum install -y epel-release
yum install -y openswan xl2tpd ppp iptables-services

# 2. Kích hoạt tính năng chuyển tiếp gói tin (IP Forwarding)
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects = 0" >> /etc/sysctl.conf
sysctl -p

# 3. Khởi động và kiểm tra dịch vụ
systemctl enable ipsec xl2tpd
systemctl restart ipsec
systemctl restart xl2tpd
ipsec verify

Hạn chế và hướng phát triển

Mặc dù đạt được các kết quả thực nghiệm tích cực, đề tài vẫn ghi nhận một số hạn chế kỹ thuật:

  • Phiên bản giao thức: Hệ thống hiện tại chủ yếu vận hành trên chuẩn giao thức IKEv1. Trong tương lai cần nâng cấp hỗ trợ đầy đủ IKEv2 (RFC 7296) để tăng tốc độ bắt tay thiết lập phiên kết nối (giảm số lượt trao đổi thông điệp đàm phán) và nâng cao khả năng phục hồi kết nối khi thay đổi địa chỉ IP mạng (MOBIKE).
  • Phạm vi kiểm thử thực tế: Quá trình kiểm nghiệm liên tỉnh giữa hai máy chủ vật lý đặt tại Hà Nội và Hải Phòng còn gặp rào cản về hạ tầng IP tĩnh công cộng, phần lớn dữ liệu được kiểm thử trên môi trường giả lập mạng WAN đa lớp.
  • Xu hướng công nghệ: Cần mở rộng nghiên cứu sang ngăn xếp StrongSwan và giải pháp VPN thế hệ mới WireGuard để đánh giá hiệu năng xử lý đa luồng trên các máy chủ có lưu lượng gigabit.

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành An toàn thông tin/CNTT: Có được tài liệu tham khảo chi tiết về cơ chế hoạt động thực tế của ngăn xếp giao thức IPSec, cách thức cấu hình và bắt gói tin phân tích mật mã.
  • Kỹ sư mạng & Quản trị hệ thống (DevOps/SysAdmin): Nắm vững quy trình dựng giải pháp VPN Remote Access chi phí 0 đồng trên Linux, tích hợp mượt mà với hạ tầng xác thực Windows Active Directory.
  • Doanh nghiệp vừa và nhỏ (SMEs): Tiếp cận giải pháp bảo mật dữ liệu kênh truyền với chi phí đầu tư ban đầu thấp, tận dụng tối đa phần cứng máy chủ hiện có mà vẫn đảm bảo tính bảo mật chuẩn quốc tế.

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

1. Yêu cầu phần cứng tối thiểu để triển khai VPN Server OpenSwan là gì?

Máy chủ chạy hệ điều hành Linux (CentOS 7, Ubuntu Server 18.04+) với tối thiểu 1 CPU core (x86_64), 1 GB RAM, 10 GB dung lượng ổ cứng và tối thiểu 02 giao diện mạng (Network Interface Cards - NICs): 1 card mạng nối Internet (Public IP) và 1 card mạng nối mạng LAN nội bộ.

2. Sự khác biệt cơ bản giữa chế độ Transport Mode và Tunnel Mode trong IPSec là gì?

Trong Transport Mode, chỉ có phần dữ liệu Payload và giao thức tầng trên được mã hóa; IP Header ban đầu được giữ nguyên (thường dùng cho kết nối Host-to-Host). Trong Tunnel Mode, toàn bộ gói tin IP ban đầu (bao gồm cả IP Header gốc) đều được đóng gói mã hóa, và một IP Header mới được thêm vào phía trước để định tuyến trên Internet (chuẩn cho kết nối Gateway-to-Gateway hoặc Gateway-to-Host).

3. Tại sao cần mở cả cổng UDP 500 và UDP 4500 trên Firewall?

Cổng UDP 500 được sử dụng cho giao thức đàm phán khóa IKE tiêu chuẩn. Cổng UDP 4500 được kích hoạt tự động khi phát hiện thiết bị NAT ở giữa hai đầu kết nối (NAT-Traversal), cho phép bọc gói tin mã hóa ESP vào trong tiêu đề UDP tiêu chuẩn để vượt qua bộ lọc PAT/NAT mà không làm hỏng tính toàn vẹn dữ liệu.

4. Hệ thống OpenSwan có hỗ trợ xác thực bằng chứng chỉ số X.509 không?

Có. Ngoài cơ chế chia sẻ khóa bí mật Pre-Shared Key (PSK), OpenSwan hỗ trợ đầy đủ chứng chỉ số công cộng X.509, danh sách thu hồi chứng chỉ (CRL) truy xuất qua HTTP/LDAP và tích hợp hạ tầng khóa công khai PKI nhằm đảm bảo an toàn tối đa cho quy mô doanh nghiệp lớn.

5. Tại sao phải thiết lập thông số MTU xuống 1410 trong cấu hình PPP/L2TP?

Do quá trình đóng gói dữ liệu của L2TP và IPSec ESP bổ sung thêm các tiêu đề (Headers) và đuôi (Trailers) vào gói tin IP gốc, việc giảm MTU/MRU xuống 1410 bytes giúp kích thước gói tin sau khi mã hóa không vượt quá chuẩn Maximum Transmission Unit (thường là 1500 bytes của Ethernet), ngăn ngừa hiện tượng phân mảnh gói tin (Packet Fragmentation) gây suy giảm tốc độ mạng.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu, thử nghiệm hệ thống VPN dựa trên OpenSwan" của sinh viên Vũ Quốc Anh đã hoàn thành xuất sắc các mục tiêu đề ra: hệ thống hóa lý thuyết chuyên sâu về bộ giao thức IPSec, làm chủ kỹ thuật triển khai VPN Remote Access kết hợp L2TP trên nền CentOS 7, và đặc biệt là phân tích, tùy biến thành công mã nguồn C của phần mềm OpenSwan. Kết quả kiểm thử thực nghiệm qua Wireshark khẳng định độ an toàn tuyệt đối của luồng dữ liệu khi đi qua môi trường mạng không tin cậy. Đề tài mở ra hướng ứng dụng thực tiễn cao cho các tổ chức, doanh nghiệp trong việc xây dựng mạng truyền thông an toàn, tiết kiệm chi phí và khẳng định năng lực nghiên cứu ứng dụng chuyên sâu của sinh viên ngành Công nghệ thông tin.