Часть I содержит: общие сведения о suricata; требования к железу; описание режимов работы; описание, характеристики и возможности nDPI; описание движков.
Часть II содержит: установка suricata из исходных кодов.
В этой части будет рассмотрена подготовка к запуску и запуск suricata.
Содержание:
7. Подготовка к запуску и запуск suricata.
7.1 Настройка синхронизации времени.
7.2 Подготовка конфигурационных файлов.
7.3 Запрет на установку suricata и suricata-update из репозиториев.
7.4 Настройка основных параметров ядра для suricata.
7.5 Настройка ротации лог-файлов.
7.6 Настройка балансировки нагрузки.
7.7 Настройка запуска suricata от непривилегированного пользователя.
7.8 Настройка создания папки /run/suricata при загрузке.
7.9 Создание списка правил.
7.10 Перенаправление трафика в suricata.
7.11 Запуск suricata.
7. Подготовка к запуску и запуск suricata.
Скачайте представленные конфиг-файлы для быстрого старта (не знаю куда было бы правильно выложить примеры конфиг-файлов):
suricata_3.tgz: https://disk.yandex.ru/d/1P-oaMz-hF0fYA https://cloud.mail.ru/public/PnuB/ryk7X5Y5W
suricata_3.zip: https://disk.yandex.ru/d/iqkg0NO8GeNHxA https://cloud.mail.ru/public/QW19/56BNEw6Vm
В архиве содержатся:
suricata.yaml, update.yaml - примеры конфиг файлов для suricata и suricata-update. Используйте в п. 7.2.
suricata_logrotate - пример файла ротации. Используйте в п. 7.5.
suricata.service - юнит-файла для сервиса suricata. Используйте в п. 7.7.
nftables - файл с цепочками mangle_postrouting, mangle_prerouting. Используйте в п. 7.10.
7.1 Настройка синхронизации времени.
Если ваш роутер почему‑то еще не настроен на синхронизацию системных часов с сервисами точного временем, то необходимо это сделать до начала использования suricata. Для suricata поддержка точного времени критически важна. Если время на сервере будет «плавать», то suricata может некорректно проверять сертификаты зашифрованного трафика (они будут казаться «еще не действующими» или «уже просроченными»).
В Debian 13 для точного времени можно использовать стандартный и легкий systemd‑timesyncd. Сначала установите временную зону вашего региона, например:
# sudo timedatectl set-timezone Europe/Moscow
Затем установите и запустите сервис systemd-timesyncd:
# sudo apt install systemd-timesyncd
# sudo systemctl enable --now systemd-timesyncd
Обязательно перезагрузите сервис журналирования:
# sudo systemctl restart systemd-journald
Проверьте что получилось:
# timedatectl
Вы должны увидеть:
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active
7.2 Подготовка конфигурационных файлов.
Сохраняем конфигурационный файл, поскольку он является основным справочником по параметрам конфигурации:
# sudo mv /etc/suricata/suricata.yaml /etc/suricata/suricata_8.0.4.yaml
Копируем файлы примеров и файл настроек для suricata-update в папку конфигурационных файлов suricata:
# cd /usr/local/src/suricata-8.0.4/suricata-update/suricata/update/configs
# sudo cp *.conf threshold.in update.yaml /etc/suricata
Сейчас в /etc/suricata находятся следующие конфигурационные файлы:
suricata_8.0.4.yaml — сохраненный основной конфигурационный файл suricata.
disable.conf — для отключения ненужных или слишком шумных правил.
enable.conf — для принудительного включения правил.
drop.conf — для перевода правил из режима alert в drop.
modify.conf — для изменения текстов правил, например, замены портов.
threshold.config — настраивает, как часто и при каких условиях suricata должна генерировать событие в лог для конкретных правил.
classification.config — связывает названия категорий атак с их приоритетом (опасностью).
reference.config — «словарь сокращений» для внешних баз знаний о хакерах и уязвимостях.
Для быстрого старта используйте скачанные файлы конфигурации:
suricata.yaml — основной конфигурационный файл suricata
update.yaml — конфиг-файл suricata-update.
Поместите эти файлы в /etc/suricata
Исправьте в suricata.yaml:
-
'HOME_NET: "192.168.124.0/24"'— укажите свой диапазон локальной сети. -
Добавьте в
'host-os-policy:'клиентов локальной сети в соответствующие операционным системам секции. Например:'windows: [0.0.0.0/0]'— все остальные считаем Windows.
7.3 Запрет на установку suricata и suricata-update из репозитория.
Чтобы случайно не установить версию suricata и suricata-update из официального репозитория и не затереть нашу сборку:
# sudo nano /etc/apt/preferences.d/suricata
Добавьте такие строки:
Package: suricata suricata-update
Pin: release *
Pin-Priority: -1
7.4 Настройка основных параметров ядра для suricata.
Предполагается, что вы серьезно отнеслись к настройке производительности сети на своем сервере и настроили необходимые вам параметры должным образом. Здесь приводятся только параметры для suricata, которые дополнят ваши. Убедитесь, что приведенные здесь настройки не ухудшают настройки, установленные для ваших параметров.
Создайте файл /etc/sysctl.d/99-suricata.conf и добавьте в него следующие строки:
# Увеличиваем буферы приема/передачи для всех сокетов (включая netlink)
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Увеличиваем очередь пакетов, ожидающих обработки процессором.
net.core.netdev_max_backlog = 10000
# Увеличиваем лимит соединений, за которыми следит conntrack
net.netfilter.nf_conntrack_max = 262144
Примените изменения:
# sudo sysctl -p /etc/sysctl.d/99-suricata.conf
7.5 Настройка ротации лог-файлов.
Suricata создает огромные файлы логов, но при установке ее из исходников ротация лог-файлов не настраивается. Это необходимо сделать самостоятельно.
Если есть скачанный фал suricata_logrotate, скопируйте его в /etc/logrotate.d/ и не забудьте настроить владельца и права доступа:
# sudo cp suricata_logrotate /etc/logrotate.d/suricata
# sudo chown root:root /etc/logrotate.d/suricata
# sudo chmod 644 /etc/logrotate.d/suricata
Или создайте файл /etc/logrotate.d/suricata и добавьте в него следующие строки:
/var/log/suricata/eve.json
{
size 200M
rotate 5
missingok
notifempty
compress
delaycompress
create 0644 suricata suricata
sharedscripts
postrotate
/bin/kill -HUP $(cat /run/suricata/suricata.pid 2>/dev/null) 2>/dev/null || true
endscript
}
/var/log/suricata/*.log
{
size 10M
rotate 5
missingok
notifempty
compress
delaycompress
create 0644 suricata suricata
sharedscripts
postrotate
/bin/kill -HUP $(cat /run/suricata/suricata.pid 2>/dev/null) 2>/dev/null || true
endscript
}
Пояснения по параметрам настроек ротации:
size — файлы журналов ротируются только в том случае, если их размер превышает указанный.
rotate — файлы журналов ротируются указанное количество раз, прежде чем будут удалены.
missingok — не выдавать сообщение об ошибке, если файл журнала отсутствует. notifempty — Не выполнять ротацию, если файл пустой.
compress — старые версии файлов журналов по умолчанию сжимаются с помощью gzip.
delaycompress — отложить сжатие последнего (самого свежего) архивного файла до следующего цикла ротации.
create 0644 suricata suricata — выполнить ротацию от указанных пользователя и группы и присвоить файлу указанные права доступа.
sharedscripts — скрипты (такие как prerotate и postrotate) должны выполниться всего один раз.
postrotate — скрипт выполняется после ротации файла журнала и до его сжатия.
7.6 Настройка балансировки нагрузки.
Чтобы вся нагрузка не легла на одно ядро процессора, нужно распределить очередь на несколько ядер. Т.е. сделаем балансировку нагрузки. Для этого определитесь — сколько ядер процессора вы выделите для анализа трафика. Обычно создают по 1 очереди на 1 ядро.
Если процессор имеет 2 ядра, то для анализа трафика рекомендуется выделять оба ядра. Тогда:
-
В nftables в команде для отправки трафика в suricata должно быть указано:
'queue to 0-1'— отправлять данные в очереди 0 и 1 (для анализа данных на 2-х ядрах). -
В юнит-файле
/usr/lib/systemd/system/suricata.serviceсервиса suricata должно быть указано:'-q 0 -q 1'— для прослушивания очередей 0 и 1 и создания 2-х'workers'для использования 2-х ядер.
Если процессор имеет 4 ядра, то для анализа трафика рекомендуется выделять 3 или 4 ядра. Для использования 3-х ядер:
-
В nftables в команде для отправки трафика в suricata должно быть указано (сделайте в пункте 7.10):
'queue to 0-2'— отправлять в очереди 0,1,2 (для анализа данных на 3-х ядрах). -
Измените юнит-файл
/usr/lib/systemd/system/suricata.serviceсервиса suricata (сделайте в пункте 7.7). В нем должно быть указано:'-q 0 -q 1 -q 2'— для прослушивания очередей 0,1,2 и создания 3-х'workers'для использования 3-х ядер. -
В конфиг-файле
/etc/suricata/suricata.yamlв секции'threading:'измените значение параметра'set-cpu-affinity:'на'yes'(сделайте сейчас). Вместе с'autopin: yes'это позволит suricata самой распределять потоки по доступным ядрам.
Если необходимо использовать больше ядер для обработки трафика, то настраивайте подобно приведенным примерам. Количество очередей, как правило, соответствует количеству используемых ядер. При большом количестве ядер, возможно придется вручную распределять потоки обработки по ядрам.
7.7 Настройка запуска suricata от непривилегированного пользователя.
Для запуска suricata от имени обычного пользователя в Debian 13, что является стандартом безопасности, нужно выполнить три условия: создать пользователя, дать ему права на файлы и настроить запуск сервиса от пользователя suricata и группы suricata.
Создадим пользователя и группу suricata без домашней директории и возможности входа:
# sudo addgroup --system suricata
# sudo adduser --system --ingroup suricata --no-create-home --shell /sbin/nologin suricata
Настройка прав на файлы и директории:
# sudo mkdir /etc/suricata/rules
# sudo touch /etc/suricata/rules/local.rules
# sudo chown -R suricata:suricata /usr/share/suricata
# sudo chown -R suricata:suricata /var/lib/suricata
# sudo chown -R suricata:suricata /var/log/suricata
# sudo chown -R root:suricata /etc/suricata
# sudo chmod 640 /etc/suricata/* /etc/suricata/rules/*
# sudo chmod 750 /etc/suricata /etc/suricata/rules
Если есть скачанный фал сервиса, скопируйте его в /usr/lib/systemd/system и не забудьте настроить владельца и права доступа:
# sudo chown root:root /usr/lib/systemd/system/suricata.service
# sudo chmod 644 /usr/lib/systemd/system/suricata.service
Для создания юнит-файла для сервиса suricata самостоятельно:
# sudo nano /usr/lib/systemd/system/suricata.service
Поместите в него следующие строки:
[Unit]
Description=Suricata IPS Service
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=forking
PIDFile=/run/suricata/suricata.pid
ExecStart=/usr/bin/suricata -D -c /etc/suricata/suricata.yaml -q 0 -q 1 --pidfile /run/suricata/suricata.pid
ExecReload=/usr/bin/suricatasc -c ruleset-reload-nonblocking
ExecStop=/usr/bin/suricatasc -c shutdown
ProtectSystem=full
ProtectHome=true
User=suricata
Group=suricata
AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE
CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE
NoNewPrivileges=yes
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
В стоке "ExecStart=” укажите количество прослушиваемых очередей в соответствии с п.7.3.
Перечитаем конфиги системных служб:
# sudo systemctl daemon-reload
7.8 Настройка создания папки /run/suricata при загрузке.
В современных дистрибутивах Linux каталог /run монтируется в оперативную память (файловая система tmpfs). При каждой перезагрузке содержимое /run полностью стирается. В папке /run/suricata suricata создает свой PID-файл и Unix-сокет для управления. Если папки нет, сервис выдаст ошибку и не запустится. Можно настроить создание этой папки при запуске сервиса suricata. Но тогда будет выдаваться ошибка при тестировании конфигурационных файлов (что каталог /run/suricata не существует), если suricata не запущена.
Создайте файл конфигурации для временных файлов:
# nano /etc/tmpfiles.d/suricata.conf
Добавьте в него строку:
d /run/suricata 0750 suricata suricata-
d — создать директорию.
0750 — права доступа.
suricata suricata — владелец и группа.
Примените настройки сейчас:
# sudo systemd-tmpfiles --create /etc/tmpfiles.d/suricata.conf
7.9 Создание списка правил.
Подготовим файл правил suricata. Все запуски suricata и suricata-update выполняйте от пользователя suricata, чтобы потом не пришлось устранять последствия “Permission denied”:
# sudo suricata --user suricata --group suricata команды
# sudo -u suricata suricata-update команды
Обновим индексы источников правил:
# sudo -u suricata suricata-update update-sources
Посмотрим какие есть бесплатные источники правил:
# sudo -u suricata suricata-update list-sources --free
Посмотрим какие источники правил сейчас подключены:
# sudo -u suricata suricata-update list-sources --enabled
Будем использовать правила от источника “et/open”. Включим их:
# sudo -u suricata suricata-update enable-source et/open
Определить и настроить правила используемые для работы suricata — самая сложная вещь при ее эксплуатации. Например, только в одном источнике “et/open” содержится более 65 тыс. правил. Для быстрого старта я покажу как заблокировать torrent трафик и включить оповещение об отправке телеметрии на сайты microsoft. Просто для примера, чтобы вы получили представление о работе с правилами. Такой набор будет содержать чуть больше 100 активных правил и будет работать не нагружая роутер при небольшом количестве клиентов локальной сети, даже если процессор имеет 2 ядра и использует 2ГБ памяти, что на сегодняшний день большая редкость. Когда вы получите опыт работы с suricata, то сможете постепенно добавлять нужные вам правила, контролируя нагрузку на сервер.
Отключаем все правила. Правила будут присутствовать в файле правил, но будут закомментированы.
# sudo sh -c 'echo "\nre:.*" >> /etc/suricata/disable.conf'
Включаем только правила которые «ловят» torrent трафик и правило с Signature ID = 2068224 которое ловит телеметрию microsoft (просто я знаю по опыту использования, что именно 2068224 ловит отправку телеметрии). Все правила попадающие под указанный шаблон станут активными. Действия у правил будут те, которые для них определили составители правил.
# sudo sh -c 'echo "\n\nre:ET P2P" >> /etc/suricata/enable.conf'
# sudo sh -c 'echo "re:2068224" >> /etc/suricata/enable.conf'
Переводим правила которые “ловят” torrent в drop. Теперь действием для всех активных правил совпадающих с «ET P2P» будет drop.
# sudo sh -c 'echo "\nre:ET P2P" >> /etc/suricata/drop.conf'
Пример самописанного правила: заблокировать протокол bittorrent-dht от любого адреса любого порта к любому адресу любому порту. Официально рекомендованный диапазон для самописанных пользовательских правил от 10000000, поэтому ставим: sid:10000000. И rev:1 — номер версии правила. msg:"Block BitTorrent DHT" — сообщение которое будет записано в лог при срабатывании правила. Правило помещаем в файл для наших самописанных правил: /etc/suricata/rules/local.rules. Этот файл не будет перезаписываться при выполнении suricata-update.
# sudo sh -c 'echo "drop bittorrent-dht any any -> any any (msg:\"Block BitTorrent DHT\"; sid:10000000; rev:1;)" >> /etc/suricata/rules/local.rules'
Бывает что одного правила, которое блокирует торренты недостаточно. Поэтому усилим нашу блокировку — добавим еще одно правило для блокировки торрентов с использованием возможностей предоставляемых библиотекой nDPI. Блокироваться будет трафик у которого nDPI определит протокол bittorrent. Номер правила ставим 10000001, т.к. не должно быть различных правил с одинаковым номером.
# sudo sh -c 'echo "drop ip any any -> any any (msg:\"nDPI: Block BitTorrent Protocol\"; ndpi-protocol:bittorrent; sid:10000001; rev:1;)" >> /etc/suricata/rules/local.rules'
В итоге должно получиться:
/etc/suricata/disable.conf:
re:.*
/etc/suricata/enable.conf:
re:ET P2P
re:2068224
/etc/suricata/drop.conf:
re:ET P2P
/etc/suricata/rules/local.rules:
drop bittorrent-dht any any -> any any (msg:"Block BitTorrent DHT"; sid:10000000; rev:1;)
drop ip any any -> any any (msg:"nDPI: BitTorrent Detected"; ndpi-protocol:bittorrent; sid:10000001; rev:1;)
Обновляем правила от включенных источников без передачи обновленных правил работающей suricata, т.к. suricata еще не запущена:
# sudo -u suricata suricata-update --no-reload
В результате выполнения команды:
-
будут скачаны обновления для включенных источников правил (если они есть и запуск команды произошел не слишком рано после последнего обновления) и сформирован итоговый файл правил
/var/lib/suricata/rules/suricata.rules; -
итоговый файл правил будет изменен в соответcви с записями в файлах
disable.conf,enable.conf,drop.conf,modify.conf; -
suricata протестирует новый набор правил и свой конфиг-файл.
Очень важно понимать порядок применения изменений: cначала к итоговому файлу правил /var/lib/suricata/rules/suricata.rules применяются изменения в соответствии с шаблонами находящимися в файле disable.conf. Затем применяются изменения в соответствии с шаблонами находящимися в файле enable.conf. Затем — drop.conf. Затем — modify.conf. От порядка обработки зависит каким именно будет итоговый файл правил.
Посмотрим правило с sid 2068224:
# sudo -u suricata grep 2068224 /var/lib/suricata/rules/suricata.rules
Должно быть активно (незакомментировано) и с действием 'alert'.
Посмотреть какие правила стали активны в результат наших действий:
# sudo -u suricata grep -vE "^#" /var/lib/suricata/rules/suricata.rules | more
Если вы изменили один из файлов: disable.conf, enable.conf, drop.conf или modify.conf и хотите только посмотреть как будет изменен файл правил /var/lib/suricata/rules/suricata.rules (например, активировалось ли необходимое вам правило), то можете запустить suricata-update с такими параметрами:
# sudo -u suricata suricata-update --no-test --no-reload --offline
--no-test — не тестировать получившийся набор правил
--no-reload — не обновлять список правил работающей suricata
--offline — не скачивать обновленный набор правил перед внесением изменений.
7.10 Перенаправление трафика в suricata.
Я перенаправляю трафик в suricata в цепочках mangle_postrouting и mangle_prerouting. Это дает следующие преимущества: простая фильтрация трафика в цепочке forward; удобство перенаправления, если на роутере работает proxy.
Посмотреть диаграмму с цепочками nftables и конкретно место цепочек mangle_postrouting и mangle_prerouting в общей структуре netfilter можно здесь: https://ru.wikipedia.org/wiki/Файл:Netfilter-packet-flow.svg
Измените в приведенных ниже правилах:
-
192.168.124.0/24 -на свой диапазон локальной сети. -
192.168.124.13 -на локальный адрес своего роутера. -
queue 0-1 -на свое количество очередей (см. п.7.3) . -
'tcp dport != 3128' -удалите из правил, если не используете proxy.
Если у вас в файле /etc/nftables.conf есть цепочки mangle_postrouting и mangle_prerouting, то перенаправить трафик в suricata можно командами:
# sudo nft add rule ip filter mangle_prerouting iifname "lan" counter queue num 0-1 bypass
# sudo nft add rule ip filter mangle_postrouting oifname "lan" counter queue num 0-1 bypass
Если у вас в файле /etc/nftables.conf отсутствуют цепочки mangle_postrouting и mangle_prerouting, то для перенаправления трафика в suricata вы можете создать их или добавить определение этих цепочек в файл /etc/nftables.conf, где 192.168.124.13 — адрес роутера в локальной сети.
Создать самостоятельно:
Создаем цепочки:
# sudo nft add chain ip filter mangle_postrouting { type filter hook postrouting priority mangle\; policy accept\; }
# sudo nft add chain ip filter mangle_prerouting { type filter hook prerouting priority mangle\; policy accept\; }
Создаем правила для исключения из проверок всего ip трафика от клиентов локальной сети на роутер 192.168.124.13, за исключением трафика на squid и обратно.
# sudo nft add rule ip filter mangle_postrouting oifname "lan" ip saddr 192.168.124.13 ip daddr 192.168.124.0/24 tcp sport != 3128 accept
# sudo nft add rule ip filter mangle_prerouting iifname "lan" ip saddr 192.168.124.0/24 ip daddr 192.168.124.13 tcp dport != 3128 accept
Создаем правила перенаправления:
# sudo nft add rule ip filter mangle_postrouting oifname "lan" counter queue num 0-1 bypass
# sudo nft add rule ip filter mangle_prerouting iifname "lan" counter queue num 0-1 bypass
Добавить в /etc/nftables.conf.
Сохраните существующий конфиг-файл nftables перед внесением изменений:
# sudo cp /etc/nftables.conf /etc/nftables_`date +%Y%m%d`.conf
Добавьте строки:
chain mangle_postrouting {
type filter hook postrouting priority mangle; policy accept;
oifname "lan" ip saddr 192.168.124.13 ip daddr 192.168.124.0/24 tcp sport != 3128 accept
oifname "lan" counter queue flags bypass to 0-1
}
chain mangle_prerouting {
type filter hook prerouting priority mangle; policy accept;
iifname "lan" ip saddr 192.168.124.0/24 ip daddr 192.168.124.13 tcp dport != 3128 accept
iifname "lan" counter queue flags bypass to 0-1
}
Правила:
oifname "lan" ip saddr 192.168.124.13 ip daddr 192.168.124.0/24 tcp sport != 3128 accept
iifname "lan" ip saddr 192.168.124.0/24 ip daddr 192.168.124.13 tcp dport != 3128 accept
исключают из анализа весь ip трафик от клиентов локальной сети на роутер 192.168.124.13, за исключением трафика на squid и обратно.
Пояснения по правилу перенаправления 'counter queue flags bypass to 0-1':
'to 0-1' — указывает сколько очередей будет использоваться для перенаправления трафика. 0-1 — для 2-х ядер. 0-2 — для 3-х ядер. (см. п.7.3)
Опция 'counter' — указывает отображать счетчик пакетов и байт, обработанных правилом. Используется для контроля. Можно не указывать.
Флаг 'bypass' — если нет программы, прослушивающей очередь, то пакеты пропускаются (accept) и переходят к следующей таблице. Рекомендую только на период отладки.
После внесенных изменений проверьте корректность конфигурационного файла nftables:
# sudo nft -cf /etc/nftables.conf
Если вы используете iptables, то для перенаправления трафика используйте команду (только определитесь с цепочкой):
# sudo iptables -A цепочка -j NFQUEUE --queue-balance 0:1 --queue-bypass
При выборе цепочки учтите, что:
-
Текущая настройка
'nfq: { mode: accept, … }'позволяет suricata самой решать судьбу трафика, после чего трафик пересылается в следующую цепочку (обратно в цепочку не возвращается). -
В suricata должен попадать каждый пакет. Ставить перед правилом отправки трафика правило разрешающее проходить данным уже установленного соединения (ESTABLISHED) недопустимо.
7.11 Запуск suricata.
Проверяем корректность конфигурационного файла suricata:
# suricata -T --user suricata --group suricata
Включаем автозагрузку сервиса и запускаем его:
# sudo systemctl enable suricata && sudo systemctl start suricata
Если не добавляли перенаправление вручную а добавили эти цепочки в файл /etc/nftables.conf, то перезагружаем nftables:
# sudo systemctl restart nftables
Проверяем состояние сервиса suricata:
# sudo systemctl status suricata
Проверяем, что можно обращаться к suricata через сокет:
# sudo suricatasc -c uptime {"message":4780,"return":"OK"}
Смотрим параметры сервиса suricata:
# ps aux | grep -E "USER|suricata"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
suricata 1259 0.7 7.6 257304 151284 ? Ssl 23:29 0:13 /usr/bin/suricata -D -c /etc/suricata/suricata.yaml -q 0 -q 1 --pidfile /run/suricata/suricata.pid
USER=suricata — выполняется пользователем suricata (не root), как и должно быть.
Используется 7.6% от общей оперативной памяти.
VSZ (Virtual Memory Size) = 257304 КБ = 251 МБ — общий объем памяти, который процесс «забронировал» для себя в системе.
RSS (Resident Set Size) = 151284 КБ = 148 МБ — реальный объем физической оперативной памяти (RAM), который процесс занимает в данный момент. Главный показатель используемой памяти.
STAT — Состояние процесса:
S (Interruptible Sleep): Процесс «спит», ожидая какого-то события (например, прихода нового пакета из очереди NFQUEUE или завершения операции ввода-вывода). Большинство системных демонов находятся в этом состоянии.
s: Лидер сессии (обычно это основной процесс службы).
l: Многопоточный процесс.
Смотрим что в логах:
/var/log/suricata/suricata.log — выводятся сообщения при старте сервиса. Если проблемы с suricata, то в первую очередь смотреть наличие ошибок и записи о проблемах в этом файле.
/var/log/suricata/fast.log — выводятся все алерты и дропы в краткой форме.
/var/log/suricata/eve.json — основной файл лога suricata, в который выводится разбор трафика.
# tail -f /var/log/suricata/eve.json
Если у вас «глаза разбегаются» при просмотре вывода eve.json, то помочь сможет простенькая бесплатная программа «Dadroit JSON Viewer». Очень рекомендую к использованию. Копируете строку вывода eve.json, запускаете программу и вставляете данные Ctrl+V. Появляется структурированный вывод, который просто разобрать. Так же программа пригодится для анализа статистики работы suricata. Сайт разработчиков: https://dadroit.com
ссылка на оригинал статьи https://habr.com/ru/articles/1028218/