a) Module giải mã gói tin (Packet decoder):
Các gói dữ liệu đi vào qua các cổng giao tiếp mạng, các cổng giao tiếp này có thể là: Ethernet, SLIP, ppp... Và được giải mã bởi packet decoder, trong đó xác định giao thức được sử dụng cho gói tin và dữ liệu phù hợp với hành vi được cho phép của phần giao thức của chúng. Packet Decoder có thể tạo ra các cảnh báo riêng của mình dựa trên phần header của giao thức, các gói tin quá dài, bất
thường hoặc không chính xác các tùy chọn TCP được thiết lập trong phần header. Có thể kích hoạt hoặc vô hiệu hóa các cảnh báo dài dòng cho tất cả các
trường trong tập tin snort.conf.
45 lý (preprocessor).
b) Module tiền xử lý (pre-processor):
Các Preprocessor là những thành phần hoặc plug-in có thể sử dụng cho
Snort để sắp xếp, chỉnh sửa các gói dữ liệu trước khi bộ phận Detection Engine làm việc với chúng. Một số Preprocessor cũng thực hiện phát hiện dấu hiệu dị thường bằng cách tìm trong phần tiêu đề của gói tin và tạo ra các cảnh báo.
Preprocessor rất quan trọng với bất kỳ hệ thống IDS nào để chuẩn bị dữ liệu cần thiết vềgói tin để bộ phận Detection Engine làm việc.
Preprocessor còn dùng để tái hợp gói tin cho các gói tin có kích thước lớn. Ngoài ra nó còn giải mã các gói tin đã được mã hóa trước khi chuyển đến bộ
phận Detection Engine.
c) Module phát hiện (Detection Engine):
Detection Engine là bộ phận quan trọng nhất của Snort. Trách nhiệm của nó là phát hiện bất kì dấu hiệu tấn công nào tồn tại trong gói tin bằng cách sử dụng
các rule đểđối chiếu với thông tin trong gói tin. Nếu gói tin là phù hợp với rule,
hành động thích hợp được thực hiện.
Hiệu suất hoạt động của bộ phận này phụ thuộc các yếu tố như: số lượng rule, cấu hình máy mà Snort đang chạy, tốc độ bus sử dụng cho máy Snort, lưu lượng mạng.
Detection Engine có thể phân chia gói tin và áp dụng rule cho các phần khác nhau của gói tin.
d) Module ghi nhật ký và cảnh báo (logging and alerting system):
Khi bộ phận detection engine phát hiện ra các dấu hiệu tấn công thì nó sẽ
thông báo cho bộ phận Logging and Alerting System. Các ghi nhận, thông báo có thểđược lưu dưới dạng văn bản hoặc một sốđịnh dạng khác. Mặc định thì chúng
được lưu tại thư mục /var/iog/snort. e) Module đầu ra (Output):
Bộ phận đầu ra của Snort phụ thuộc vào việc ta ghi các ghi nhận, thông báo theo cách thức nào. Có thể cấu hình bộ phận này để thực hiện các chức năng sau:
- Lưu các ghi nhận và thông báo theo định dạng các file văn bản hoặc vào
46 - Gửi thông tin SNMP.
- Gửi các thông điệp đến hệ thống ghi log.
- Lưu các ghi nhận và thông báo vào cơ sở dữ liệu (MySQL, Oracle...). - Chỉnh sửa cấu hình trên Router, Firewall.
3.2.1.4. Rule trong Snort
Một trong những chức năng được đánh giá cao nhất của Snort là cho phép
người sử dụng tự viết các rule của riêng mình. Ngoài số lượng lớn các rule đi
kèm với Snort, người quản trị có thể vận dụng khảnăng của mình để phát triển ra các rule riêng thay vì phụ thuộc vào các cơ quan, tổ chức bên ngoài.
Rule Header: