1 Giới thiệu Snort
- Snort là một NIDS được phát triển bởi Martin Roesch, là phần mềm mã nguồn mở, hoàn toàn miễn phí và dễ sử dụng với nhiều tính năng mạnh mẽ.
- Hiện tại Snort đang được điều hành bởi Sourcefire
- Ưu điểm của Snort là nhẹ, mạnh mẽ, có tính tùy biến cao khi triển khai vào hệ thống.
- Có thể triển khai trên nhiều nền tảng hệ điều hành
- Snort theo dõi 24/7 với thời gian thật, giúp phát hiện liên tục các xâm nhập vào hệ thống.
2 Kiến trúc Snort:
Snort có 3 chế độ làm việc:
- Packet Sniffer
- Packet logger
- NIDS
- Packet decoder: luồng dữ liệu đi qua packet decoder trước tiên, tại đây gói tin sẽ được giải mã và theo dõi những thông tin: ethenet header, IP header, payload…
Tùy vào chế độ sử dụng, decoder sẽ có những hành vi tương ứng sau khi giải mã gói tin.
- Outputs: sau quá trình detection, kết quả sẽ được ghi lại trong các log và xuất thông báo cho người quản trị.
- Snort là một NIDS được phát triển bởi Martin Roesch, là phần mềm mã nguồn mở, hoàn toàn miễn phí và dễ sử dụng với nhiều tính năng mạnh mẽ.
- Hiện tại Snort đang được điều hành bởi Sourcefire
- Ưu điểm của Snort là nhẹ, mạnh mẽ, có tính tùy biến cao khi triển khai vào hệ thống.
- Có thể triển khai trên nhiều nền tảng hệ điều hành
- Snort theo dõi 24/7 với thời gian thật, giúp phát hiện liên tục các xâm nhập vào hệ thống.
2 Kiến trúc Snort:
Snort có 3 chế độ làm việc:
- Packet Sniffer
- Packet logger
- NIDS
- Packet decoder: luồng dữ liệu đi qua packet decoder trước tiên, tại đây gói tin sẽ được giải mã và theo dõi những thông tin: ethenet header, IP header, payload…
Tùy vào chế độ sử dụng, decoder sẽ có những hành vi tương ứng sau khi giải mã gói tin.
• Packet sniffer (Snort –v): gói tin sau khi giải mã được hiện lên màn hình console.
• Packet logger (Snort –l /var/log/snort): gói tin sau khi giải mã được ghi vào tập tin có cấu trúc binary hay ASCII
• NIDS (Snort –c /etc/snort/ect/snort.conf): gói tin sau khi giải mã được chuyển sang Preprocessor tương ứng.
- Preprocessor: là 1 plug-in dùng cho Snort có nhiệm vụ dịch các gói tin rời rạc thành định dạng chuẩn thông thường để sử dụng được. Giúp định dạng tấn công với nhiều gói tin bị phân mảnh. Gồm 3 phần:• Packet logger (Snort –l /var/log/snort): gói tin sau khi giải mã được ghi vào tập tin có cấu trúc binary hay ASCII
• NIDS (Snort –c /etc/snort/ect/snort.conf): gói tin sau khi giải mã được chuyển sang Preprocessor tương ứng.
• Frag 3: hoạt động trên sự phân mảnh gói tin, nối các gói tin bị phân mảnh rồi đưa về Packet decoder
• Stream 5: hoạt động dựa vào địa chỉ gói tin, theo dõi trên luồng thông tin, các gói tin lại được đưa về packet decoder
• http_inspect: cung cấp cơ chế phân giải chuỗi kí tự trở về dạng chuẩn của 1 cấu trúc URI. Nó bỏ qua những gói tin Respond từ server, chỉ xem xét các gói Request, làm giảm lượng thông tin phải theo dõi.
- Detection Engine: các gói tin được xử lý ở preprocessor được đưa qua quá trình detection. Ở đây các gói tin được so sánh với các rule để đưa ra kết quả là truy xuất có hợp lệ hay không.• Stream 5: hoạt động dựa vào địa chỉ gói tin, theo dõi trên luồng thông tin, các gói tin lại được đưa về packet decoder
• http_inspect: cung cấp cơ chế phân giải chuỗi kí tự trở về dạng chuẩn của 1 cấu trúc URI. Nó bỏ qua những gói tin Respond từ server, chỉ xem xét các gói Request, làm giảm lượng thông tin phải theo dõi.
- Outputs: sau quá trình detection, kết quả sẽ được ghi lại trong các log và xuất thông báo cho người quản trị.