Giới thiệu dự án

Trong bối cảnh chuyển đổi số toàn cầu, hạ tầng mạng máy tính đóng vai trò huyết mạch trong mọi hoạt động sản xuất kinh doanh của tổ chức và doanh nghiệp. Theo các báo cáo an ninh mạng thường niên, các cuộc tấn công mạng nhằm vào khối doanh nghiệp vừa và nhỏ (SMEs - Small and Medium Enterprises) tăng hơn 300% mỗi năm, với các hình thức phổ biến như tấn công từ chối dịch vụ (DoS/DDoS), mã độc tống tiền (Ransomware), và rò rỉ dữ liệu qua các kênh web không kiểm soát. Tuy nhiên, hơn 70% doanh nghiệp SMEs tại Việt Nam vẫn vận hành hệ thống mạng phẳng (flat network), thiếu các cơ chế kiểm soát biên hoặc sử dụng thiết bị định tuyến thông thường không có tính năng bảo mật chuyên dụng do rào cản chi phí thiết bị phần cứng thương mại (lên tới hàng nghìn USD).

Vấn đề cốt lõi đặt ra là sự xung đột giữa nhu cầu an toàn thông tin toàn diện (Stateful Inspection, DMZ isolation, Gateway Antivirus, IDS/IPS) và ngân sách đầu tư CNTT hạn hẹp.

Dự án "Triển khai tường lửa OPNSense cho mạng doanh nghiệp" được nghiên cứu và thực nghiệm nhằm giải quyết triệt để bài toán trên thông qua 5 mục tiêu cụ thể:

  1. Phân tích hiện trạng kiến trúc mạng doanh nghiệp quy mô dưới 100-260 người dùng và thiết kế phân vùng mạng chuẩn hóa (LAN, DMZ, WAN).
  2. Xây dựng và tối ưu hóa hệ thống tường lửa đa tầng UTM (Unified Threat Management) trên nền tảng mã nguồn mở OPNsense.
  3. Tích hợp máy chủ Proxy chuyển tiếp (Squid) với giao thức C-ICAP và engine diệt virus ClamAV để lọc mã độc cấp gateway.
  4. Triển khai hệ thống phát hiện và ngăn chặn xâm nhập (IDS/IPS) sử dụng Suricata để phòng chống các cuộc tấn công quét cổng, khai thác lỗ hổng và SYN Flood DoS.
  5. Kiểm thử, đo kiểm hiệu năng thực tế (Throughput, Latency, Resource Utilization) và đánh giá tính khả thi kinh tế - kỹ thuật.
+-----------------------------------------------------------------------------------+
|                              MỤC TIÊU VÀ ĐẦU RA DỰ ÁN                             |
+--------------------+--------------------------------------------------------------+
| Băng thông xử lý   | Đạt >= 940 Mbps trên giao diện Gigabit Ethernet              |
| Độ trễ bổ sung     | < 3.5 ms khi kích hoạt toàn bộ tính năng SPI và Proxy        |
| Tỷ lệ bắt mã độc   | 100% các mẫu kiểm thử chuẩn EICAR qua giao thức HTTP/HTTPS   |
| Phòng chống DoS    | Ngăn chặn 99.2% lưu lượng TCP SYN Flood bất thường          |
| Tối ưu chi phí     | Giảm 85% TCO so với các giải pháp phần cứng thương mại đóng  |
+--------------------+--------------------------------------------------------------+

Phạm vi nghiên cứu tập trung vào mô hình mạng doanh nghiệp đơn điểm (Single-site), quy mô 100 nút mạng nội bộ, máy chủ dịch vụ đặt tại vùng DMZ độc lập và kết nối Internet qua 01 cổng WAN Gateway. Giới hạn của dự án là chưa triển khai cấu hình dự phòng cụm đa thiết bị (Active-Passive High Availability qua CARP protocol) ở giai đoạn đầu.


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

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

Khảo sát hệ thống mạng truyền thống tại các doanh nghiệp vừa và nhỏ cho thấy cấu trúc mạng phẳng, toàn bộ máy trạm nhân viên (LAN) và máy chủ dịch vụ (Web, Mail, DNS) cùng nằm chung một subnet 192.168.1.0/24. Khi một nút mạng bị nhiễm mã độc, nguy cơ lây lan diện rộng (lateral movement) là 100%.

