2.3.2.1 Các Action
Phần header của luật chứa thông tin xác định gói tin của ai, từ đâu và loại gì cũng nhƣ hành động gì nếu tất cả thuộc tính của gói tin phù hợp với luật, rule action cho Snort biết phải làm gì, có 5 action mặc định trong Snort là alert, log, pass, active và dynamic
1. alert – tạo ra một cảnh báo dùng phƣơng thức cảnh báo đƣợc lựa chọn sau đó log gói tin.
2. log – log gói tin
3. pass – bỏ qua gói tin
4. activate – cảnh báo và sau đó kích hoạt một luật động khác
5. dynamic – tiếp tục rỗi cho đến khi đƣợc kích hoạt bởi một luật active, sau đó thi hành nhƣ một luật log.
Ngƣời dùng có thể định nghĩa luật của chính mình và kết hợp với một hoặc nhiều plugin. Sau đó có thể dùng các rule type nhƣ là các action trong luật Snort.
Ví dụ sau đây sẽ tạo ra một kiểu luật sẽ chỉ log đến tcpdump: ruletype suspicious
{
type log output
log_tcpdump: suspicious,log
}
Ví dụ sau sẽ tạo ra một kiểu luật chỉ log đến syslog và một cơ sở dữ liệu MySQL:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
{
typealert output
alert_syslog: LOG_AUTH LOG_ ALERT
output database: log, mysql, uer=snort dbname=snort host=loca1host
}
2.3.2.2 Các giao thức
Có 4 giao thức mà hiện nay Snort phân tích để tìm ra các hoạt động bất thƣờng là: tcp, udp, icmp và ip. Trong tƣơng lai có thể có thêm nhiều hơn nhƣ ARP, IGRP, GRE, OSPE, RIP, IPX,...
2.3.2.3 Các địa chỉ IP
Snort không có một cơ chế cung cấp tên host tìm cho các trƣờng địa chỉ IP trong các luật của file. Các địa chỉ đƣợc hình thành trực tiếp bằng một địa chỉ IP và một CIDR. CIDR chỉ ra mặt nạ mạng đƣợc áp dụng vào địa chỉ của luật này và bất cứ gói tin nào đến đƣợc kiểm tra theo luật.
Có một toán tử cũng đƣợc áp dụng cho các địa chỉ IP là toán tử phủ định. Toán tử này cho Snort biết phải thực hiện các địa chỉ IP trừ đi IP đƣợc viết.
Ví dụ về luật phủ định địa chỉ IP
alert tcp! 192.168.1.0/24 any -> 192.168.1.0/24/ 111/
{content: “/00 01 86 a5/”: msg: “ external mountd access”;}
Các địa chỉ IP của luật này cho biết bất kỳ gói tin tệp nào với địa chỉ nguồn IP không xuất hiện phát từ mạng trong đến một địa chỉ ở mạng trong
Cũng có thể quy định danh sách các địa chỉ IP. Một danh sách địa chỉ IP đƣợc quy định bằng cách thêm vào dấu phẩy để phân cách các địa chỉ IP và các CIDR block trong cặp “[]”.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
alert tcp! [192.168.1.0/24.10.1.1.0/24] any-> /
{192.168.1.0/24,10.1.1.0/24} 111 (content: “/00 01 85 a5/”/
2.3.2.4 Các số hiệu cổng Port
Các số hiệu cổng có thể đƣợc quy định theo vài cách, gồm có any ports, các định nghĩa cổng tĩnh, các phạm vi và phủ định. Các cổng tĩnh đƣợc chỉ ra bởi một số hiệu cổng duy nhất. Phạm vi cổng đƣợc chỉ ra bằng toán tử phạm vi „:‟. Toán tử phạm vi có thể dùng đƣợc theo vài cách (với các ý nghĩa khác nhau), ví dụ:
log tcp any -> 192.168.1.0/24 : 6000
Log các lƣu lƣợng từ cổng bất kỳ đến các cổng có số hiệu nhỏ hơn hoặc bằng 6000.
log tcp any : 1024 -> 192.168.1.0/24 : 500
Log các lƣu lƣợng tcp từ các cổng ƣu tiên nhỏ hơn hoặc bằng 1024 đến các cổng lớn hơn hoặc bằng 500.
Ví dụ về phạm vi cổng:
Toán tử! đƣợc dùng để lấy tất cả các cổng ngoại trừ cổng đƣợc viết trong luật. Ví dụ nếu muốn log tất cả trừ các cổng X Windows, thử dòng sau:
log tcp any -> 192.168.1.0/24! 6000: 6010
2.3.2.5 Các luật Active/Dynamic
Cặp luật Active/Dynamic cho phép Snortcó một khả năng mạnh mẽ. Dùng một luật để kích hoạt luật khác khi nó là action đƣợc thực hiện cho một số gói tin. Các luật activate hoạt động nhƣ luật alert, trừ khi chúng có một trƣờng tuỳ chọn * required*: activates. Các luật dynamic hoạt động nhƣ luật log, nhƣng có một trƣờng tuỳ chọn khác: activated_by. Các luật dynamic
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
giống nhƣ các luật log trừ việc chúng đƣợc cho phép một cách linh động khi luật activate thoát.
Các luật Active và Dynamic đang dần bỏ để thay thế bằng tagging. Đặt chúng cùng nhau và xem ví dụ sau:
activate tcp! SHOME_NET any -> SHOME_NET 143 (flag: PA:/ content: “/EBCOFFFFFF/ bin” : activates: 1; /
dynamic tcp! SHOME_ NET any -> SHOME_NET 143 (activated_by: 1 ; count: 50)
Các luật này báo cho Snort biết để cảnh báo khi nó phát hiện tràn bộ đệm IMAP và lấy 50 gói tin tiếp theo đến cổng 143 từ bên ngoài SHOME_NET đến sẽ nằm ở 50 gói tin tiếp đến cùng cổng dịch vụ trên mạng, do đó việc lấy các gói tin đó để phân tích sau là cần thiết.