# snort

```
Краткая дока по snort
Установка: apt install snort
Режимы работы:
snort -v - запустить в режиме сниффера (пакеты перехватываются и выводятся на экран)
    -d - показать структуру декодированных пакетов
    -e - показать более подробную информацию (Ethernet заголовки)
    -n <count> - завершить работу после получения count пакетов
    -l /path/to/snort/log/directory - путь, куда логи будут складываться (по умолчанию ./var/log/snort)
    -b - записывать пакеты в сжатом виде (бин формат tcpdump, etherial и др)
    -r - считать лог из файла. Также можно считывать, например, только udp-пакеты: $ snort -dv -r packet.log udp | less
snort -d - запустить в режиме обнаружения вторжения (NIDS). Для этого необходимо указать конфигурационный файл (по умолчанию, ~user/.snortrc)
    например: $ snort -d -l -b -h 192.168.1.0/24 -c /etc/snort/snort.conf
    Формат записываемых сообщений:
    -A fast - Сделать запись в лог-файл. Формат записи: время, сообщение, IP адрес/порт источника и получателя пакета.
    -A full - Запись в лог-файл, как и в предыдущем вызове. Добавляются данные о заголовке пакета. Этот способ используется по умолчанию.
    -A unsock - Передать сообщение в Unix-сокет.
    -A none - Отключить передачу сообщений.
    -s - Передать сообщение в syslog. В зависимости от платформы будет сделана запись /var/log/secure или /var/log/messages.
    -M smb-hosts-file - Используя сервис Samba, передать WinPopup сообщение на рабочие станции, список которых содержится в файле smb-hosts-file. Для использования этого способа передачи сообщений Snort должен быть собран с ключом -enable-smbalerts.
        Например передавать сообщения на Win-машины: -M WORKSTATIONS
/usr/local/bin/snort -d -h 192.168.1.0/24 -l /var/log/snortlogs -c /usr/local/etc/snort.conf -s -D - для запуска в режиме системного демона применяется ключ D
    Следует отметить, что если нужно перезапустить Snort сигналом SIGHUP, в командной строке при запуске надо указывать абсолютный, а не относительный путь к двоичному файлу snort. Это условие добавлено из соображений безопасности.

-Q – работа в режиме IPS


Фильтрация (как в tcpdump)
-i <interface> <filter>
    например: -i eth1 src host 192.168.1.5
Можно указать фильтр файлом: -F <my_bpf_filter> # BPF (Berkley Packet Filter)

Правила
Правило делится на две логические части: заголовок и тело.
Заголовок содержит указание на действие, выполняемое при совпадении условий правила, тип протокола, IP-адреса и информацию о портах источника и получателя пакета. 
В теле правила содержатся предупреждающее сообщение и информация о том, какую часть пакета необходимо проверить. 
Например:
alert tcp any any -> 192.168.1.0/24 111
 (content:?|00 01 86 a5|?; msg: ?mountd access?;)

Запускается по дефолту следующим образом:
/usr/sbin/snort -m 027 -D -d -l /var/log/snort -u snort -g snort -c /etc/snort/sbin/snort.conf

Остановить snort:
/etc/init.d/snort stop
```