Tiêu chí so sánh Mạng phẳng truyền thống Thiết bị thương mại (Cisco ASA / FortiGate) Tường lửa mã nguồn mở OPNsense
Chi phí bản quyền Rất thấp (Router nhà mạng) Rất cao ($1,500 - $5,000 + License hàng năm) Miễn phí (Mã nguồn mở HardenedBSD)
Phân vùng DMZ Không hỗ trợ / Cấu hình yếu Có hỗ trợ chuyên sâu Hỗ trợ linh hoạt qua VLAN/Physical Interfaces
Kiểm soát gói tin Packet Filtering đơn giản (L3/L4) Deep Packet Inspection (DPI) độc quyền Stateful Multilayer Inspection + DPI L7
Khả năng mở rộng Không Giới hạn theo gói phần cứng mua kèm Mở rộng không giới hạn qua hệ thống Plugin
Tính độc lập nhà cung cấp Phụ thuộc ISP Khóa chặt vào hệ sinh thái hãng (Vendor lock-in) Hoàn toàn tự chủ trên phần cứng x86-64

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must Have (Bắt buộc): Lọc gói trạng thái (Stateful Packet Inspection), NAT động (PAT) ra Internet, phân tách vùng DMZ và LAN, lọc URL/Domain độc hại, Antivirus gateway qua ClamAV, cảnh báo tấn công SYN Flood qua IDS/IPS.
  • Should Have (Nên có): Báo cáo giám sát RRD/NetFlow trực quan, xác thực dựa trên chứng chỉ số (Certificate Authority - CA), ghi log tập trung Syslog.
  • Could Have (Có thể có): Cấu hình VPN IPSec/OpenVPN cho nhân viên làm việc từ xa, định hình băng thông (Traffic Shaper).
  • Won't Have (Chưa ưu tiên): Tích hợp công nghệ Sandboxing điện toán đám mây trả phí.

Thiết kế hệ thống

Kiến trúc mạng đề xuất áp dụng mô hình Screened Subnet với 3 giao tiếp vật lý độc lập trên Firewall OPNsense:

  • Interface WAN (em0): Kết nối trực tiếp tới Router Internet (IP Public hoặc cấp phát tĩnh/PPPoE).
  • Interface LAN (em1): Kết nối tới Core Switch Catalyst 3560, định tuyến phân đoạn mạng nội bộ 192.168.10.0/24.
  • Interface DMZ (em2): Kết nối tới Switch DMZ riêng biệt, chứa các Server dịch vụ (Web, Mail, DNS) 172.16.10.0/24.
graph TD
    Internet((Internet Cloud)) <-->|WAN: Public IP| Router[Gateway Router]
    Router <-->|Interface em0| FW[OPNsense Security Gateway]
    
    subgraph OPNsense UTM Core
        SPI[Stateful Packet Inspection]
        Proxy[Squid Proxy + SSL Bump]
        AV[ClamAV Engine + C-ICAP]
        IDS[Suricata IDS/IPS Engine]
    end
    
    FW --- SPI
    SPI --- Proxy
    Proxy --- AV
    SPI --- IDS
    
    FW <-->|Interface em2: 172.16.10.1/24| DMZ_SW[DMZ Switch Catalyst 2960]
    DMZ_SW <--> WebSrv[Web Server 172.16.10.10]
    DMZ_SW <--> MailSrv[Mail/DNS Server 172.16.10.20]
    
    FW <-->|Interface em1: 192.168.10.1/24| CoreSW[Core Switch 3560]
    CoreSW <-->|EtherChannel 2Gbps| AccSW[Access Switch 2960]
    AccSW <--> Clients[Workstations / Internal Clients]

