Tại thời điểm Snort đã sẵn sàng để chạy. ngoại trừ, nó không có bất kỳ quy tắc nào được tải. Bây giờ chúng tôi viết các quy tắc sẽ cho phép snort phát hiện một cuộc tấn công DoS. Mở tệp local.rules trong trình soạn thảo văn bản dưới dạng root bằng lệnh sau:
sudo gedit /etc/snort/rules/local.rules
Sau đó, chúng tôi nhập như sau:
alert icmp any any -> $HOME_NET any (msg:"ICMP flood"; sid:1000001; rev:1; classtype: icmp-event; detection_filter:track by_dst, count 500, seconds 3;)
Hình 25: Cài rule cho IDS IMCP Flood
Đây là quy tắc của câu lệnh này
Rule Header
alert: Hành động quy tắc. Snort sẽ tạo cảnh báo khi điều kiện đã đặt được đáp ứng
any: Cổng nguồn. Snort sẽ xem xét tất cả các cổng - >: Phương hướng. Từ nguồn đến đích
$HOME_NET: IP đích. Chúng tôi đang sử dụng giá trị HOME_NET từ tệp snort. conf
any: Cảng đích. Snort sẽ xem xét tất cả các cổng trên mạng được bảo vệ
Rule Options
msg:” ICMP flood”: Snort sẽ bao gồm thông báo này cùng với cảnh báo sid:1000001: ID quy tắc ngắn. Hãy nhớ rằng tất cả các số <1.000.000
đều được đặt trước, đây là lý do tại sao chúng tôi bắt đầu với 1000001 (bạn có thể sử dụng bất kỳ số nào, miễn là nó lớn hơn 1.000.000). rev:1: Số sửa đổi. Tùy chọn này cho phép duy trì quy tắc dễ dàng hơn classtype: icmp-event: Phân loại quy tắc dưới dạng “icmp-event”, một
trong các danh mục Snort được xác định trước. Tùy chọn này giúp tổ chức quy tắc
detection_filter: track by_dst: Snort theo dõi địa chỉ IP đích để phát hiện.
count 500: Nếu trong khoảng thời gian lấy mẫu, Snort phát hiện hơn 500 yêu cầu thì chúng tôi sẽ nhận được cảnh báo
seconds 3: thời gian lấy mẫu được đặt thành 3 giây
Bây giờ, hãy bắt đầu Snort ở chế độ IDS và yêu cầu nó hiển thị cảnh báo cho bảng điều khiển:
Hình 26: Chạy snort với rule cho ICMP
Ở đây chúng ta đang trỏ Snort đến tệp cấu hình mà nó sẽ sử dụng (-c) và chỉ định giao diện (-i eth0). Tùy chọn bảng điều khiển -A in cảnh báo ra đầu ra tiêu chuẩn. Chúng ta không thấy bất kỳ đầu ra nào khi chúng ta nhập lệnh vì Snort không phát hiện thấy bất kỳ hoạt động nào được chỉ định trong quy tắc chúng tôi đã viết. Chúng ta tạo ra một số hoạt động và xem liệu quy tắc của chúng tôi có hoạt động hay không. Chúng ta khởi chạy máy ảo của chúng ta
Sau đó ta sử dụng công cụ Hping3 để tiến hành tấn công IMCP flood trên máy nạn nhân bằng lệnh:
hping3 -1 --flood -a 192.168.0.109 192.168.0.104
Thấy các cảnh báo được tạo cho mọi yêu cầu phản hồi ICMP vượt quá giá trị đếm được chỉ định trong khoảng thời gian lấy mẫu với văn bản thông báo mà
chúng ta đã chỉ định trong tùy chọn tin nhắn.
Hình 28: Snort xuất cảnh báo ICMP Flood
Chúng tôi cũng có thể thấy địa chỉ IP nguồn của máy chủ chịu trách nhiệm về hoạt động tạo cảnh báo.
Hình 29: Thông số Snort