Snort là một kiểu IDS, nếu một cuộc tấn công được phát hiện bởi snort thì nó có thể phản ứng bằng nhiều cách khác nhau phụ thuộc vào cấu hình mà bạn thiết lập, chẳng hạn như nó có thể gửi thông điệp cảnh báo đến nhà quản
trị hay loại bỏ gói tin khi phát hiện có sự bất thường trong các gói tin đó.
Snort là một sản phẩm được phát triển dưới mô hình mã nguồn mở. Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà không phải sản phẩm thương mại nào cũng có thể có được. Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới các module.
Cơ sở dữ liệu luật của Snort đã lên tới 2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng. Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX,MacOS
Hình 2.7. Sơ đồ khối cài đặt Snort
Sơ đồ khối của một hệ thống phát hiện xâm nhập bao gồm Snort, MySQL, Apache, ACID, BASE, PHP, thư viện GD và PHPLOT. Theo hình trên, dữ liệu được thu thập và phân tích bởi Snort. Sau đó, Snort lưu trữ dữ
Apache với ACID, PHP, thư viện GD và PHPLOT sẽ biểu diễn dữ liệu này trên trình duyệt khi một người dùng kết nối đến Server. Người dùng có tạo nhiều kiểu truy vấn khác nhau để phân tích dữ liệu.
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũng tồn tại để phát hiện sự bất thường trong các header của giao thức.
Snort sử dụng các luật được lưu trữ trong các file text, có thểđược chỉnh sửa bởi người quản trị. Các luật được nhóm thành các kiểu. Các luật thuộc về
mỗi loại được lưu trong các file khác nhau. File cấu hình chính của Snort là Snort.conf. Snort đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ liệu.