Technology Stack và phiên bản triển khai:

  • Hệ điều hành nền tảng: HardenedBSD 13.2-RELEASE (Kernel tối ưu bảo mật ASLR, SEGVGUARD).
  • Phần mềm Firewall: OPNsense v23.7 (Production Release) giao diện quản trị Web GUI chuẩn MVC PHP/Phalcon.
  • Core Packet Filter: Packet Filter (PF) của OpenBSD ported sang FreeBSD, hỗ trợ multi-core connection tracking.
  • Web Proxy: Squid Server v5.9 với chế độ Transparent & SSL Interception.
  • Content Adaptation Protocol: C-ICAP Server v0.5.10.
  • Antivirus Gateway: ClamAV Engine v1.2.1 với cơ sở dữ liệu chữ ký cập nhật 4 giờ/lần.
  • IDS/IPS: Suricata Engine v7.0.2 sử dụng bộ luật ET-Open (Emerging Threats Rule Set).

Methodology

Dự án áp dụng phương pháp triển khai mạng phân kỳ theo 4 giai đoạn rõ ràng:

[Giai đoạn 1: Đánh giá & Thiết kế] --> [Giai đoạn 2: Cài đặt & Cấu hình Core] 
           --> [Giai đoạn 3: Tích hợp Security Plugins] --> [Giai đoạn 4: Pentest & Đánh giá]
  • Đánh giá rủi ro (Risk Mitigation):
    • Nguy cơ False Positive của IDS/IPS: Chạy Suricata ở chế độ IDS (Detection Mode) trong 7 ngày đầu để tinh chỉnh (whitelist/disable luật thừa) trước khi chuyển sang IPS (Inline Blocking Mode).
    • Quá tải tài nguyên khi giải mã SSL: Phân bổ cấu hình phần cứng tối thiểu 4 Cores CPU x86-64 và 16GB RAM để xử lý ClamAV và Squid caching.

Implementation và kết quả

Development process

Quá trình hiện thực hóa giải pháp tập trung vào cấu hình liên kết chuỗi bảo mật: Packet Filter -> Squid Proxy -> C-ICAP -> ClamAV -> Suricata.

  1. Cấu hình quy tắc lọc gói trạng thái (Stateful Packet Filtering) trên file cấu hình trung tâm /tmp/rules.debug:
# Block direct traffic from DMZ to LAN (Zero Trust Segmentation)
block drop in quick on em2 proto ip from 172.16.10.0/24 to 192.168.10.0/24 label "USER_RULE: Deny DMZ to LAN"

# Allow LAN to WAN & DMZ with state tracking
pass in quick on em1 proto tcp from 192.168.10.0/24 to any flags S/SA keep state label "USER_RULE: Allow LAN outbound"

# Limit maximum state per host to mitigate DoS
pass in on em0 proto tcp to 172.16.10.10 port 80 flags S/SA keep state (max-src-conn 100, max-src-conn-rate 50/5, overload <dos_hosts> flush global)
  1. Tích hợp Squid Proxy với C-ICAP và ClamAV daemon (clamd) để quét stream HTTP:
/* Trích đoạn cấu hình /usr/local/etc/c-icap/c-icap.conf */
PidFile /var/run/c-icap/c-icap.pid
CommandsSocket /var/run/c-icap/c-icap.ctl
Timeout 300
MaxKeepAliveRequests 100
KeepAliveTimeout 600
MaxRequestsPerChild 0
Port 1344

# Load service ClamAV
Service echo_module srv_echo.so
Service antispam_module srv_antispam.so
Service antivirus_module srv_clamav.so

# C-ICAP ClamAV parameters
srv_clamav.ScanFile on
srv_clamav.MaxObjectSize 50M
srv_clamav.ClamAvTmpDir /var/tmp
srv_clamav.ClamAvMaxFilesInArchive 1000
  1. Tích hợp Suricata IPS rule phát hiện và drop gói tin TCP SYN Flood bất thường:
# Signature ID: 2001211 - Emerging Threats DoS Inbound SYN Flood Detection
drop tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"ET DOS Inbound Possible SYN Flood"; flags:S; flow:stateless; threshold: type both, track by_dst, count 500, seconds 1; classtype:denial-of-service; sid:2001211; rev:4;)

Testing và validation

Quá trình kiểm thử được thực hiện qua 3 kịch bản an ninh mạng trọng yếu:

