Настройка Suricata на CentOS 7

Настройка Suricata на CentOS 7

Предыстория

Проходим испытания на соответствие информационной безопасности, потребовали установить IDS\IPS для инспекции трафика. Самым популярным является Snort. Однако, его главный минус - однопоточность. Поэтому и появился suricata c поддержкой многопоточности и поддержкой правил формата Snort.

Решение

Пакет Suricata имеется в репозитории Epel. Версия 4.1, нас вполне устраивает. Устанавливаем пакеты, понадобится еще пакет с библиотекой PyYaml.

sudo yum install suricata python2-pyyaml -y

Необходимо изменить файл установок по умолчанию

cat <<"EOF" | sudo tee /etc/sysconfig/suricata
# The following parameters are the most commonly needed to configure
# suricata. A full list can be seen by running /sbin/suricata --help
# -i <network interface device>
# --user <acct name>
# --group <group name>

# Add options to be passed to the daemon
OPTIONS="--user suricata --group suricata"
EOF

По умолчанию сервис не параметризованнный, нужно это исправить. Создадим новый параметризованный сервис wpa_supplicant@.service

cat <<"EOF" | sudo tee /etc/systemd/system/suricata@.service
# /usr/lib/systemd/system/suricata.service
# Sample Suricata systemd unit file.
[Unit]
Description=Suricata Intrusion Detection Service on %I interface
After=syslog.target network-online.target systemd-tmpfiles-setup.service
Documentation=man:suricata(1)

[Service]
# Environment file to pick up $OPTIONS. On Fedora/EL this would be
# /etc/sysconfig/suricata, or on Debian/Ubuntu, /etc/default/suricata.
EnvironmentFile=-/etc/sysconfig/suricata
#EnvironmentFile=-/etc/default/suricata
ExecStartPre=/bin/rm -f /var/run/suricata.pid
ExecStart=/sbin/suricata -c /etc/suricata/suricata.yaml --pidfile /var/run/suricata.pid -i %I $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target
EOF

Включаем сервисы

sudo systemctl enable suricata@ens192.service
sudo systemctl start suricata@ens192.service

Нужно обновить базы suricata. У нас запрещено работать из-под root. Поэтому используем sudo. Более подробнее об обновление написано здесь.

export https_proxy=http://proxy.local:8888
export http_proxy=http://proxy.local:8888
sudo -E suricata-update
sudo -E suricata-update list-sources
sudo -E suricata-update enable-source ptresearch/attackdetection
sudo -E suricata-update enable-source oisf/trafficid
sudo -E suricata-update enable-source sslbl/ssl-fp-blacklist
sudo -E suricata-update

Смотрим логи сервиса

sudo journalctl -f -u suricata@ens192.service

Итог

В данный момент для меня это новая область. Но радует, что есть официальные государтсвенные требования, которые заставляют все АйТи-компании РК внедрять IDS\IPS-системы. Если будут новости, напишу позднее.