Iptables là phần mềm miễn phí được cài mặc định trên các distro hệ điều hành linux. Với Iptables firewall có thể lập trình như chức năng IDS/IPS, có thể ngăn chặn thâm nhập, chống thâm nhập. Một số Rules đơn giản trên Iptables mà chúng ta có thể chống các cuộc tấn công như: Syn Attack, Land Attack, Smurf Attack, DoS
Syn flood là 1 dạng tấn công từ chối dịch vụ, kẻ tấn công gửi các gói tin kết nối SYN đến hệ thống. Syn flood là 1 dạng phổ biến và nó có thể được ngăn chặn bằng đoạn lệnh iptables sau:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j RETURN Trong đó:
--limit 1/s: Tốc độ truyền gói tin trung bình tối đa 1/s (giây) --limit-burst 3: Số lương gói tin khởi tạo tối đa được phép là 3
Giới hạn các kết nối SSH (port 22) không được phép hơn 10 connections trên mỗi 10 phút, rule như sau:
Ngăn DoS tấn công: Rule này cho phép ngăn tấn công kiểu DoS trên website: iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEP Chú giải:
-m limit: dùng giới hạn trên iptables
--limit 25/minute: Giới hạn này cho phép 25 kết nối mỗi phút\ --limit-burst 100: Tổng số lượng kết nối mỗi phút
Log Dorroped Packets: Chúng ta sẽ ghi lại tất cả các gói tin bị dropped như sau: iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
iptables -A LOGGING -j DROP Giới hạn ICMP
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j LOG --log- prefix PING-DROP:
iptables -A INPUT -p icmp -j DROP Một số Iptables Rules tham khảo thêm:
# Reject spoofed packets
iptables -A INPUT -s 10.0.0.0/8 -j DROP iptables -A INPUT -s 169.254.0.0/16 -j DROP iptables -A INPUT -s 172.16.0.0/12 -j DROP iptables -A INPUT -s 224.0.0.0/4 -j DROP iptables -A INPUT -s 240.0.0.0/5 -j DROP iptables -A INPUT -s 0.0.0.0/8 -j DROP iptables -A INPUT -d 0.0.0.0/8 -j DROP
iptables -A INPUT -d 239.255.255.0/24 -j DROP # Drop all invalid packets
iptables -A INPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP # Block TCP-SYN scan attempts (only SYN bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSHSYN -j DROP
# Block TCP-FIN scan attempts (only FIN bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
# Block TCP-ACK scan attempts (only ACK bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG -j DROP
#Block “Christmas Tree” TCP-XMAS scan attempts (packets with FIN, URG, PSH bits)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,FIN,URG,PSH FIN,URG -j DROP
# Block DOS – Teardrop
iptables -A INPUT -p UDP -f -j DROP # Block DDOS – Smurf
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT # Block DDOS – SYN-flood
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP # Block DDOS – SMBnuke
iptables -A INPUT -p UDP –dport 135:139 -j DROP iptables -A INPUT -p TCP –dport 135:139 -j DROP # Block DDOS – Jolt
iptables -A INPUT -p ICMP -f -j DROP # Block DDOS – Fraggle
iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT
#Force Fragments packets check
#Packets with incoming fragments drop them. This attack result into Linux server panic such data loss.
iptables -A INPUT -f -j DROP
# Drop excessive RST packets to avoid smurf attacks
iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit- burst 2 -j ACCEPT
# Once the day has passed, remove them from the portscan list iptables -A INPUT -m recent --name portscan --remove iptables -A FORWARD -m recent --name portscan --remove # These rules add scanners to the portscan list, and log the attempt.
iptables -A INPUT -p tcp -m tcp --dport 139 -m recent --name portscan --set -j LOG --log-prefix "Portscan:"
iptables -A FORWARD -p tcp -m tcp --dport 139 -m recent --name portscan --set -j LOG –log prefix "Portscan:"
KẾT LUẬN
Môn Hệ hỗ trợ quyết định(DSS) do thầy PGS.TS Đỗ Phúc phụ trách giảng dạy đã cung cấp cho em rất nhiều kiến thức liên quan đến lĩnh vực Data mining - DSS, Data Warehouse, phân tích bài toán,.. v.v.
Trong quá trình hoàn thành đề tài này, dù đã đạt được những kiến thức nhất định, nhưng tôi nhận thấy Khai phá dữ liệu nói chung và khai phá dữ liệu trong hệ thống IDS/IPS nói riêng là một lĩnh vực nghiên cứu rộng lớn, nhiều triển vọng. Đề tài đã trình bày được các vấn đề cơ bản về khai phá dữ liệu: Tầm quan trọng của Data mining - DSS, các hướng tiếp cận khai phá dữ liệu và các kỹ thuật khai phá dữ liệu. Sử dụng thuật toán gom cụm mà cụ thể ở đây là phương thức k-medoids để ứng dụng vào khai phá dữ liệu để phát hiện xâm nhập.
Với đề tài này, chứng tở khả năng ứng dụng trí tuệ nhân tạo trong ngành chuyên sâu của khoa học máy tính và các ngành khác, nhất là về mạng máy tính, mạng Internet. Đề tài đã đua ra mô hình hoạt động của một hệ thống thông minh trợ giúp người dùng và người quản trị mạng nhằm phát hiện các xâm nhập tiền ẩn khả năng tấn công tấn công từ chối dịch vụ.
Tuy nhiên, do hạn chế về mặt thời gian và lượng kiến thức vốn có nên phần nghiên cứu mới chỉ dừng lại ở cấp độ demo hệ thống với một số kiểu tấn công tấn công từ chối dịch vụ đơn giản.
Khi mà lượng dữ liệu thu thập và lưu trữ ngày càng tăng, cùng với nhu cầu nắm bắt thông tin, thì nhiệm vụ đặt ra cho Khai phá dữ liệu ngày càng quan trọng. Sự áp dụng được vào nhiểu lĩnh vực kinh tế xã hội, an ninh quốc phòng, an ninh mạng…
cũng là một ưu thế của khai phá dữ liệu. Với những mong muốn đó tôi hy vọng sẽ dần đưa những kiến thức đã có từ đề tài này sớm trở thành thực tế, phục vụ cho cuộc sống con người chúng ta. Đề tài còn nhiều khiếm khuyết, cần thời gian để hoàn thiện và phát triển thêm.
Hướng phát triển
Trên cơ sở đã trình bày, hiện thực một công cụ cảnh báo tấn công từ chối dịch vụ với giao diện đồ họa thân thiện và có khả năng phản ứng phù hợp với những hành vi được xem là bất thường đó.
Cải tiến trở thành công cụ giám sát thời gian thực các cuộc tấn công DoS, cải tiến thuật toán để làm cho tốc độ tính toán nhanh hơn, không những mở rộng thêm nhiều các mẫu bất thường trong tấn công từ chối dịch vụ mà còn cả các mẫu của các kiểu tấn công khác.
Phát triển công cụ giám sát, cảnh báo các cuộc tấn công DDoS, DRDos, DNS Amplification Attack,..v.v. Hiện nay hai dạng tấn công phổ biến, mà hacker thường tấn công DDos, khuyết đại DNS(DNS Refector or DNS amplication attack)
Xây dựng hệ thống xử lý song song để tăng tốc độ thực hiện đồng thời sẽ đưa ra những phản ứng nhanh cho các hành vi vi phạm.
TÀI LIỆU THAM KHẢO
[1] PGS.TS Đỗ Phúc, Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh, Đại học Quốc gia TP. Hồ Chí Minh(2006).
[2] Lê Văn Dực, Hệ hỗ trợ quyết định, Trường Đại học Bách khoa, Đại học Quốc gia TP. Hồ Chí Minh(2006).
[3] Huỳnh Tuấn Anh, Bài giảng DATAWAREHOUSE AND DATA MINING, Trường Đại học Nha Trang(2008).
[4] Ts.Nguyễn Đình Thúc. Trí tuệ nhân tạo - Mạng Nơron – Phương pháp và ứng dụng, NXB Giáo dục(2000).
[5] PGS.TS Nguyễn Quang Hoan. Nhập môn trí tuệ nhân tạo. Học viện Công nghệ Bưu chính Viễn thông(2007)
[6] Ths. Phạm Nguyễn Anh Huy, Luận văn thạc sĩ tin học “Dùng một số thuật toán khai khoáng dữ liệu hỗ trợ truy xuất các địa chỉ Internet ở WebServer”. Trường Đại học Khoa học Tự nhiên - Đại học quốc gia TPHCM (2000).
[7 ] PGS.TS Đỗ Phúc, Luận văn tiến sĩ toán học “Nghiên cứu và phát triển một số thuật giải, mô hình ứng dụng khai thác dữ liệu (DATA MINING)”. Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia TPHCM (2002)