Giới thiệu dự án
Bối cảnh và thực trạng an toàn thông tin
Trong kỷ nguyên chuyển đổi số và bùng nổ của mạng lưới Internet vạn vật (IoT), các hệ thống mạng cục bộ (LAN - Local Area Network) tại các cơ quan, doanh nghiệp và trường đại học đang mở rộng với quy mô chưa từng có. Tuy nhiên, sự gia tăng nhanh chóng về số lượng thiết bị kết nối và các ứng dụng phân tán cũng làm gia tăng theo cấp số nhân các điểm yếu kỹ thuật. Theo các báo cáo an ninh mạng quốc tế, hơn 60% các cuộc tấn công mạng bắt nguồn từ việc khai thác các cổng dịch vụ bị lộ lọt và các phiên bản phần mềm chưa được vá lỗi trong mạng nội bộ. Điển hình như các đợt bùng phát mã độc tống tiền (Ransomware) WannaCry đã lây nhiễm hơn 300.000 máy tính tại 150 quốc gia chỉ trong vài ngày thông qua lỗ hổng giao thức SMB (Server Message Block) trên cổng TCP 445.
Phần lớn các sự cố an ninh nghiêm trọng xuất phát từ việc thiếu quy trình kiểm duyệt an toàn định kỳ trước khi bàn giao hệ thống cho người dùng cuối, hoặc do cấu hình sai lệch (misconfiguration) của quản trị viên. Đối với các doanh nghiệp vừa và nhỏ (SMEs) cũng như các cơ sở giáo dục, chi phí bản quyền cho các phần mềm quét lỗ hổng thương mại như Nessus Professional hay Qualys Guard là rào cản lớn, dẫn đến việc phòng thủ mạng bị buông lỏng.
+-------------------------------------------------------------------------------+
| MÔ HÌNH BẢO MẬT MẠNG THEO ITU |
| |
| +-------------------+ +--------------------+ +----------------------+ |
| | Confidentiality | | Integrity | | Availability | |
| | (Tính bảo mật) | | (Tính toàn vẹn) | | (Tính sẵn sàng) | |
| +---------+---------+ +---------+----------+ +----------+-----------+ |
| +-----------------------+-------------------------+ |
| | |
| TRIỂN KHAI PHẦN MỀM NGUỒN MỞ |
| (Kali Linux / Zenmap / Nikto) |
+-------------------------------------------------------------------------------+
Vấn đề nghiên cứu (Problem Statement)
Đồ án tập trung giải quyết bài toán: Làm thế nào để xây dựng một quy trình tự động hóa rà quét, phát hiện và đánh giá sớm các lỗ hổng bảo mật trong mạng LAN và máy chủ web bằng giải pháp mã nguồn mở, tối ưu chi phí nhưng vẫn đảm bảo độ chính xác và tính toàn diện?
Các điểm nghẽn (pain points) chính gồm:
- Thiếu khả năng giám sát bề mặt tấn công: Không nắm bắt được danh sách các cổng mở (open ports), dịch vụ mạng đang lắng nghe (listening services) và phiên bản hệ điều hành của các thiết bị trong mạng LAN.
- Tồn tại các dịch vụ web lỗi thời: Các máy chủ nội bộ chạy phiên bản ứng dụng cũ (như Apache, PHP đời cũ) chứa các lỗ hổng đã công bố (CVE/OSVDB) nhưng không được nhận diện.
- Rào cản chi phí giải pháp: Sự phụ thuộc vào công cụ thương mại đắt đỏ khiến việc đánh giá an ninh định kỳ không khả thi.
Mục tiêu của đồ án
- Nghiên cứu cơ sở lý thuyết: Hệ thống hóa các khái niệm an toàn thông tin theo chuẩn Liên minh Viễn thông Quốc tế (ITU), phân loại lỗ hổng (khách quan, chủ quan, ngẫu nhiên; lỗ hổng thiết kế, chế tạo, khai thác; lỗ hổng zero-day và lỗ hổng đã biết), cùng chu trình 5 giai đoạn tấn công mạng.
- Khảo sát hệ sinh thái công cụ mã nguồn mở: Phân tích cấu trúc và năng lực của hệ điều hành kiểm thử bảo mật chuyên dụng Kali Linux cùng bộ công cụ tích hợp (Nmap/Zenmap, Nikto, Wireshark, Burp Suite, OWASP ZAP, Aircrack-ng, John the Ripper, Ettercap).
- Thiết kế và triển khai thực nghiệm: Xây dựng mô hình kiểm thử ảo hóa trên nền tảng VMware Workstation, triển khai công cụ rà quét cổng mạng Zenmap và máy quét dịch vụ web Nikto trên mục tiêu cụ thể (
hpu.vn).
- Phân tích kết quả và đề xuất khắc phục: Lập báo cáo chi tiết về các cổng mở, các mã lỗi bảo mật (OSVDB/CVE) phát hiện được và đưa ra khuyến nghị phòng thủ, đóng cổng không cần thiết, cấu hình ẩn danh dịch vụ.
Phương pháp tiếp cận và kết quả kỳ vọng
- Phương pháp tiếp cận: Sử dụng mô hình kiểm thử hộp xám (Gray-box Testing) kết hợp phương pháp quét chủ động (Active Scanning) thông qua việc phân tích gói tin TCP/IP và gửi các truy vấn HTTP request fuzzing.
- Kết quả kỳ vọng:
- Nhận dạng chính xác 100% các cổng TCP đang mở trên máy chủ đích.
- Thu thập đầy đủ thông tin hệ điều hành (OS Fingerprinting) và dấu vết dịch vụ (Service Banner Grabbing).
- Định danh tối thiểu 10+ điểm yếu cấu hình và lỗi phần mềm theo cơ sở dữ liệu OSVDB/CVE.
- Phạm vi và giới hạn: Nghiên cứu tập trung vào kỹ thuật rà quét tầng mạng (Network Layer) và tầng ứng dụng Web (Application Layer) trong phạm vi mạng LAN và máy chủ thử nghiệm được phân quyền; không bao gồm việc khai thác sâu (Exploitation/Payload Delivery) gây phá hoại dữ liệu.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
So sánh các giải pháp rà quét lỗ hổng hiện nay
| Tiêu chí |
Giải pháp Thương mại (Nessus / Qualys) |
Giải pháp Mã nguồn mở (Zenmap + Nikto trên Kali) |
Kỹ thuật kiểm tra thủ công (Manual CLI Scripting) |
| Chi phí bản quyền |
Rất cao ($3,000 - $10,000+/năm) |
0 VNĐ (Mã nguồn mở hoàn toàn) |
0 VNĐ |
| Giao diện người dùng |
Web UI hiện đại, quản lý tập trung |
Giao diện đồ họa (GUI Zenmap) + CLI trực quan (Nikto) |
Dòng lệnh thuần túy, phức tạp |
| Tốc độ quét mạng |
Tối ưu hóa cao |
Nhanh, linh hoạt với các profile quét (-T0 đến -T5) |
Chậm, phụ thuộc script viết tay |
| Cơ sở dữ liệu lỗ hổng |
Liên tục cập nhật tự động qua Cloud |
Cập nhật qua kho Debian repository & Nikto plugins |
Thủ công, khó duy trì cập nhật |
| Độ phức tạp vận hành |
Thấp đến trung bình |
Thấp (thao tác click-and-run trên GUI) |
Rất cao, đòi hỏi chuyên gia |
| Tính tùy biến |
Hạn chế theo chính sách của hãng |
Cực cao (hỗ trợ Nmap Scripting Engine - NSE, tùy biến plugin) |
Không giới hạn |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW
+-------------------------------------------------------------------------------+
| MÔ HÌNH PHÂN HẠNG YÊU CẦU (MoSCoW) |
+-------------------------------------------------------------------------------+
| [M] MUST HAVE: |
| - Nhận diện trạng thái host (Up/Down) qua ICMP/TCP Ping. |
| - Phát hiện toàn bộ dải cổng TCP từ 1 - 65535 đang mở. |
| - Quét và định danh máy chủ web (Apache/Nginx/IIS) cùng phiên bản backend. |
| - Ghi nhận lỗi cấu hình HTTP không an toàn (HTTP TRACE, WebDAV). |
+-------------------------------------------------------------------------------+
| [S] SHOULD HAVE: |
| - Giao diện đồ họa (GUI) trực quan hiển thị bản đồ topology mạng. |
| - Nhận dạng dấu vân tay hệ điều hành (OS Fingerprinting) với độ chính xác >80%.|
| - Báo cáo mã lỗi chuẩn hóa liên kết với cơ sở dữ liệu OSVDB/CVE. |
+-------------------------------------------------------------------------------+
| [C] COULD HAVE: |
| - Khả năng xuất báo cáo dưới nhiều định dạng (XML, HTML, Nmap output). |
| - Tùy chỉnh tham số quét tránh hệ thống phát hiện xâm nhập (IDS/IPS). |
+-------------------------------------------------------------------------------+
| [W] WON'T HAVE: |
| - Tự động tấn công khai thác lỗ hổng (Auto-exploitation). |
| - Tự động vá lỗi trực tiếp trên máy chủ mục tiêu. |
+-------------------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc tổng thể hệ thống thực nghiệm
Hệ thống được thiết kế theo mô hình 3 thành phần chính: Máy quét bảo mật (Scanner Node), Hạ tầng truyền dẫn mạng (LAN/Switch/NAT), và Mục tiêu thử nghiệm (Target Node).
flowchart LR
subgraph Scanner_Environment["Môi trường Kiểm thử (Scanner)"]
VM["VMware Workstation 14.x/15.x"]
Kali["Kali Linux 2018 (Debian 9.x 64-bit)"]
ZMap["Zenmap GUI (Nmap 7.70)"]
Nikto["Nikto Web Scanner v2.1.6"]
VM --> Kali
Kali --> ZMap
Kali --> Nikto
end
subgraph Network_Fabric["Hạ tầng Mạng (Network Fabric)"]
Router["Gateway Router / Switch"]
Internet(("Mạng Internet / Mạng LAN"))
end
subgraph Target_Environment["Máy chủ Mục tiêu (Target Server)"]
TargetHost["Target Host: hpu.vn"]
WebServices["Apache Web Server\nPHP Engine v5.2.2"]
OpenPorts["Open Ports:\n21 (FTP), 80 (HTTP), 135, 139, 443, 445 (SMB), 3306 (MySQL), 3389 (RDP)"]
TargetHost --> WebServices
TargetHost --> OpenPorts
end
ZMap -->|"Gửi gói tin thăm dò TCP SYN/Connect (-T4 -A -v)"| Router
Nikto -->|"HTTP Request Fuzzing & Header Analysis"| Router
Router --> Internet
Internet --> TargetHost
Chi tiết công nghệ và thông số cấu hình
- Nền tảng ảo hóa: VMware Workstation Pro phiên bản 14.x/15.x.
- Hệ điều hành kiểm thử: Kali Linux (Debian 9.x 64-bit, Kernel 4.1x, giao diện GNOME/XFCE).
- Yêu cầu phần cứng máy ảo:
- Vi xử lý: 2 Cores vCPU (Kiến trúc x86_64).
- Dung lượng RAM: Tối thiểu 2.0 GB (khuyến nghị 4.0 GB).
- Ổ đĩa cứng ảo (Virtual Disk): 40.0 GB (định dạng phân vùng đơn
/dev/sda với bộ nạp khởi động GRUB).
- Card mạng ảo (vNIC): Chế độ Bridged / NAT kết nối trực tiếp Internet.
- Bộ công cụ cốt lõi:
- Zenmap (Nmap Frontend v7.70): Sử dụng các module Nmap Scripting Engine (NSE), Traceroute engine và OS detection fingerprints.
- Nikto Web Scanner (v2.1.6): Cơ sở dữ liệu hơn 6.700 mẫu tệp nguy hiểm, kiểm tra phiên bản trên 1.250 loại máy chủ web, tích hợp kiểm thử 270+ loại lỗ hổng cấu hình.
Quy trình và phương pháp luận (Methodology)
Quy trình thực hiện tuân theo tiêu chuẩn đánh giá bảo mật PTES (Penetration Testing Execution Standard) được rút gọn cho giai đoạn Information Gathering và Vulnerability Assessment:
+-------------------------------------------------------------------------------+
| TIẾN TRÌNH THỰC NGHIỆM 4 GIAI ĐOẠN |
+-------------------------------------------------------------------------------+
| Giai đoạn 1: Chuẩn bị & Cài đặt (Setup & Baseline) |
| - Cài đặt VMware -> Cấu hình phần cứng máy ảo -> Cài đặt Kali Linux ISO |
| - Thiết lập phân vùng /dev/sda, cấu hình mạng DHCP/NAT, cập nhật Debian Repo |
+---------------------------------------+---------------------------------------+
|
+---------------------------------------v---------------------------------------+
| Giai đoạn 2: Quét thăm dò tầng mạng (Zenmap / Network Reconnaissance) |
| - Chạy profile "Intense Scan" với các tham số: -A (OS/Service/NSE), -T4, -v |
| - Lọc danh sách IP, cổng mở, dịch vụ và vẽ topology mạng máy chủ đích |
+---------------------------------------+---------------------------------------+
|
+---------------------------------------v---------------------------------------+
| Giai đoạn 3: Rà quét tầng ứng dụng Web (Nikto / Web Vulnerability Scan) |
| - Thực thi lệnh quét mục tiêu cổng 80/443 qua Nikto |
| - Rà soát các HTTP Method nguy hiểm (TRACE, OPTIONS, PUT) |
| - Đối chiếu mã định danh lỗ hổng với kho cơ sở dữ liệu OSVDB |
+---------------------------------------+---------------------------------------+
|
+---------------------------------------v---------------------------------------+
| Giai đoạn 4: Tổng hợp, Đánh giá rủi ro & Đề xuất phòng thủ |
| - Phân loại mức độ nghiêm trọng (High/Medium/Low) theo CVSS |
| - Đề xuất giải pháp cấu hình tường lửa iptables, tắt dịch vụ và cập nhật bản vá|
+-------------------------------------------------------------------------------+
Implementation và kết quả
Quá trình triển khai kỹ thuật
1. Quy trình cài đặt hệ điều hành kiểm thử Kali Linux trên VMware
- Bước 1 - 7: Khởi tạo máy ảo trên VMware (Chọn kiểu cấu hình Typical, chỉ định tập tin
kali-linux-amd64.iso, chọn loại hệ điều hành Linux - phiên bản Debian 9.x 64-bit, đặt dung lượng đĩa cứng 40 GB, cấp phát 2048 MB RAM).
- Bước 8 - 18: Tiến hành cài đặt (Chọn ngôn ngữ tiếng Anh/tiếng Việt, vùng địa lý Việt Nam, cấu hình bàn phím, đặt Hostname máy ảo, thiết lập phân vùng ổ đĩa tự động
Guided - use entire disk trên /dev/sda và xác nhận ghi dữ liệu).
- Bước 19 - 23: Cấu hình bộ quản lý gói mạng (Network Mirror), bỏ qua HTTP proxy, cài đặt GRUB Bootloader vào Master Boot Record (
/dev/sda) và hoàn tất quá trình khởi động.
2. Kỹ thuật rà quét tầng mạng với Zenmap (Nmap)
Khởi chạy Zenmap từ menu ứng dụng: Applications -> Information Gathering -> Zenmap.
Thực thi lệnh quét nâng cao (Intense Scan) trên máy chủ mục tiêu hpu.vn:
# Lệnh thực thi được tạo tự động bởi Zenmap GUI:
nmap -T4 -A -v hpu.vn
Giải thích chi tiết các tham số thuật toán Nmap:
-T4 (Timing Template 4 - Aggressive): Tối ưu hóa thời gian quét bằng cách điều chỉnh dynamic timeout, giảm độ trễ giữa các gói tin gửi đi, cho phép hoàn thành phiên quét nhanh chóng trên đường truyền mạng ổn định.
-A (Advanced Enablement): Kích hoạt đồng thời 4 tính năng nâng cao:
- OS Detection (
-O): Gửi các gói tin TCP/UDP có cờ đặc biệt để phân tích phản hồi TCP Window Size, IP ID generation và TCP Options nhằm xác định hệ điều hành.
- Version Detection (
-sV): Thăm dò các cổng mở để đọc banner chuỗi định danh dịch vụ và phiên bản chi tiết.
- Script Scanning (
-sC): Chạy tập hợp các script mặc định thuộc thư viện NSE (Nmap Scripting Engine) để kiểm tra các lỗ hổng cơ bản.
- Traceroute (
--traceroute): Lần vết các nút mạng (hop) trung gian từ máy quét đến máy chủ đích.
-v (Verbose Output): Hiển thị chi tiết toàn bộ trạng thái tiến trình quét theo thời gian thực lên màn hình console.
+-------------------------------------------------------------------------------+
| KẾT QUẢ QUÉT ZENMAP INTENSE SCAN |
+------+-----------+--------------------+---------------------------------------+
| PORT | TRẠNG THÁI| DỊCH VỤ (SERVICE) | ĐÁNH GIÁ MỨC ĐỘ RỦI RO |
+------+-----------+--------------------+---------------------------------------+
| 21 | Open | FTP | Trung bình (Truyền plaintext, brute-force)|
| 80 | Open | HTTP | Thấp (Cổng tiêu chuẩn web, cần bảo vệ SSL)|
| 135 | Open | msrpc | Cao (Lỗ hổng RPC Endpoint Mapper) |
| 139 | Open | netbios-ssn | Cao (Nguy cơ rò rỉ cấu trúc mạng nội bộ)|
| 443 | Open | HTTPS | Thấp (Cổng web bảo mật mã hóa) |
| 445 | Open | microsoft-ds (SMB) | Nghiêm trọng (Mục tiêu của Ransomware)|
| 3306 | Open | MySQL | Cao (Lộ lọt cổng CSDL ra bên ngoài) |
| 3389 | Open | ms-wbt-server(RDP) | Rất cao (Rủi ro brute-force Remote Desktop)|
| 49152| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
| 49153| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
| 49154| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
| 49155| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
| 49156| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
| 49157| Open | msrpc (Dynamic) | Trung bình (Dải cổng động RPC) |
+------+-----------+--------------------+---------------------------------------+
3. Kỹ thuật rà quét máy chủ web với Nikto
Khởi chạy cửa sổ dòng lệnh Terminal và thực thi lệnh quét web server:
# Thực thi quét máy chủ web mục tiêu với Nikto
nikto -h http://hpu.vn
Cơ chế hoạt động của thuật toán Nikto:
- Gửi các chuỗi yêu cầu HTTP GET/HEAD/POST/OPTIONS đã được định dạng sẵn tới máy chủ.
- Phân tích mã phản hồi HTTP (HTTP Response Status Code: 200, 301, 302, 403, 500) và các trường HTTP Response Headers (
Server, X-Powered-By, Allow).
- So sánh dấu vân tay phản hồi với cơ sở dữ liệu quy chuẩn lỗ hổng mã nguồn mở (OSVDB - Open Source Vulnerability Database).
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: [Target_IP_Address]
+ Target Hostname: hpu.vn
+ Target Port: 80
+ Server Banner: Apache Web Server
+ Backend Version: PHP/5.2.2
---------------------------------------------------------------------------
+ [OSVDB-877]: HTTP TRACE method is active, suggesting the host is vulnerable to XST (Cross-Site Tracing).
+ [OSVDB-12184]: /?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 : PHP reveals potentially sensitive information via certain HTTP requests containing specific QUERY strings (PHP Easter Egg).
+ Multiple vulnerabilities detected regarding outdated PHP 5.2.2 engine.
Kết quả đạt được và đánh giá chi tiết
-
Tổng hợp phát hiện tầng mạng (Network Layer):
- Tìm thấy chính xác 14 cổng TCP đang mở.
- Cảnh báo nghiêm trọng đối với cổng 445 (SMB) và 3389 (RDP): Đây là 2 cổng nhạy cảm cao, tuyệt đối không được mở công khai trên môi trường Internet vì có nguy cơ bị tấn công tràn bộ đệm từ xa (RCE) và quét mật khẩu vét cạn (Brute-Force Attack).
- Cổng 3306 (MySQL) bị lộ lọt trực tiếp ra ngoài thay vì chỉ lắng nghe nội bộ (
127.0.0.1 hoặc trong phân vùng DMZ).
-
Tổng hợp phát hiện tầng ứng dụng (Application Layer):
- Nhận diện máy chủ đang sử dụng dịch vụ Apache Web Server và phiên bản PHP 5.2.2. Phiên bản PHP này đã hết vòng đời hỗ trợ (End-of-Life), chứa hàng loạt lỗ hổng bảo mật nghiêm trọng đã được công bố công khai.
- Phát hiện 11 lỗ hổng và điểm yếu cấu hình OSVDB, tiêu biểu gồm:
- OSVDB-877 (Kích hoạt phương thức HTTP TRACE): Cho phép kẻ tấn công thực hiện kỹ thuật tấn công XST (Cross-Site Tracing) nhằm đánh cắp thông tin xác thực như Cookie chứa cờ
HttpOnly qua các cuộc tấn công XSS.
- OSVDB-12184 (Lộ thông tin nhạy cảm qua PHP Easter Egg): Các chuỗi truy vấn đặc thù cho phép truy xuất thông tin phiên bản và cấu hình nội bộ của trình thông dịch PHP mà không cần quyền quản trị.
Đổi mới và đóng góp
Điểm mới trong giải pháp kỹ thuật
- Chuẩn hóa quy trình đánh giá an ninh 2 lớp (Dual-Layer Security Assessment): Kết hợp chặt chẽ giữa rà quét diện rộng hạ tầng mạng bằng Zenmap (Layer 3/4) và rà quét chiều sâu ứng dụng web bằng Nikto (Layer 7), tạo nên bức tranh toàn cảnh về điểm yếu của hệ thống.
- Tối ưu hóa môi trường kiểm thử nguồn mở: Đóng gói và chuẩn hóa quy trình cài đặt Kali Linux trên máy ảo VMware giúp giảm thiểu 80% thời gian cấu hình môi trường cho các quản trị viên mạng so với việc cài đặt riêng lẻ từng công cụ trên các bản phân phối Linux thông thường.
- Trực quan hóa dữ liệu kiểm thử: Sử dụng giao diện Zenmap giúp chuyển đổi các dòng lệnh Nmap phức tạp thành các biểu đồ trực quan, giúp người quản trị dễ dàng phân loại và ưu tiên khắc phục các lỗ hổng nguy cấp.
Đóng góp thực tiễn và học thuật
- Cung cấp tài liệu hướng dẫn thực hành và quy trình rà quét lỗ hổng hoàn chỉnh, có thể ứng dụng trực tiếp làm tài liệu tham khảo cho sinh viên chuyên ngành An toàn thông tin và Công nghệ thông tin.
- Đưa ra khuyến nghị thiết thực cho các đơn vị vận hành mạng LAN về việc rà soát cổng dịch vụ, áp dụng nguyên tắc đặc quyền tối thiểu (Least Privilege) và đóng các cổng dịch vụ nguy hiểm (135, 139, 445, 3389).
Ứng dụng thực tế và triển khai
Kịch bản triển khai trong thực tế (Use Cases)
+-------------------------------------------------------------------------------+
| CÁC KỊCH BẢN ỨNG DỤNG THỰC TẾ |
+-------------------------------------------------------------------------------+
| 1. Kiểm tra an ninh mạng nội bộ định kỳ (Quarterly LAN Audit) |
| - Triển khai máy ảo Kali Linux quét toàn bộ dải mạng IP nội bộ (Subnet /24)|
| - Phát hiện các thiết bị lạ (Rogue Devices) và các cổng dịch vụ mở trái phép|
+-------------------------------------------------------------------------------+
| 2. Kiểm thử bảo mật tiền phát hành (Pre-deployment Staging Validation) |
| - Rà quét máy chủ web bằng Nikto trước khi công khai lên Internet |
| - Đảm bảo các cờ HTTP Header an toàn và tắt các tính năng debug/trace |
+-------------------------------------------------------------------------------+
| 3. Ứng cứu sự cố và cô lập mã độc (Incident Response & Containment) |
| - Quét nhanh phát hiện các máy tính mở cổng SMB 445 chưa vá lỗi |
| - Kịp thời cô lập để ngăn chặn sự lây lan của mã độc dạng Worm/Ransomware |
+-------------------------------------------------------------------------------+
Hướng dẫn khắc phục và phòng thủ hệ thống (Remediation Strategy)
- Cấu hình Tường lửa (Firewall Rules) đóng các cổng không sử dụng:
Sử dụng
iptables trên Linux hoặc Windows Firewall trên máy chủ để chặn truy cập từ bên ngoài vào các cổng nhạy cảm:
# Chặn truy cập từ Internet vào cổng SMB (445) và NetBIOS (139)
sudo iptables -A INPUT -p tcp --dport 445 -j DROP
sudo iptables -A INPUT -p tcp --dport 139 -j DROP
# Chỉ cho phép dải IP nội bộ quản trị truy cập cổng RDP (3389)
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3389 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3389 -j DROP
- Vô hiệu hóa phương thức HTTP TRACE trên Web Server Apache:
Thêm cấu hình sau vào tệp tin
httpd.conf hoặc .htaccess để triệt tiêu lỗ hổng OSVDB-877:
# Vô hiệu hóa HTTP TRACE để ngăn chặn tấn công Cross-Site Tracing (XST)
TraceEnable Off
- Ẩn thông tin định danh máy chủ (Server Banner Grabbing):
Cấu hình trong tệp
security.conf của Apache để ngăn chặn lộ lọt phiên bản máy chủ:
# Ẩn thông tin phiên bản chi tiết của Apache và hệ điều hành
ServerTokens Prod
ServerSignature Off
- Nâng cấp phiên bản phần mềm: Khẩn trương nâng cấp phiên bản PHP 5.2.2 lên các phiên bản PHP ổn định và được hỗ trợ bảo mật chính thức (PHP 8.x), đồng thời vá các bản cập nhật mới nhất cho hệ điều hành.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Mức độ phụ thuộc vào chữ ký có sẵn (Signature-based): Các công cụ rà quét như Nikto và cơ sở dữ liệu NSE của Nmap phụ thuộc vào danh sách các lỗ hổng đã biết, chưa có khả năng tự động phân tích và phát hiện các lỗ hổng chưa từng công bố (Zero-day).
- Hiện tượng dương tính giả (False Positives): Nikto có thể đưa ra các cảnh báo không chính xác nếu máy chủ web được cấu hình URL Rewrite tùy chỉnh cho tất cả các mã phản hồi HTTP 404.
- Tác động băng thông mạng: Việc quét cổng ở chế độ nhanh (
-T4 hoặc -T5) có thể tạo ra lưu lượng gói tin lớn, dễ gây nghẽn mạng cục bộ hoặc kích hoạt các cơ chế khóa IP của hệ thống tường lửa/IPS.
Hướng phát triển trong tương lai
- Tích hợp OpenVAS/Greenbone Vulnerability Management: Xây dựng hệ thống quét lỗ hổng toàn diện với cơ sở dữ liệu cập nhật theo chuẩn CVE/NVD tự động.
- Phát triển kịch bản tự động hóa (Automation Scripting): Viết các script bằng Python để tự động hóa tiến trình: Quét định kỳ -> Tổng hợp kết quả -> Xuất báo cáo PDF -> Gửi cảnh báo qua Email/Telegram cho quản trị viên.
- Tích hợp quy trình DevSecOps: Đưa bước rà quét lỗ hổng tự động vào đường ống CI/CD (Continuous Integration/Continuous Deployment) để kiểm tra mã nguồn và máy chủ staging trước khi deploy sản phẩm.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC BÊN |
+-------------------------------------------------------------------------------+
| Sinh viên & Học viên: |
| - Nắm vững phương pháp luận kiểm thử bảo mật thực tế trên nền tảng Linux. |
| - Làm chủ kỹ năng cấu hình và vận hành các công cụ chuẩn ngành (Nmap, Nikto). |
+-------------------------------------------------------------------------------+
| Quản trị viên hệ thống (SysAdmin / DevOps): |
| - Sở hữu bộ công cụ kiểm thử miễn phí, đánh giá nhanh an ninh mạng nội bộ. |
| - Nhận diện chính xác các cổng bị lộ lọt và cấu hình sai để khắc phục ngay. |
+-------------------------------------------------------------------------------+
| Doanh nghiệp vừa và nhỏ (SMEs): |
| - Tiết kiệm 100% chi phí bản quyền phần mềm bảo mật (tương đương hàng nghìn USD/năm).|
| - Nâng cao mức độ an toàn thông tin, giảm thiểu rủi ro bị tấn công mạng. |
+-------------------------------------------------------------------------------+
| Giảng viên & Nhà nghiên cứu: |
| - Tài liệu tham khảo có cấu trúc rõ ràng cho các môn học Mạng máy tính & ATTT.|
| - Nền tảng mở để tiếp tục phát triển các module mở rộng trong tương lai. |
+-------------------------------------------------------------------------------+
Câu hỏi thường gặp (FAQ)
1. Yêu cầu phần cứng tối thiểu để triển khai phòng lab quét bảo mật này là gì?
Hệ thống yêu cầu máy tính vật lý có CPU tối thiểu 2 nhân hỗ trợ ảo hóa (Intel VT-x hoặc AMD-V), RAM tối thiểu 4 GB (dành 2 GB cho máy ảo Kali Linux và 2 GB cho máy chủ ảo đích), và dung lượng ổ đĩa trống tối thiểu 40 GB để cài đặt VMware và chứa các tệp nhật ký quét.
2. Sự khác biệt cơ bản giữa Zenmap và Nikto là gì?
- Zenmap (Nmap): Tập trung vào tầng mạng và giao vận (Layer 3 - Layer 4). Nhiệm vụ chính là phát hiện máy chủ nào đang hoạt động, mở các cổng nào, chạy dịch vụ gì và hệ điều hành là gì.
- Nikto: Tập trung vào tầng ứng dụng Web (Layer 7). Nhiệm vụ là kiểm tra chi tiết máy chủ web (như Apache/Nginx) để tìm các tệp tin nguy hiểm, cấu hình sai, phương thức HTTP không an toàn và các mã lỗi trong cơ sở dữ liệu OSVDB/CVE.
3. Việc rà quét bằng Zenmap và Nikto có làm gián đoạn dịch vụ mạng không?
Nếu sử dụng các cấu hình quét nhanh (-T4, -T5 trên Nmap) hoặc gửi hàng nghìn request liên tục trên Nikto đối với các máy chủ yếu, hệ thống có thể bị quá tải tạm thời. Do đó, trên môi trường thực tế (Production), khuyến nghị sử dụng tham số quét vừa phải (-T2 hoặc -T3) và thực hiện vào các khung giờ thấp điểm.
4. Tại sao cần phải tắt phương thức HTTP TRACE trên máy chủ Web?
Phương thức HTTP TRACE được thiết kế cho mục đích gỡ lỗi (debug), cho phép máy chủ phản hồi lại đúng nội dung mà client gửi lên (bao gồm cả các trường HTTP Request Header). Kẻ tấn công có thể lợi dụng tính năng này thông qua lỗ hổng Cross-Site Scripting (XSS) để đọc trộm các Cookie nhạy cảm có gắn cờ HttpOnly, dẫn đến chiếm quyền điều khiển phiên đăng nhập (Session Hijacking).
5. Giải pháp này có thể thay thế hoàn toàn các phần mềm thương mại đắt tiền không?
Đối với các mạng quy mô vừa và nhỏ, việc kết hợp Kali Linux, Zenmap và Nikto hoàn toàn đáp ứng tốt nhu cầu phát hiện sớm các nguy cơ bảo mật phổ biến với chi phí 0 đồng. Tuy nhiên, đối với các tập đoàn lớn cần quản lý hàng nghìn thiết bị tập trung, có quy trình quản lý bản vá tự động và tuân thủ các chứng chỉ an ninh quốc tế (như PCI-DSS, ISO 27001), các giải pháp thương mại sẽ cung cấp hệ thống báo cáo quản trị và hỗ trợ kỹ thuật chuyên sâu hơn.
Kết luận
Đề tài tốt nghiệp "Phát hiện lỗ hổng bảo mật trong mạng LAN dựa trên phần mềm nguồn mở" do sinh viên Nguyễn Bá Đức thực hiện dưới sự hướng dẫn của TS. Ngô Trường Giang đã hoàn thành xuất sắc các mục tiêu nghiên cứu và thực nghiệm đề ra.
Thông qua việc kết hợp sức mạnh của hệ điều hành kiểm thử Kali Linux cùng bộ công cụ nguồn mở Zenmap (Nmap) và Nikto, đề tài đã chứng minh tính khả thi vượt trội trong việc xây dựng một hệ thống rà quét an ninh mạng chi phí thấp nhưng đạt hiệu quả kỹ thuật cao. Thực nghiệm trên mục tiêu thực tế đã phát hiện thành công 14 cổng TCP mở cùng 11 cảnh báo an ninh ứng dụng web (OSVDB-877, OSVDB-12184), cung cấp cơ sở dữ liệu xác thực để thiết lập các giải pháp phòng thủ, phân vùng mạng và cấu hình an toàn cho hệ thống.
Kết quả của đồ án không chỉ có giá trị học thuật đối với sinh viên chuyên ngành Công nghệ thông tin mà còn mang tính ứng dụng thực tiễn sâu sắc, là giải pháp tham khảo đáng tin cậy cho các nhà quản trị mạng trong việc chủ động bảo vệ tài nguyên thông tin của cơ quan, doanh nghiệp trước làn sóng tấn công mạng ngày càng phức tạp.