Sử Dụng SNORT Để Dò Tìm Tấn Công DOS & SCANNING

Hướng Dẫn Dùng Snort Để Dò Tìm Tấn Công DoS & Scanning Với Nmap


1. Snort Là Gì?

Snort là một công cụ mã nguồn mở mạnh mẽ dùng để phát hiện xâm nhập (Intrusion Detection System - IDS). Nó phân tích lưu lượng mạng theo thời gian thực và phát hiện các mối đe dọa như tấn công từ chối dịch vụ (DoS) và hoạt động quét mạng (Scanning) từ công cụ như Nmap.

Chức năng chính của Snort:

  1. Sniffer: Chỉ lắng nghe và ghi nhận lưu lượng mạng.
  2. Packet Logger: Ghi lại các gói tin mạng để phân tích sau.
  3. Intrusion Detection: Phát hiện và thông báo các mối đe dọa dựa trên tập luật được định nghĩa.

2. Môi Trường Lab

Yêu cầu:

  1. Hệ điều hành: Kali Linux (hoặc Ubuntu) với Snort cài đặt sẵn.
  2. Công cụ tấn công: Máy ảo khác chạy Nmap để thực hiện quét mạng.
  3. Cấu hình mạng: Cả hai máy phải trong cùng một mạng (NAT hoặc Host-Only).

3. Cài Đặt Snort

Bước 1: Cài Đặt Snort

Nếu chưa cài đặt, bạn có thể thực hiện trên Kali Linux:

sudo apt update
sudo apt install snort

Bước 2: Kiểm Tra Snort

Xác minh cài đặt:

snort --version

Bước 3: Cấu Hình Interface

Tìm interface mạng:

ip a

Cấu hình Snort để sử dụng interface chính (ví dụ: eth0).


4. Phát Hiện Tấn Công DoS

Bước 1: Tạo Quy Tắc Phát Hiện DoS

  1. Tạo file luật Snort:

    sudo nano /etc/snort/rules/dos.rules
    
  2. Thêm quy tắc để phát hiện DoS:

    alert tcp any any -> any any (msg:"Possible DoS - SYN flood"; flags:S; threshold:type threshold, track by_src, count 20, seconds 5; sid:1000001; rev:1;)
    
    • flags:S: Theo dõi gói tin TCP SYN.
    • threshold: Kích hoạt cảnh báo nếu 20 gói SYN từ cùng một nguồn được gửi trong 5 giây.
  3. Lưu file luật.

Bước 2: Thêm File Luật Vào Cấu Hình Snort

  • Mở file cấu hình Snort:
    sudo nano /etc/snort/snort.conf
    
  • Thêm dòng sau vào cuối:
    include /etc/snort/rules/dos.rules
    

Bước 3: Khởi Chạy Snort

  • Chạy Snort với file luật:
    sudo snort -A console -q -i eth0 -c /etc/snort/snort.conf
    

Bước 4: Thực Hiện Tấn Công DoS

  1. Trên máy tấn công (dùng hping3 để mô phỏng DoS SYN Flood):

    hping3 -S -p 80 --flood 
    
  2. Quan sát console của Snort. Nếu DoS được phát hiện, bạn sẽ thấy cảnh báo:

    [**] [1:1000001:1] Possible DoS - SYN flood [**]
    

5. Phát Hiện Quét Mạng (Scanning)

Bước 1: Tạo Quy Tắc Phát Hiện Nmap Scan

  1. Mở file luật Snort:

    sudo nano /etc/snort/rules/scan.rules
    
  2. Thêm quy tắc để phát hiện quét mạng:

    alert tcp any any -> any any (msg:"Nmap Scan Detected"; flags:S; threshold:type threshold, track by_src, count 5, seconds 2; sid:1000002; rev:1;)
    
    • Quy tắc này cảnh báo nếu 5 gói SYN từ một nguồn được gửi đến các cổng khác nhau trong 2 giây.
  3. Lưu file luật.

Bước 2: Thêm File Luật Vào Cấu Hình Snort

Thêm file scan.rules vào cấu hình:

include /etc/snort/rules/scan.rules

Bước 3: Khởi Chạy Snort

Chạy Snort với file cấu hình cập nhật:

sudo snort -A console -q -i eth0 -c /etc/snort/snort.conf

Bước 4: Thực Hiện Quét Mạng

  1. Trên máy tấn công, chạy Nmap:

    nmap -sS -p- 
    
    • -sS: Quét SYN.
    • -p-: Quét tất cả các cổng.
  2. Quan sát console của Snort. Nếu Nmap scan được phát hiện, bạn sẽ thấy cảnh báo:

    [**] [1:1000002:1] Nmap Scan Detected [**]
    

6. Phân Tích Kết Quả

File Log

Kết quả cảnh báo từ Snort được ghi lại trong file log:

/var/log/snort/alert

Phân Tích Lưu Lượng

Bạn có thể sử dụng Wireshark để phân tích lưu lượng chi tiết:

sudo wireshark

7. Lưu Ý Khi Sử Dụng Snort

  1. Độ chính xác:
    • Quy tắc cần được tối ưu hóa để giảm cảnh báo sai (false positives).
  2. Giới hạn tài nguyên:
    • Snort có thể tiêu thụ nhiều CPU khi giám sát mạng lớn.
  3. Tính hợp pháp:
    • Chỉ thực hiện các bài kiểm tra này trong môi trường có sự cho phép.

8. Kết Luận

Snort là một công cụ mạnh mẽ để phát hiện tấn công DoS và các hoạt động quét mạng từ Nmap. Bằng cách tùy chỉnh các quy tắc, bạn có thể giám sát và bảo vệ hệ thống mạng hiệu quả. Thực hành thường xuyên và phân tích kết quả sẽ giúp bạn hiểu rõ hơn về các mối đe dọa mạng.

Bài viết cùng danh mục