مقدمه
IDS (سیستم تشخیص نفوذ) و IPS (سیستم جلوگیری از نفوذ) ترافیک شبکه را برای الگوهای مخرب مانیتور میکنند. Suricata یک ابزار متنباز مدرن و multi-threaded است که جایگزین مناسبی برای Snort در محیطهای جدید است.
نصب Suricata
BASH
# اوبونتو 22.04
add-apt-repository ppa:oisf/suricata-stable
apt update && apt install suricataپیکربندی پایه
فایل /etc/suricata/suricata.yaml:
YAML
af-packet:
- interface: eth0
threads: auto
vars:
address-groups:
HOME_NET: "[192.168.0.0/16,10.0.0.0/8]"
EXTERNAL_NET: "!$HOME_NET"
outputs:
- eve-log:
enabled: yes
filename: /var/log/suricata/eve.jsonبروزرسانی قوانین
BASH
# نصب مدیر قوانین
pip install suricata-update
# بروزرسانی از Emerging Threats (رایگان)
suricata-update
# فعال کردن منابع بیشتر
suricata-update enable-source et/openخواندن هشدارها
BASH
# نمایش هشدارها در زمان واقعی
tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="alert")'
# شمارش هشدارها بر اساس امضاء
cat /var/log/suricata/eve.json | jq 'select(.event_type=="alert") | .alert.signature' | sort | uniq -c | sort -rnنوشتن قوانین سفارشی
TEXT
# تشخیص ICMP flood
alert icmp any any -> $HOME_NET any (msg:"ICMP Flood"; threshold: type both, track by_src, count 100, seconds 10; sid:9000001; rev:1;)
# تشخیص brute force SSH
alert tcp any any -> $HOME_NET 22 (msg:"SSH Brute Force"; flow:to_server; threshold: type threshold, track by_src, count 5, seconds 60; sid:9000002; rev:1;)خلاصه
- Suricata را ترجیح دهید — مدرن و multi-threaded است
- با IDS mode در SPAN port شروع کنید، سپس به IPS inline بروید
- قوانین را با
suricata-updateبروز نگه دارید - لاگهای eve.json را با ELK یا Graylog یکپارچه کنید