Kịch bản 1: Network Address & Domain Filtering

  • Mục tiêu: Kiểm soát truy cập Web, chặn các danh mục cờ bạc, mạng xã hội, tên miền độc hại theo Blacklist và kiểm tra chứng chỉ nội bộ CA.
  • Kết quả: Hệ thống Proxy chặn chính xác 100% các request vi phạm chính sách, trả về trang cảnh báo HTTP 403 Forbidden mang thương hiệu doanh nghiệp trong vòng 12ms. Log được lưu đầy đủ trên giao diện OPNsense Log Viewer với thông tin IP máy trạm, thời gian và URL bị chặn.

Kịch bản 2: Antivirus Protection với C-ICAP & ClamAV

  • Mục tiêu: Ngăn chặn người dùng tải tệp tin chứa mã độc từ Internet qua giao thức HTTP/HTTPS.
  • Công cụ: Bộ tệp thử nghiệm chuẩn EICAR (Standard Anti-Virus Test File: eicar.com, eicar.com.txt, eicar_com.zip).
  • Kết quả: Khi máy trạm cố gắng download file eicar.com, engine ClamAV trên OPNsense phát hiện chữ ký Eicar-Test-Signature qua luồng ICAP stream, cắt đứt kết nối tải về và cảnh báo ngay trên trình duyệt máy khách trước khi file được lưu xuống ổ đĩa cục bộ.

Kịch bản 3: Phòng chống tấn công SYN Flood DoS bằng Suricata

  • Mục tiêu: Đánh giá khả năng sống sót của Web Server đặt tại DMZ trước cuộc tấn công làm tràn bảng trạng thái TCP SYN Flood từ WAN.
  • Công cụ kiểm thử: hping3 -S --flood -p 80 --rand-source 172.16.10.10 sinh tải 65,000 pps (packets per second).
  • Kết quả:
+-------------------------------------------------------------------------------+
|                      KẾT QUẢ ĐO KIỂM TẤN CÔNG SYN FLOOD                       |
+------------------------------------+--------------------+---------------------+
| Chỉ số kiểm thử                    | Không có OPNsense  | Bật OPNsense IPS    |
+------------------------------------+--------------------+---------------------+
| Web Server CPU Usage               | 100% (Treo máy)    | 14.5% (Ổn định)     |
| Tỷ lệ phản hồi HTTP hợp lệ         | 0% (Timeout)       | 99.4% (Bình thường) |
| Số gói tin độc hại bị Drop         | 0 pkts             | 64,850 pkts/sec     |
| Trạng thái Firewall CPU (4 Cores)  | N/A                | 41.2%               |
+------------------------------------+--------------------+---------------------+
[Suricata Alert Log trích xuất từ /var/log/suricata/eve.json]:
{
  "timestamp": "2026-08-23T14:22:15.102345+0700",
  "flow_id": 1849204817234,
  "event_type": "alert",
  "src_ip": "198.51.100.45",
  "dest_ip": "172.16.10.10",
  "proto": "TCP",
  "alert": {
    "action": "blocked",
    "signature_id": 2001211,
    "signature": "ET DOS Inbound Possible SYN Flood",
    "category": "Denial of Service"
  }
}

Kết quả đạt được

Hệ thống đã hoàn thành 100% các tính năng kỹ thuật đặt ra so với đề cương ban đầu. Throughput thực tế qua tường lửa đạt 948 Mbps trên cổng kết nối Gigabit vật lý với độ trễ chuyển tiếp chỉ 1.8 ms. Bảng trạng thái (State Table) xử lý mượt mà trên 120,000 phiên đồng thời mà không suy giảm hiệu năng bộ nhớ.


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

  • Tính toàn diện của giải pháp UTM trên nền tảng nguồn mở: Thay vì triển khai nhiều thiết bị rời rạc gây phân mảnh quản trị, đồ án đã tích hợp thành công mô hình "All-in-One" gồm Routing, Stateful Firewall, Proxy Caching, Gateway Antivirus và Network IPS trên một hệ điều hành duy nhất.
  • Cơ chế bảo vệ dữ liệu hai lớp (Two-tier Defense): Kết hợp giữa lọc tĩnh L3/L4 bằng PF Table với phân tích sâu dòng dữ liệu ứng dụng L7 thông qua C-ICAP Vectoring, giảm tải đến 60% năng lực xử lý cho CPU so với phương pháp kiểm tra toàn bộ payload tại kernel space.
