We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Настройка системы обнаружения вторжений (IDS) Suricata на базе Termux

В современном мобильном мире безопасность сети становится критически важной. Suricata – мощная система обнаружения и предотвращения вторжений (IDS/IPS), способная анализировать трафик в реальном времени. Запуск Suricata в Termux позволяет превратить Android‑устройство в полноценный сетевой монитор, пригодный как для обучения, так и для полевых задач.

Что такое Suricata и почему её стоит start в Termux

Слово start имеет несколько значений, включая «начать», «запустить», «создать». По определению Cambridge Dictionary, start – «to begin doing something». Аналогично, Merriam‑Webster определяет start как «to begin an activity or undertaking». Эти определения подчёркивают, что запуск Suricata в Termux – это начало нового уровня контроля над сетевым трафиком на мобильных устройствах.

Подготовка окружения Termux

Прежде чем приступить к установке, обновим репозитории и установим необходимые инструменты:

pkg update && pkg upgrade -y
pkg install git wget curl tar clang make openssl-dev libpcap-dev zlib-dev libnetfilter_queue-dev python -y

Эти пакеты обеспечивают компилятор clang, библиотеки для работы с сетью и Python‑интерпретатор, который понадобится для управления правилами.

Установка Suricata

В официальных репозиториях Termux Suricata пока отсутствует, поэтому будем собирать её из исходников.

# Склонировать репозиторий Suricata
git clone https://github.com/OISF/suricata.git
cd suricata

# Выбрать стабильную ветку (например, 7.0.1)
git checkout v7.0.1

# Сконфигурировать сборку
./configure --prefix=$HOME/.local --enable-nfq --enable-lua

# Скомпилировать и установить
make -j$(nproc)
make install

После установки бинарники окажутся в $HOME/.local/bin. Добавим этот путь в переменную окружения:

echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Базовая конфигурация Suricata

Создадим директорию для конфигурационных файлов и скопируем пример:

mkdir -p $HOME/.config/suricata
cp $HOME/.local/etc/suricata/suricata.yaml $HOME/.config/suricata/

Отредактируем suricata.yaml, указав путь к правилам и сетевому интерфейсу (обычно wlan0):

sed -i 's|#default-log-dir: /var/log/suricata|default-log-dir: $HOME/.local/var/log/suricata|' $HOME/.config/suricata/suricata.yaml
sed -i 's|#interface: eth0|interface: wlan0|' $HOME/.config/suricata/suricata.yaml

Для первого запуска загрузим набор открытых правил ET Open:

mkdir -p $HOME/.config/suricata/rules
wget -O $HOME/.config/suricata/rules/emerging.rules.tar.gz https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
tar -xzf $HOME/.config/suricata/rules/emerging.rules.tar.gz -C $HOME/.config/suricata/rules
rm $HOME/.config/suricata/rules/emerging.rules.tar.gz

# Включим правила в конфиге
sed -i 's|# - /etc/suricata/rules|- $HOME/.config/suricata/rules|' $HOME/.config/suricata/suricata.yaml

Тестирование и отладка

Проверим корректность конфигурации:

suricata -T -c $HOME/.config/suricata/suricata.yaml

Если проверка прошла без ошибок, запустим Suricata в режиме онлайн:

suricata -c $HOME/.config/suricata/suricata.yaml -i wlan0 --af-packet

Для генерации тестового трафика используем curl к известному ресурсу, который попадает под правило ET INFO Netbios-NS (пример):

curl http://testmalicious.example.com/

Логи появятся в $HOME/.local/var/log/suricata/fast.log. Просмотрим их:

cat $HOME/.local/var/log/suricata/fast.log | grep "ET"

Автозапуск Suricata в Termux

Для постоянного мониторинга используем termux-wake-lock и сервис termux-service (или termux-job-scheduler). Создадим скрипт run_suricata.sh:

cat > $HOME/.local/bin/run_suricata.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
# Блокируем сон устройства
termux-wake-lock
# Запускаем Suricata в фоне
suricata -c $HOME/.config/suricata/suricata.yaml -i wlan0 --af-packet &
EOF
chmod +x $HOME/.local/bin/run_suricata.sh

Теперь создадим сервис:

cat > $HOME/.termux/boot/run_suricata.service <<'EOF'
[Unit]
Description=Suricata IDS service

[Service]
ExecStart=$HOME/.local/bin/run_suricata.sh
Restart=on-failure

[Install]
WantedBy=default.target
EOF
termux-boot install

После перезагрузки Termux‑boot автоматически запустит Suricata.

Лучшие практики и рекомендации

  • Регулярно обновляйте набор правил (wget …/emerging.rules.tar.gz).
  • Настраивайте уровни логирования: default-log-level: info для продакшн, debug – для отладки.
  • Используйте suricata-update (можно установить через pip) для автоматизации обновлений правил.
  • Следите за нагрузкой CPU; при работе на мобильных процессорах рекомендуется ограничить количество потоков (--af-packet -c 2).
  • Интегрируйте вывод в SIEM‑системы через EVE JSON (включите outputs: - eve-log в конфиге).

Заключение

Настройка Suricata в Termux открывает новые возможности для мобильного сетевого мониторинга и обучения. При правильной конфигурации и регулярном обслуживании система способна своевременно обнаруживать угрозы, даже в условиях ограниченных ресурсов.

Команда RybinskLab готова помочь вам в развертывании и поддержке IDS‑решений: от консультаций по выбору правил до полной интеграции Suricata в корпоративные инфраструктуры. Свяжитесь с нами для получения профессиональных услуг по кибербезопасности и автоматизации.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной
Поддержать проект