Trường ĐH CNTT
Khoa MMT&TT
CẤU HÌNH
HỆ THỐNG IDS
Nhóm 19:
Nguyễn Thế Anh 07520512
Nguyễn Trọng Đăng Trình 07520371
Nguyễn Tuấn Anh 07520011
Nguyễn Anh Linh 07520193
Trương Đình Huy 07520 151
Ứng dụng TT &ANTT
Snort Fundamentals
Snort bao gồm 4 thành phần chính.
•
Packet capture, thực hiện bởi LibPcap hoặc
WinPcap
•
Preprocessor nhiệm vụ là xem xét các gói tin
trước khi chuyển tới engine phát hiện thật sự
•
Detection Engine – Tại đây cái rules sẽ được
áp dụng lên các gói tin
•
Output – xuất ra kết quả, thông báo.
snort.conf
Là file chính lưu trữ toàn bộ cấu hình lõi của Snort
File gồm các phần chính:
Variables
Preprocessors
2. Chỉnh sửa 1 số biến
Cấu hình và thực thi Snort
var HOME_NET var HOME_NET địa chỉ mạng
var EXTERNAL_NET var EXTERNAL_NET !$HOME_NET
var include reference var include F:\Snort\etc\reference.config
var RULE_PATH….\rules var RULE_PATH F:\Snort\rules
# include threshold.conf var F:\Snort\etc\threshold.conf
dynamicpreprocessor directory …. dynamicpreprocessor directory F:\Snort\lib\snort_dynamicpreprocessor
dynamicengine
F:\Snort\lib\snort_dynamicengine\sf_engine.dll
3. Chạy thử snort
Từ F:\Snort\bin gõ lệnh snort –W
Để thử bắt gói tin ta sẽ sử dụng lệnh sau: snort –ix –v
Mục đích của việc này là để bạn ghi lại toàn bộ hoạt động để dễ dàng
kiểm tra lại khi cần thiết
Sử dụng thêm option –l trong câu lệnh snort
snort –ix –dev –l \snort\log
LogGing với Snort
Đối với một hệ thống IDS, rule là tất cả
Snort sử dụng các rule để kiểm tra chữ ký và các vi phạm. Những rule
này có thể được tạo ra hoặc điều chỉnh để sử dụng trong ứng dụng.
Ví dụ cách sử dụng Snort như là một hệ thống IDS:
%systemroot%\snort\snort –dev -1 \snort\log –c snort.conf
SNORT LÀM VIỆC NHƯ MỘT HỆ THỐNG IDS
Các rule của snort bao gồm 2 phần:
Tạo một IP list
Alert tcp any any -> [10.0.10.0/24, 10.10.10.0/24] any (content: “Password”; msg: “Password Tranfer
Possible!”;)
4. Xác định port cho snort kiểm tra
Các port như 80, 23…
nếu để “any” snort sẽ kiểm tra trên tất cả các port đối với địa chỉ IP
Vd các kiểu định nghĩa port
Log tất cả traffic từ tất cả địa chỉ IP trên tất cả các port tới port 23 của mạng 10.0.10.0/24:
Log tcp any any -> 10.0.10.0/24 23
Log tất cả traffic từ tất cả địa chỉ IP trên tất cả các port tới tất cả các port trong khoảng từ 1 tới 1024 tới mọi host trong mạng
10.0.10.0/24:
Log tcp any any -> 10.0.10.0/24 1:1024
Log toàn bộ traffic từ mọi địa chỉ IP có port nhỏ hơn hoặc bằng 1024 tới mọi host trên mạng 10.0.10.0/24 có port lớn hơn
hoặc bằng 1024:
Log tcp any :1024 -> 10.0.10.0/24 1024:
Log toàn bộ traffic từ mọi host trừ (ta dùng dấu: “!”) host 172.16.40.50 trên mọi port tới mọi host trong mạng 10.0.10.0/24
trên mọi port:
Log tcp ! 172.16.40.50/32 any -> 10.0.10.0/24 any
Log toàn bộ traffic từ mọi host trên mọi port tới tới mạng 10.0.10.0/24 đang làm việc trên các port ngoài port 23:
Log tcp any any -> 10.0.10.0/24 ! 23
“->” là kí hiệu dùng để xác định hướng kiểm tra gói tin của snort.
ttl option,
snort sẽ biết một giá trị Time To Live cụ thể để làm điều kiện lọc. Chỉ
gói tin nào có giá trị TTL bằng đúng như vậy mới được lọc
VD:
ttl:
“time-value”;
Id option làm điều kiện để snort lọc gói tin với một giá trị chính xác
của trường Fagment trong IP header.
VD:
id: “id-value”;
Flag option
có các option phụ, bao gồm các cờ dùng làm điều kiện lọc. Các cờ được định
nghĩa trong rule bởi các kí tự đơn lẻ:
○
F: FIN
○
S: SYN
○
R: RST
○
P: PSH
○
A: ACK
○
U: URG
○
Có nhiều vùng Snort ID cần nhớ:
<100: để dùng trong tương lai.
101 tới 1,000,000: dành cho các distribution rule của Snort.org
>=1,000,001: dùng cho các rule nội bộ.
Tạo một ruleset đơn giản
B1: mở notepad và gõ vào:
Log tcp any any -> any any (msg: “TCP Traffic Logged”; sid: 10000001;)
Alert icmp any any -> any any (msg: “ICMP Traffic Alerted”; sid:
10000002)
Alert tcp any any -> any any (content: “password”; msg: “Possible
Password Transmitted”; sid: 10000003;)
B2: Lưu file với đường dẫn: C:\snort\rules\”myrule.rules”