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

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

Защита Android‑устройства через Termux: построение системы IDS/IPS

Мобильные устройства становятся всё более привлекательной целью для кибератак. Стандартные средства защиты Android ограничены, поэтому многие пользователи ищут гибкие решения, позволяющие контролировать сетевой трафик в реальном времени. Termux — мощный эмулятор терминала, который превращает Android‑смартфон в полноценную Linux‑среду. В этой статье мы покажем, как построить систему IDS/IPS (Intrusion Detection/Prevention System) непосредственно на устройстве, используя открытые инструменты Suricata и Snort.

Что такое IDS/IPS и зачем они нужны на Android

IDS (система обнаружения вторжений) анализирует сетевой трафик и генерирует сигналы о подозрительных действиях. IPS (система предотвращения вторжений) способна автоматически блокировать такие соединения. На Android такие возможности позволяют:

  • Выявлять попытки сканирования портов и эксплойтов.
  • Блокировать известные вредоносные домены и IP‑адреса.
  • Получать мгновенные уведомления о подозрительной активности.
  • Вести детализированные логи для последующего аудита.

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

Подготовка среды Termux

Перед тем как приступить к установке IDS/IPS, необходимо подготовить Termux и установить базовые пакеты.

pkg update && pkg upgrade -y

Установим репозитории, позволяющие работать с более широким набором пакетов.

pkg install root-repo

Далее установим инструменты, необходимые для работы Suricata и Snort.

pkg install git curl wget tar proot-distro \
    python clang make libpcap-dev libnetfilter_queue-dev \
    libyaml-dev zlib-dev openssl-dev pcre-dev

Для доступа к сетевому интерфейсу в режиме «root» потребуется предоставить Termux привилегии root. Если устройство имеет root‑доступ, выполните:

su -c "termux-chroot"

Если root‑доступа нет, можно использовать proot‑окружение, однако возможности IPS будут ограничены.

Установка и настройка Suricata

Suricata – современный движок IDS/IPS с поддержкой многопоточности. В репозитории Termux она уже доступна.

pkg install suricata

Создадим рабочий каталог и скопируем пример конфигурации.

mkdir -p $HOME/suricata/{etc,log,rules}
cp /data/data/com.termux/files/usr/etc/suricata/suricata.yaml $HOME/suricata/etc/

Отредактируем suricata.yaml, указав путь к правилам и логу.

sed -i "s|#default-rule-path: /etc/suricata/rules|default-rule-path: $HOME/suricata/rules|" $HOME/suricata/etc/suricata.yaml
sed -i "s|#default-log-dir: /var/log/suricata|default-log-dir: $HOME/suricata/log|" $HOME/suricata/etc/suricata.yaml

Скачиваем набор базовых правил Emerging Threats (ET) – открытый и регулярно обновляемый.

wget -O $HOME/suricata/rules/emerging.rules.tar.gz https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
tar -xzf $HOME/suricata/rules/emerging.rules.tar.gz -C $HOME/suricata/rules --strip-components=1

Запускаем Suricata в режиме IDS (только мониторинг) для проверки конфигурации.

suricata -c $HOME/suricata/etc/suricata.yaml -i any -l $HOME/suricata/log

Если всё работает, можно включить режим IPS, добавив параметр --af-packet (требуется root).

suricata -c $HOME/suricata/etc/suricata.yaml -i any --af-packet -l $HOME/suricata/log

Для автоматического запуска при загрузке устройства создадим простейший скрипт.

cat > $HOME/start_suricata.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
su -c "suricata -c $HOME/suricata/etc/suricata.yaml -i any --af-packet -l $HOME/suricata/log" &
EOF
chmod +x $HOME/start_suricata.sh

Запускать его можно вручную или привязать к планировщику crontab (Termux поддерживает cron через пакет cronie).

Установка и настройка Snort (альтернатива)

Snort – классический движок IDS/IPS, широко использующийся в корпоративных сетях. В Termux его необходимо собрать из исходников.

git clone https://github.com/snort3/snort3.git $HOME/snort3
cd $HOME/snort3
./configure_cmake.sh --prefix=$HOME/snort3/install
cd build
make -j$(nproc)
make install

Создадим конфигурационный файл snort.lua и укажем путь к правилам.

mkdir -p $HOME/snort3/rules
cp $HOME/snort3/etc/snort/snort.lua.example $HOME/snort3/etc/snort/snort.lua
sed -i "s|RULE_PATH = "/etc/snort/rules"|RULE_PATH = "$HOME/snort3/rules"|" $HOME/snort3/etc/snort/snort.lua

Для правил используем тот же набор Emerging Threats, адаптировав их под формат Snort.

wget -O $HOME/snort3/rules/emerging.rules.tar.gz https://rules.emergingthreats.net/open/snort-2.9.0/emerging.rules.tar.gz
tar -xzf $HOME/snort3/rules/emerging.rules.tar.gz -C $HOME/snort3/rules --strip-components=1

Запуск Snort в режиме IDS:

$HOME/snort3/install/bin/snort -c $HOME/snort3/etc/snort/snort.lua -i any -A console

Для включения IPS добавляем параметр --daq afpacket (требуется root).

$HOME/snort3/install/bin/snort -c $HOME/snort3/etc/snort/snort.lua -i any --daq afpacket -A console

Интеграция с Termux‑API: уведомления и логи

Для мгновенного оповещения о срабатывании правил установим пакет termux-api и используем команду termux-notification.

pkg install termux-api

Создадим скрипт, который будет парсить лог Suricata и отправлять уведомления.

cat > $HOME/suricata_alert.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
LOGFILE="$HOME/suricata/log/fast.log"
TAIL="$(tail -n1 $LOGFILE)"
if echo "$TAIL" | grep -q "[ALERT]"; then
  MSG="Suricata Alert: $(echo $TAIL | cut -d'|' -f2)"
  termux-notification --title "IDS Alert" --content "$MSG"
fi
EOF
chmod +x $HOME/suricata_alert.sh

Запланируем периодический запуск скрипта каждые 30 секунд.

while :; do $HOME/suricata_alert.sh; sleep 30; done &

Аналогичный подход можно реализовать для Snort, используя его вывод в файл alert.fast.

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

Для проверки работы IDS/IPS удобно использовать утилиту nmap или генераторы трафика hping3. Пример сканирования открытых портов, который должен сработать по правилу ET:

nmap -sS -p 80,443,22 192.168.1.1

После выполнения проверьте лог $HOME/suricata/log/fast.log – в нём появятся записи вида ET SCAN NMAP -sS. Если система работает в режиме IPS, соединения будут автоматически сброшены.

Заключение

С помощью Termux можно превратить обычный Android‑смартфон в полноценный узел сетевой безопасности, способный обнаруживать и предотвращать атаки в реальном времени. Выбор между Suricata и Snort зависит от ваших предпочтений: Suricata проще в установке и более эффективна в многопоточной работе, а Snort предлагает более гибкую систему правил.

Если вы хотите получить профессиональную настройку мобильной защиты, аудит безопасности вашего Android‑устройства или разработать кастомные правила IDS/IPS, обратитесь в RybinskLab. Мы предоставляем услуги по интеграции Termux, построению комплексных систем мониторинга и обучению персонала безопасному использованию мобильных платформ.

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

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

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

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

Связаться со мной