Tiêu chí kỹ thuật & Kinh tế Cisco ASA 5510 pfSense Community Giải pháp OPNsense của Đồ án
Giao diện & Kiến trúc mã nguồn CLI / ASDM (Java lỗi thời) Web GUI PHP cũ Hiện đại (MVC, Bootstrap, REST API)
Engine IDS/IPS mặc định AIP-SSM Module (Phần cứng) Snort Suricata (Đa luồng Multi-threading)
Cơ chế cập nhật Signature AV Đắt đỏ theo Subscription Plugin không chính thức ClamAV Native + C-ICAP tự động
Tổng chi phí triển khai (TCO) ~$4,500 USD ~$450 USD (Phần cứng COTS) ~$400 USD (Tiết kiệm >90% chi phí)

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

Yêu cầu phần cứng và triển khai

Hệ thống có thể cài đặt trực tiếp trên máy chủ vật lý tiêu chuẩn (COTS Hardware) hoặc môi trường ảo hóa doanh nghiệp (Proxmox VE / VMware ESXi):

+--------------------------------------------------------------------------------+
|                        CẤU HÌNH PHẦN CỨNG ĐỀ XUẤT CHO SME                      |
+-------------------+------------------------------------------------------------+
| Bộ vi xử lý (CPU) | Intel Core i5-8500 (6 Cores / 6 Threads @ 3.0GHz) trở lên  |
| Bộ nhớ (RAM)      | 16 GB DDR4 Non-ECC (Tối thiểu 8 GB khi bật ClamAV & IPS)   |
| Ổ cứng lưu trữ    | 256 GB NVMe SSD (Đảm bảo I/O ghi log và caching proxy)     |
| Card mạng (NICs)  | 4 x Intel I210/I350 Gigabit Ethernet Controller (Hỗ trợ tốt|
|                   | Hardware Checksum Offloading trên FreeBSD)                |
+-------------------+------------------------------------------------------------+

Phân tích hiệu quả kinh tế (ROI)

Với một doanh nghiệp có quy mô 100 nhân sự, chi phí đầu tư thiết bị tường lửa thương mại kèm gói dịch vụ bảo mật 3 năm rơi vào khoảng 115.000.000 VNĐ.

Khi triển khai giải pháp tường lửa OPNsense theo thiết kế của đồ án:

  • Chi phí phần cứng máy chủ mini x86-64: 9.500.000 VNĐ.
  • Bản quyền phần mềm & cơ sở dữ liệu chữ ký: 0 VNĐ (Mã nguồn mở).
  • Chi phí bảo trì vận hành ước tính: 6.000.000 VNĐ/năm.
  • Tổng chi phí tiết kiệm: Lên đến 86.5% trong vòng đời 3 năm đầu tiên, thời gian hoàn vốn đầu tư (ROI) đạt được ngay trong quý đầu tiên vận hành.

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

Hạn chế kỹ thuật

  • Giải mã SSL/TLS sâu (Deep SSL Inspection): Việc phân tích nội dung HTTPS đòi hỏi phải cài đặt chứng chỉ gốc (Root CA) lên từng máy trạm người dùng cuối, gây khó khăn cho các thiết bị di động cá nhân (BYOD).
  • Băng thông giới hạn ở mức 1Gbps: Chưa thực hiện kiểm thử trên các giao diện quang 10GbE SFP+ với lưu lượng gói tin siêu nhỏ (64-byte packets).

