Giới thiệu về Snort
Snort là gì?
Snort là một hệ thống phát hiện và ngăn chặn xâm nhập (IDS/IPS) mã nguồn mở, được phát triển bởi Martin Roesch vào năm 1998 và hiện tại được quản lý bởi Sourcefire, công ty mà Roesch là người sáng lập và CTO. Năm 2013, Cisco đã mua lại Sourcefire. Snort cho phép giám sát và phân tích lưu lượng mạng, phát hiện các cuộc tấn công từ bên ngoài, giúp bảo vệ tài nguyên hệ thống một cách hiệu quả.
Các thuật ngữ chính
Dưới đây là bảng tổng hợp các thuật ngữ liên quan đến Snort:
Thuật Ngữ | Tên Chi Tiết | Tạm dịch |
---|---|---|
IDS | Intrusion Detection System | Hệ thống phát hiện xâm nhập |
IPS | Intrusion Prevention System | Hệ thống ngăn chặn xâm nhập |
SIEM | Security Information and Event Management | Hệ thống quản lý thông tin và sự kiện bảo mật |
HIDS | Host-based IDS | Hệ thống phát hiện xâm nhập trên máy chủ |
NIDS | Network-based IDS | Hệ thống phát hiện xâm nhập trên mạng |
DMZ | Demilitarized Zone | Vùng phi quân sự – giới hạn giữa mạng nội bộ và Internet |
Tìm hiểu về IDS và IPS
IDS - Intrusion Detection System
IDS là một giải pháp phần mềm hoặc thiết bị giúp giám sát hệ thống máy tính và mạng, với mục đích phát hiện, ghi nhận và cảnh báo các hành vi xâm nhập hoặc lạm dụng tài nguyên hệ thống, có thể ảnh hưởng đến tính bảo mật và toàn vẹn của nó.
IDS được chia thành hai loại chính:
- Host-based IDS (HIDS): Cài đặt trên một máy chủ cụ thể, giám sát các hoạt động trên máy đó.
- Network-based IDS (NIDS): Giám sát toàn bộ mạng, sử dụng các thẻ giao tiếp để thu thập dữ liệu từ tất cả gói tin lưu thông trên mạng.
IPS - Intrusion Prevention System
IPS kết hợp khả năng của IDS với chức năng ngăn chặn các cuộc tấn công không mong muốn. Một hệ thống được coi là IPS khi nó có thể xác định các nguy cơ xâm nhập và hành động ngăn chặn kịp thời.
Kiến trúc Snort
Snort có kiến trúc module, giúp người dùng có thể mở rộng tính năng của hệ thống bằng cách thêm hoặc cài đặt module mới. Các thành phần chính của Snort bao gồm:
- Module Packet Decoder: Chịu trách nhiệm giải mã các gói tin.
- Module Preprocessors: Thực hiện tiền xử lý gói tin để chuẩn bị cho việc phát hiện.
- Module Detection Engine: Phát hiện xâm nhập và ngăn chặn các hành vi xâm phạm.
- Module Logging and Alerting System: Ghi nhận và cảnh báo các hành vi xâm nhập.
- Output Alert or Log to a File: Xuất thông tin cảnh báo hoặc ghi log vào các tệp tin.
Chi tiết về các module
Module Decoder
Sử dụng thư viện pcap để bắt gói tin lưu thông trên mạng. Sau khi được giải mã, gói tin sẽ được chuyển đến module tiền xử lý.
Module Preprocessors
Chức năng tiền xử lý giúp sửa chữa, chuẩn hóa dữ liệu và tái cấu trúc các gói tin để có thể phân tích hiệu quả hơn. Các nhiệm vụ chính bao gồm:
- Ghép nối gói tin bị phân mảnh.
- Giải mã và chuẩn hóa các giao thức thông tin.
- Phát hiện các cuộc tấn công bất thường mà không thể phát hiện bằng luật thông thường.
Module Detection Engine
Đây là module quan trọng nhất của Snort, đảm nhiệm việc phát hiện dấu hiệu xâm nhập thông qua các luật đã định nghĩa. Khi phát hiện xâm nhập, nó sẽ dựa trên độ ưu tiên của luật để quyết định hành động xử lý tiếp theo.
Module Logging and Alerting System
Module này thực hiện việc ghi lại và cảnh báo các hoạt động xâm nhập dựa trên cấu hình của hệ thống.
Module Output Alert or Log to a File
Cho phép Snort xuất ra các thông tin cảnh báo và log dưới dạng các định dạng khác nhau như tcpdump, xml hoặc syslog.
Cách sử dụng Snort
Snort là một công cụ mạnh mẽ, phù hợp cho nhiều loại môi trường mạng, từ nhỏ đến lớn. Đặc biệt là miễn phí và được hỗ trợ bởi cộng đồng. Tuy nhiên, bạn nên cân nhắc sử dụng Snort trong môi trường doanh nghiệp, nơi có hệ thống bảo mật phức tạp hơn.
Kết luận
Bài viết đã cung cấp cái nhìn tổng quan về Snort - một công cụ mã nguồn mở đáng tin cậy cho việc giám sát và phát hiện xâm nhập. Trong phần tiếp theo, mình sẽ hướng dẫn cấu hình Snort trên máy chủ Ubuntu để giám sát một mạng cụ thể. Hãy theo dõi để không bỏ lỡ thông tin nhé!
source: viblo