Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, mạng Internet trở thành phương tiện thiết yếu phục vụ việc trao đổi thông tin, khai thác cơ sở tri thức và vận hành các hệ thống dịch vụ trực tuyến. Tuy nhiên, việc kết nối mạng nội bộ (LAN) của các cơ quan, doanh nghiệp với môi trường Internet tiềm ẩn nguy cơ mất an toàn thông tin nghiêm trọng. Khi không có cơ chế phòng vệ thích hợp, toàn bộ dữ liệu nội bộ, thông tin thương mại và bí mật nghiệp vụ có thể bị xâm nhập, đánh cắp hoặc phá hoại bởi các cuộc tấn công mạng ngày càng tinh vi.
Theo thống kê được tác giả trích dẫn trong văn bản, các cuộc tấn công xâm nhập từ bên trong hệ thống chiếm tới 80%, bên cạnh các nguy cơ thường trực từ bên ngoài Internet như tấn công từ chối dịch vụ (DoS, DDoS, DRDoS) và ăn trộm thông tin. Để bảo vệ hệ thống mạng, giải pháp sử dụng tường lửa (Firewall) là yêu cầu thiết yếu. Mặc dù trên thị trường có nhiều dòng Firewall thương mại (như Cisco ASA 5500, CheckPoint VPN-1/Firewall-1, Vista Firewall, ZoneAlarm), các thiết bị và phần mềm này thường đòi hỏi chi phí đầu tư và duy trì bản quyền rất lớn. Mặt khác, các giải pháp mã nguồn mở trước đây như gói NAT của ipchains trên Linux bộc lộ nhiều hạn chế về khả năng ngăn chặn tấn công từ chối dịch vụ và ghi nhận nhật ký lỗi.
Trước thực trạng đó, khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể:
- Nghiên cứu tổng quan về an ninh mạng, các dạng tấn công cơ bản (xâm nhập, từ chối dịch vụ, trộm cắp thông tin) và các kỹ thuật tấn công điển hình (IP Spoofing, SYN flooding, ICMP flooding).
- Tìm hiểu nền tảng hệ điều hành Linux (kiến trúc nhân, hệ thống tập tin, quản trị người dùng và cấu hình mạng TCP/IP).
- Nghiên cứu nguyên lý hoạt động, phân loại, thành phần và các mô hình kiến trúc tường lửa (Dual-homed Host, Screened Host, Screened Subnet).
- Phân tích chuyên sâu cơ chế hoạt động của Iptables và cấu trúc Netfilter trong nhân Linux (bảng, chuỗi, quy tắc xử lý gói tin, NAT, Masquerade).
- Xây dựng, cấu hình hệ thống Firewall bằng Iptables trên nền tảng Linux Server (Ubuntu Server) và sử dụng công cụ Hping3 để kiểm thử, đánh giá khả năng phòng thủ mạng LAN.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Cơ chế kiểm soát lưu lượng mạng, lọc gói tin và phòng thủ từ chối dịch vụ của hệ thống tường lửa Iptables trên hệ điều hành Linux.
- Phạm vi không gian: Hệ thống mạng cục bộ (LAN) kết nối Internet, triển khai trên hệ điều hành mã nguồn mở Linux Server.
- Phạm vi thời gian: Đề tài được thực hiện và bảo vệ tại Khoa Công nghệ Thông tin, Trường Đại học Võ Trường Toản vào năm 2013.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình kỹ thuật sử dụng
Khóa luận xây dựng hệ thống giải pháp dựa trên các nền tảng lý thuyết và công nghệ mạng - hệ điều hành:
- Mô hình tấn công mạng và giao thức TCP/IP: Tác giả phân tích cơ chế thiết lập kết nối ba bước của giao thức TCP (SYN, SYN/ACK, ACK/RST) để làm rõ nguyên lý tấn công giả mạo địa chỉ IP (IP Spoofing) và tấn công tràn ngập gói tin SYN (SYN flooding). Đồng thời, đề tài phân tích cơ chế chiếm dụng băng thông của tấn công tràn ngập gói tin ICMP (ICMP flooding) và UDP flooding.
- Kiến trúc hệ điều hành Linux: Hệ thống vận hành trên nhân Linux (Kernel) dạng mô-đun, sử dụng không gian đĩa hoán đổi (swap space), giao diện dòng lệnh GNU Bourne Again Shell (bash), cùng các tiện ích chuẩn (
passwd, ls, ps, vi, cat, cp, tar). Quản trị hệ thống dựa trên cấu trúc phân cấp tập tin (/, /bin, /boot, /dev, /etc, /home, /lib, /lost+found, /mnt, /opt, /proc, /root, /sbin, /selinux, /sys, /tmp, /usr, /var/log...) và quản lý tài khoản người dùng/nhóm thông qua các công cụ useradd, usermod, userdel, groupadd, groupmod, groupdel.
- Khung xử lý gói tin Netfilter trong nhân Linux: Netfilter hoạt động như một framework gồm 5 điểm móc (hook) ở Tầng 3 (Network Layer) để can thiệp vào tiến trình xử lý gói tin IP:
NF_IP_PRE_ROUTING (ip_rcv), NF_IP_LOCAL_IN, NF_IP_FORWARD, NF_IP_LOCAL_OUT và NF_IP_POST_ROUTING. Quá trình định tuyến gói tin kết hợp tra cứu bảng thông tin chuyển tiếp FIB (Forwarding Information Table) và bộ đệm cache định tuyến.
- Mô hình và kiến trúc Firewall: Đề tài hệ thống hóa lý thuyết về 2 loại Firewall (Firewall cứng tích hợp trên Router như Cisco ASA 5500 và Firewall mềm cài đặt trên Server như Iptables, ZoneAlarm); 3 thành phần cấu trúc (Bộ lọc Packet-filtering router, Cổng ứng dụng Application-level gateway/Bastion host/Proxy server, Cổng mạch Circuit-level gateway); và 3 kiến trúc triển khai thực tế (Dual-homed Host, Screened Host, Screened Subnet).
Phương pháp nghiên cứu
- Phương pháp phân tích - tổng hợp tài liệu: Thu thập, đối chiếu và tổng hợp các tài liệu kỹ thuật về mạng máy tính, giao thức truyền thông, kiến trúc nhân Linux, các lỗ hổng an ninh mạng và tài liệu kỹ thuật của dự án Iptables/Netfilter.
- Phương pháp thực nghiệm kỹ thuật: Thiết lập mô hình mạng thử nghiệm với máy chủ Ubuntu Server đóng vai trò Firewall Iptables. Tác giả sử dụng công cụ tạo lập và kiểm thử gói tin Hping3 để phát các luồng tấn công mô phỏng (SYN flood, Ping flood, UDP flood) và kiểm tra chính sách kiểm soát dịch vụ mạng (SSH, FTP).
- Nguồn dữ liệu: Dữ liệu gói tin mạng sinh ra trong quá trình mô phỏng lưu lượng bằng công cụ Hping3 và các tệp nhật ký ghi chép hệ thống (log files) tại thư mục
/var/log của Linux Server.
Thiết kế và triển khai
Hệ thống tường lửa mã nguồn mở trong khóa luận được thiết kế và cấu hình chi tiết thông qua công cụ Iptables tích hợp trong nhân Linux:
1. Cấu trúc bảng và chuỗi trong Iptables
Iptables quản lý việc lọc và chuyển đổi gói tin thông qua các bảng (Tables) chứa các chuỗi (Chains) quy tắc định sẵn:
- Bảng Filter: Chịu trách nhiệm lọc gói tin, gồm 3 chuỗi mặc định là
INPUT (gói tin đi vào máy chủ Firewall), FORWARD (gói tin đi xuyên qua Firewall đến máy khác trong mạng LAN) và OUTPUT (gói tin do chính máy chủ Firewall tạo ra gửi đi).
- Bảng NAT: Thực hiện chuyển đổi địa chỉ mạng, gồm chuỗi
PREROUTING (thay đổi địa chỉ đích DNAT trước khi định tuyến), POSTROUTING (thay đổi địa chỉ nguồn SNAT hoặc đóng giả địa chỉ IP Masquerade sau khi định tuyến) và OUTPUT (chuyển đổi địa chỉ cho gói tin cục bộ).
- Bảng Mangle: Chuyên biệt cho việc thay đổi các thông số trong header của gói tin IP (như TOS, TTL).
2. Các tham số điều kiện và mục tiêu xử lý (Target/Jump)
- Mục tiêu (Targets):
ACCEPT (cho phép gói tin đi qua), DROP (hủy bỏ gói tin không phản hồi), REJECT (từ chối gói tin và gửi thông báo lỗi trả lại), LOG (ghi lại thông tin gói tin vào hệ thống nhật ký), MASQUERADE (đóng giả địa chỉ IP cho IP động), DNAT/SNAT (chuyển đổi địa chỉ đích/nguồn).
- Cơ chế giới hạn lưu lượng: Tùy chọn
--limit (thiết lập tốc độ trung bình cho phép của gói tin, ví dụ: 1/s, 10/minute) kết hợp --limit-burst (ngưỡng dung sai gói tin tối đa trước khi áp dụng luật giới hạn) để ngăn chặn hiện tượng tràn ngập băng thông.
- Bộ lọc chuyên sâu: Phân tích trạng thái kết nối (
--state NEW, ESTABLISHED, RELATED), kiểm tra cờ TCP (SYN, ACK, FIN, RST), kiểm tra địa chỉ phần cứng (MAC Address) và các dạng thông điệp ICMP (echo-request, echo-reply).
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày bối cảnh ra đời của đề tài trước áp lực gia tăng của các nguy cơ mất an toàn thông tin trên mạng Internet. Tác giả điểm lại lịch sử phát triển của các giải pháp bảo vệ hệ thống mạng, so sánh giữa các sản phẩm tường lửa thương mại đắt tiền và các giải pháp mã nguồn mở trên Linux. Chương này phân tích hạn chế của gói tường lửa ipchains trước đây và khẳng định tính cần thiết của việc xây dựng hệ thống tường lửa bằng iptables trên Linux Server nhằm tối ưu hóa chi phí cho mạng LAN. Đồng thời, chương 1 xác định rõ phạm vi nghiên cứu và hướng giải quyết của đề tài.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp toàn bộ nền tảng lý thuyết phục vụ cho việc xây dựng tường lửa, bao gồm 4 nội dung chính:
- Tổng quan an ninh mạng: Phân tích tình hình an ninh thông tin thực tế; cấu trúc 3 dạng tấn công (Xâm nhập bên trong/bên ngoài, Từ chối dịch vụ DoS/DDoS/DRDoS, Ăn trộm thông tin); và các kỹ thuật tấn công phổ biến gồm IP Spoofing, SYN flooding, ICMP flooding.
- Tổng quan hệ điều hành Linux: Trình bày lịch sử, ưu nhược điểm, kiến trúc 4 lớp của Linux (Hardware -> Kernel -> Shell -> Utilities/Applications); hướng dẫn chi tiết cú pháp và tham số quản trị tài khoản người dùng (
useradd, usermod, userdel), quản trị nhóm (groupadd, groupmod, groupdel); cấu trúc cây thư mục chuẩn; quản lý giao diện mạng (lo, eth0, eth1, ethn, sln, pppn, plpn) và cơ chế 5 điểm hook của Netfilter trong nhân Linux.
- Tổng quan về Firewall: Định nghĩa, phân loại (Firewall cứng vs Firewall mềm); các chức năng cốt lõi (Packet Filtering, Application Proxy, NAT, Monitoring & Logging, Data Caching, Content Filter, IDS, Quét virus); 3 thành phần cấu trúc (Bộ lọc Packet, Cổng ứng dụng, Cổng mạch); ưu/nhược điểm tổng thể; và 3 mô hình kiến trúc triển khai (Dual-homed Host, Screened Host, Screened Subnet/DMZ).
- Nội dung nghiên cứu Iptables: Trình bày chi tiết cơ chế xử lý gói dữ liệu qua các bảng Filter, NAT, Mangle; hoạt động của Target/Jump; cơ chế Dynamic NAT và IP Masquerade; cùng các tùy chọn dòng lệnh, điều kiện lọc theo giao thức TCP/UDP, ICMP và tùy chọn giới hạn
--limit, --limit-burst.
Chương 3: Nội dung và kết quả thực nghiệm
Chương 3 trình bày toàn bộ quá trình thiết lập mô hình mạng thực nghiệm trên nền tảng máy chủ Ubuntu Server và công cụ kiểm thử Hping3. Tác giả xây dựng các kịch bản cấu hình Iptables cụ thể và tiến hành kiểm thử thực tế qua 5 trường hợp:
- Thực nghiệm kiểm thử và chặn tấn công ngập lụt PING (ICMP Echo Request flood).
- Thực nghiệm kiểm thử và ngăn chặn tấn công tràn ngập gói tin SYN (SYN flood).
- Thực nghiệm thiết lập quy tắc giới hạn và phân quyền truy cập dịch vụ quản trị từ xa SSH (chỉ cho phép địa chỉ IP của quản trị viên).
- Thực nghiệm cấu hình giới hạn quyền truy nhập dịch vụ truyền tệp tin FTP (chỉ cho phép địa chỉ IP của webmaster).
- Thực nghiệm kiểm thử và ngăn chặn tấn công tràn ngập lưu lượng UDP (UDP flood).
Chương 4: Kết luận và hướng phát triển
Chương 4 đánh giá tổng kết các kết quả đạt được từ mô hình thực nghiệm, khẳng định khả năng đáp ứng tốt các yêu cầu bảo vệ mạng nội bộ của giải pháp Iptables so với tường lửa thương mại. Chương này cũng chỉ ra các định hướng nghiên cứu tiếp theo nhằm nâng cao năng lực an ninh mạng cho hệ thống.
Kết quả và đóng góp
Kết quả thực nghiệm chính
Kết quả thực nghiệm trên mô hình mạng LAN sử dụng Ubuntu Server và công cụ phát luồng tấn công Hping3 được ghi nhận chi tiết qua bảng tổng hợp sau:
| Kịch bản thực nghiệm |
Công cụ và phương thức kiểm thử |
Cơ chế cấu hình trên Iptables |
Kết quả ghi nhận thực tế |
| Chống ngập lụt PING (ICMP Flood) |
Hping3 gửi liên tục gói tin ICMP echo-request tốc độ cao từ máy trạm client |
Sử dụng bảng filter, chuỗi INPUT, giao thức icmp, tùy chọn --limit và --limit-burst |
Hệ thống tự động giới hạn và loại bỏ các gói tin ICMP vượt ngưỡng; máy chủ không bị chiếm dụng băng thông |
| Chống ngập lụt SYN (SYN Flood) |
Hping3 gửi hàng loạt gói tin TCP mang cờ SYN với IP giả mạo nhằm chiếm dụng bộ nhớ |
Thiết lập luật kiểm tra cờ TCP (--tcp-flags SYN,ACK,FIN,RST SYN), giới hạn số lượng kết nối NEW |
Ngăn chặn việc tràn bộ đệm hàng đợi kết nối nửa mở (half-open connections); máy chủ duy trì hoạt động ổn định |
| Kiểm soát truy cập SSH (Port 22) |
Thử nghiệm kết nối SSH từ các địa chỉ IP quản trị và các địa chỉ IP trái phép |
Cấu hình chuỗi INPUT chỉ ACCEPT cổng 22 cho duy nhất địa chỉ IP của Admin, mặc định DROP các IP khác |
Địa chỉ IP của Admin đăng nhập thành công; mọi nỗ lực kết nối SSH từ các máy client khác đều bị từ chối |
| Giới hạn truy cập FTP (Port 20/21) |
Thử nghiệm truyền tệp qua giao thức FTP từ nhiều địa chỉ máy trạm trong mạng |
Cấu hình chuỗi INPUT lọc cổng 21, chỉ cấp phép (ACCEPT) cho địa chỉ IP của Webmaster |
Phân quyền truy cập dịch vụ FTP chính xác cho Webmaster; ngăn chặn truy cập trái phép vào kho dữ liệu máy chủ |
| Chống ngập lụt UDP (UDP Flood) |
Hping3 phát sinh luồng gói tin UDP kích thước lớn và tần suất cao hướng vào hệ thống |
Thiết lập quy tắc chuỗi INPUT với giao thức udp, áp dụng bộ lọc giới hạn lưu lượng |
Loại bỏ lưu lượng UDP bất thường, triệt tiêu nguy cơ nghẽn đường truyền và bảo vệ tài nguyên máy chủ |
Giải pháp và kiến nghị của tác giả
- Đề xuất áp dụng giải pháp tường lửa mã nguồn mở Iptables trên hệ điều hành Linux (Ubuntu Server) cho các doanh nghiệp, tổ chức có mạng LAN nội bộ nhằm giảm thiểu chi phí mua sắm thiết bị chuyên dụng mà vẫn đảm bảo tính linh hoạt cao.
- Khuyến nghị cấu hình phối hợp chính sách đóng giả địa chỉ IP (Masquerade) và chuyển đổi địa chỉ mạng động (Dynamic NAT) để che giấu toàn bộ cấu trúc địa chỉ IP nội bộ của mạng LAN trước môi trường Internet.
- Áp dụng nguyên tắc phân quyền tối thiểu: mặc định đóng toàn bộ các cổng dịch vụ trên Firewall (
DROP), chỉ mở các cổng thiết yếu (như SSH, FTP, Web) cho các địa chỉ IP xác thực cụ thể.
Đóng góp của khóa luận
- Chứng minh tính khả thi và hiệu quả của hệ thống tường lửa mã nguồn mở Iptables trong việc thay thế các tính năng cơ bản của Firewall thương mại: tốc độ xử lý nhanh, lọc gói tin dựa trên địa chỉ MAC và cờ TCP, chuyển đổi địa chỉ NAT, ghi chép nhật ký hệ thống và chống tấn công từ chối dịch vụ.
- Cung cấp tài liệu hoàn chỉnh về quy trình cấu hình tường lửa Iptables và quy trình thực nghiệm kiểm thử an ninh mạng bằng công cụ Hping3.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Mức độ kiểm soát gói tin: Hệ thống Firewall xây dựng trong đề tài chủ yếu tập trung vào cơ chế lọc gói tin (Packet Filtering) ở Tầng Mạng và Tầng Giao vận (kiểm tra header, IP, Port, cờ TCP, MAC), chưa đi sâu vào cơ chế kiểm tra gói tin sâu (Deep Packet Inspection) hay phân tích nội dung ở Tầng Ứng dụng để phát hiện virus, mã độc ẩn giấu trong dữ liệu.
- Khả năng tự động hóa an ninh: Hệ thống vận hành hoàn toàn dựa trên tập luật (ruleset) tĩnh do người quản trị cấu hình thủ công; chưa có khả năng tự động thích ứng hoặc phát hiện các dạng tấn công hoàn toàn mới chưa có trong quy tắc.
- Giao diện quản trị: Toàn bộ quá trình thiết lập và giám sát thực hiện qua giao diện dòng lệnh (CLI), đòi hỏi người vận hành phải có kiến thức chuyên sâu về quản trị Linux và cú pháp Iptables.
- Môi trường thử nghiệm: Đánh giá mới dừng lại trên mô hình mạng thực nghiệm với công cụ mô phỏng Hping3, chưa kiểm thử trên hệ thống mạng doanh nghiệp thực tế có lưu lượng truy cập lớn và phức tạp.
Hướng nghiên cứu tiếp
- Nghiên cứu kết hợp Firewall Iptables với các hệ thống phát hiện và ngăn chặn xâm nhập mã nguồn mở (IDS/IPS như Snort, Suricata) để nâng cao khả năng nhận diện các cuộc tấn công phức tạp.
- Phát triển giao diện quản trị đồ họa (GUI) trực quan giúp đơn giản hóa quá trình cấu hình, theo dõi lưu lượng mạng và xuất báo cáo nhật ký.
- Xây dựng các tập luật phòng thủ động, có khả năng tự động phân tích hành vi bất thường và tự động cập nhật danh sách chặn IP theo thời gian thực.
Giá trị tham khảo
Khóa luận là tài liệu học thuật và thực hành có giá trị đối với:
- Sinh viên và học viên chuyên ngành Công nghệ Thông tin, Truyền thông và Mạng máy tính, An toàn thông tin: Nguồn tài liệu tham khảo chi tiết về kiến trúc nhân Linux, cơ chế 5 hook của Netfilter, kỹ thuật bắt tay 3 bước TCP và các phương thức tấn công mạng phổ biến.
- Quản trị viên hệ thống mạng tại các cơ quan, doanh nghiệp vừa và nhỏ: Hướng dẫn thực tế về cách thức triển khai tường lửa miễn phí, cấu hình chia sẻ kết nối Internet (NAT/Masquerade), phân quyền truy cập dịch vụ SSH/FTP và bảo vệ máy chủ Linux trước các đợt tấn công DoS/DDoS cơ bản.
- Các nội dung đáng tham khảo nhất:
- Mục 2.6 và 2.7 (Chương 2): Tổng hợp chi tiết về phân cấp thư mục Linux, các lệnh quản trị user/group và cấu trúc 5 điểm móc Netfilter.
- Mục 2.4 (Chương 2): Bảng tổng hợp các tham số chuyển mạch, điều kiện TCP/UDP/ICMP và target của Iptables.
- Mục 3.2 và 3.3 (Chương 3): Cú pháp sử dụng công cụ Hping3 để tạo lưu lượng mô phỏng tấn công và tập lệnh Iptables tương ứng để phòng thủ.
Câu hỏi thường gặp
1. Cơ chế 5 điểm móc (hook) của Netfilter trong nhân Linux hoạt động như thế nào khi một gói tin IP đi qua hệ thống?
Khi một gói tin IP đi vào máy chủ Linux, gói tin ở Tầng 3 được xử lý bởi hàm ip_rcv và đi qua hook đầu tiên là NF_IP_PRE_ROUTING. Tại đây, hệ thống thực hiện kiểm tra và định tuyến (tra bảng FIB và bộ đệm cache định tuyến). Nếu gói tin có đích đến là chính máy chủ, nó đi qua hook NF_IP_LOCAL_IN để vào các tiến trình tầng trên. Nếu gói tin có đích đến là một máy khác trong mạng, nó được chuyển tiếp qua hook NF_IP_FORWARD. Đối với các gói tin do các tiến trình cục bộ trên máy chủ tạo ra gửi đi, chúng đi qua hook NF_IP_LOCAL_OUT. Cuối cùng, tất cả các gói tin trước khi rời khỏi giao diện mạng đều đi qua hook NF_IP_POST_ROUTING (nơi thường thực hiện SNAT hoặc IP Masquerade).
2. Tại sao tác giả lựa chọn giải pháp Iptables thay thế cho Ipchains?
Theo phân tích của tác giả trong phần lịch sử giải quyết vấn đề, công cụ ipchains sử dụng trên các phiên bản Linux cũ bộc lộ nhiều hạn chế lớn: khả năng ngăn chặn các cuộc tấn công từ chối dịch vụ (DoS/DDoS) kém, cơ chế xử lý gói tin chưa tối ưu và khả năng ghi nhận nhật ký lỗi không cao. Ngược lại, iptables kết hợp với framework Netfilter trong nhân Linux cung cấp khả năng kiểm soát trạng thái kết nối (Stateful Packet Inspection), lọc linh hoạt dựa trên địa chỉ MAC, cờ TCP, hỗ trợ cơ chế giới hạn lưu lượng (--limit, --limit-burst) và ghi chép nhật ký hệ thống toàn diện.
3. Khóa luận sử dụng công cụ nào để kiểm thử tính năng của Firewall Iptables và gồm những kịch bản nào?
Tác giả sử dụng công cụ dòng lệnh Hping3 (công cụ phân tích và tạo lập gói tin TCP/IP) để mô phỏng các cuộc tấn công mạng. Quá trình kiểm thử bao gồm 5 kịch bản thực nghiệm:
- Chặn ngập lụt gói tin ICMP (Ping flooding).
- Chặn ngập lụt gói tin TCP SYN (SYN flooding).
- Giới hạn quyền truy cập dịch vụ quản trị điều khiển từ xa SSH (chỉ cho phép địa chỉ IP của Admin).
- Giới hạn quyền truy nhập dịch vụ truyền tệp tin FTP (chỉ cho phép địa chỉ IP của Webmaster).
- Chặn ngập lụt lưu lượng dữ liệu UDP (UDP flooding).
4. Tấn công SYN flooding diễn ra dựa trên nguyên lý nào và Iptables xử lý nguy cơ này ra sao?
Tấn công SYN flooding khai thác cơ chế bắt tay ba bước của giao thức TCP. Kẻ tấn công liên tục gửi các gói tin TCP mang cờ SYN với địa chỉ IP giả mạo đến máy chủ nạn nhân. Máy chủ tiếp nhận sẽ cấp phát một vùng bộ nhớ đệm để duy trì trạng thái kết nối nửa mở (half-open) và gửi lại gói tin SYN/ACK đến địa chỉ giả mạo. Do không nhận được gói tin RST hay ACK phản hồi, máy chủ phải chờ đợi cho đến khi hết thời gian chờ (timeout). Hàng loạt yêu cầu SYN dồn dập sẽ làm cạn kiệt bộ nhớ và tài nguyên hệ thống của nạn nhân. Trên Iptables, nguy cơ này được xử lý bằng cách thiết lập quy tắc trong chuỗi INPUT để kiểm tra cờ TCP (--tcp-flags SYN,ACK,FIN,RST SYN) và áp dụng các tham số --limit, --limit-burst nhằm giới hạn số lượng kết nối SYN mới được chấp nhận trong một đơn vị thời gian, tự động hủy bỏ (DROP) các yêu cầu vượt ngưỡng.
5. Sự khác biệt cơ bản giữa Firewall cứng và Firewall mềm theo phân tích của tác giả là gì?
Trong Chương 2, tác giả chỉ ra các điểm khác biệt chính:
- Firewall cứng: Được tích hợp trực tiếp trên Router hoặc các thiết bị phần cứng chuyên dụng (ví dụ: Cisco ASA 5500). Hoạt động ở tầng thấp hơn (Tầng Network và Tầng Transport), tốc độ truyền thông cao nhưng không kiểm tra được nội dung gói tin ở tầng ứng dụng và kém linh hoạt trong việc tùy biến chức năng, quy tắc.
- Firewall mềm: Được cài đặt dưới dạng phần mềm trên hệ điều hành máy chủ (ví dụ: Iptables, ZoneAlarm, Norton Firewall). Có tính linh hoạt rất cao (dễ dàng thêm, bớt quy tắc và mô-đun chức năng), có khả năng hoạt động lên đến Tầng Ứng dụng (Application Layer) và có thể kiểm tra nội dung gói tin thông qua các từ khóa lọc.
Kết luận
Khóa luận tốt nghiệp của sinh viên Ngô Thanh Toàn đã nghiên cứu toàn diện cơ sở lý thuyết về an ninh mạng, kiến trúc nhân Linux và cơ chế lọc gói tin Netfilter/Iptables. Tác giả đã thiết kế, triển khai thành công hệ thống tường lửa Iptables trên nền tảng Ubuntu Server và kiểm thử thực nghiệm hiệu quả qua 5 kịch bản tấn công/kiểm soát dịch vụ mạng bằng công cụ Hping3. Kết quả nghiên cứu khẳng định Iptables là một giải pháp mã nguồn mở tối ưu, có khả năng thay thế hiệu quả các dòng tường lửa thương mại đắt tiền trong việc bảo vệ an toàn cho hệ thống mạng LAN nội bộ.