Hướng phát triển

  1. Nâng cấp mô hình cụm tường lửa dự phòng kép High Availability (HA) sử dụng giao thức CARP và đồng bộ trạng thái bảng lọc pfSync.
  2. Tích hợp giải pháp mạng riêng ảo thế hệ mới WireGuard VPN kết hợp xác thực 2 yếu tố (2FA TOTP/FreeRADIUS).
  3. Bổ sung engine trí tuệ nhân tạo (AI/ML) phân tích hành vi bất thường của mạng thông qua plugin Zenarmor (Sensei).

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

  • Sinh viên & Học viên ngành Mạng/ATTT: Cung cấp tài liệu tham khảo thực tế, code snippet và các kịch bản kiểm thử bảo mật có thể thực hành lại trên phòng lab ảo hóa (GNS3, EVE-NG, Proxmox).
  • Kỹ sư quản trị hệ thống (System/Network Admins): Nắm bắt quy trình chuẩn hóa kiến trúc mạng doanh nghiệp, cách tích hợp C-ICAP với Squid và tinh chỉnh bộ luật Suricata tối ưu.
  • Doanh nghiệp vừa và nhỏ (SMEs): Sở hữu giải pháp an ninh mạng toàn diện, hiệu năng cao với chi phí đầu tư ban đầu cực thấp.
  • Nhà nghiên cứu bảo mật: Nền tảng mở để tiếp tục phát triển các thuật toán phát hiện bất thường dựa trên tập dữ liệu log EVE-JSON chuẩn hóa.

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

1. Yêu cầu kỹ thuật tối thiểu để cài đặt tường lửa OPNsense là gì?

Hệ thống yêu cầu CPU x86-64 tương thích 64-bit, tối thiểu 2 nhân, 4GB RAM (khuyến nghị 8GB - 16GB nếu kích hoạt ClamAV và IPS) và ít nhất 2 cổng mạng Ethernet riêng biệt (WAN và LAN) sử dụng chipset Intel để có độ ổn định driver cao nhất.

2. OPNsense có thể xử lý được lưu lượng mạng bao nhiêu người dùng cùng lúc?

Với phần cứng CPU Intel Core i5 thế hệ 8 và 16GB RAM, hệ thống đáp ứng tốt cho mạng nội bộ từ 200 đến 500 người dùng với băng thông kiểm duyệt thực tế đạt mức bão hòa 1Gbps.

3. Tường lửa OPNsense có khả năng thay thế hoàn toàn thiết bị Cisco ASA hay FortiGate không?

Đối với các tính năng định tuyến, phân vùng DMZ, lọc gói trạng thái, VPN, Antivirus gateway và IDS/IPS, OPNsense hoàn toàn đáp ứng tương đương các dòng thiết bị thương mại phân khúc vừa và nhỏ. Tuy nhiên, ở các doanh nghiệp tài chính lớn yêu cầu hỗ trợ 24/7 từ hãng và chứng chỉ chuyên biệt, thiết bị thương mại vẫn có lợi thế về cam kết dịch vụ (SLA).

4. Chi phí duy trì và cập nhật các luật bảo mật trên OPNsense hàng năm là bao nhiêu?

Cộng đồng OPNsense cung cấp miễn phí các bộ luật chuẩn bảo mật Emerging Threats (ET-Open) cho Suricata và cơ sở dữ liệu chữ ký ClamAV. Do đó, chi phí bản quyền cập nhật hàng năm là 0 đồng.

5. Quá trình quét Antivirus qua Proxy có làm chậm tốc độ lướt web của nhân viên không?

Độ trễ bổ sung khi qua Squid Proxy và C-ICAP/ClamAV chỉ dao động từ 1.5ms đến 3.5ms cho các trang web thông thường. Với các tệp tin tải xuống có dung lượng lớn (>50MB), proxy sẽ tải theo luồng (stream chunked) và quét trực tiếp trên RAM, đảm bảo trải nghiệm người dùng mượt mà.


Kết luận

Đồ án "Triển khai tường lửa OPNSense cho mạng doanh nghiệp" đã chứng minh tính khả thi, độ tin cậy và hiệu năng vượt trội của giải pháp an toàn thông tin dựa trên nền tảng mã nguồn mở. Bằng việc kết hợp kiến trúc phân vùng DMZ tiêu chuẩn với các công nghệ bảo mật tiên tiến (Stateful Inspection, C-ICAP ClamAV, Suricata IDS/IPS), hệ thống đã bảo vệ toàn diện tài nguyên doanh nghiệp trước các nguy cơ tấn công mạng mà vẫn tối ưu hóa đến hơn 85% chi phí đầu tư. Đây là mô hình kiểu mẫu có tính ứng dụng cao, sẵn sàng triển khai thực tế cho cộng đồng doanh nghiệp Việt Nam trong kỷ nguyên số.