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

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

Построение распределённой сети honeypot‑узлов на базе Termux и Raspberry Pi для исследования атак на IoT

Подробное руководство по созданию распределённой honeypot‑сети с использованием Termux и Raspberry Pi, позволяющее исследовать и анализировать атаки на IoT‑устройства.

В эпоху стремительного роста количества IoT‑устройств защита их от целевых и массовых атак становится критически важной. Honeypot‑узлы позволяют собрать реальный трафик атак, проанализировать используемые эксплойты и построить эффективные стратегии защиты. В этой статье мы рассмотрим, как создать распределённую сеть honeypot‑узлов, используя мобильные устройства под управлением Termux и недорогие Raspberry Pi. Такая инфраструктура обеспечивает гибкость, масштабируемость и низкую стоимость развертывания.

Общая архитектура решения

Схема сети состоит из трёх основных компонентов:

  • Мобильные honeypot‑узлы – смартфоны или планшеты с установленным Termux. Они имитируют небольшие IoT‑устройства (смарт‑розетки, камеры и т.д.) и находятся в разных географических точках.
  • Периферийные узлыRaspberry Pi (модели 4/400) в ролях шлюзов и сборщиков данных. На них развёрнуты контейнеры с более тяжёлыми сервисами (например, Honeyd, Conpot).
  • Центральный сервер аналитики – любой сервер (VPS, облако) с ELK‑стеком или Graylog для агрегации, хранения и визуализации логов.

Все узлы соединены через защищённый WireGuard VPN, что обеспечивает сквозное шифрование и упрощённую маршрутизацию.

Требования к оборудованию и программному обеспечению

  • Смартфон/планшет Android ≥ 8.0 с доступом к Termux.
  • Raspberry Pi 4 (2 ГБ RAM и выше) с предустановленным Raspberry OS (Bullseye).
  • Сервер Linux (Ubuntu 22.04 или похожий) для централизованного логирования.
  • Подключение к Интернету (Wi‑Fi/ethernet) для всех узлов.
  • Установленные пакеты: python3, pip, honeyd, wireguard-tools, docker (на Pi), filebeat (на всех узлах).

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

Установите базовые пакеты и настройте Python‑окружение.

pkg update && pkg upgrade -y
pkg install python git curl wget tar proot-distro -y
pip install --upgrade pip
pip install honeydpy

Создайте рабочий каталог и склонируйте шаблон конфигурации honeyd:

mkdir -p ~/honeypot/config && cd ~/honeypot
git clone https://github.com/rybinsk-lab/honeyd-iot-templates.git config

Шаг 2. Конфигурация и запуск honeypot в Termux

Отредактируйте файл config/honeyd.conf, указав имитацию IoT‑устройств. Пример простейшего шаблона:

# honeyd.conf – имитация умной розетки и камеры
create smartplug
set smartplug personality "Smart Plug"
set smartplug default tcp action reset

create ipcamera
set ipcamera personality "IP Camera"
set ipcamera default tcp action reset

bind 10.0.0.10 smartplug
bind 10.0.0.11 ipcamera

Запустите honeyd в фоне:

honeyd -d -f ~/honeypot/config/honeyd.conf -i tun0 &

Для перехвата трафика создайте виртуальный интерфейс tun0 через WireGuard (см. ниже).

Шаг 3. Настройка Raspberry Pi как шлюза и центра сбора логов

Обновите систему и установите необходимые сервисы.

sudo apt update && sudo apt upgrade -y
sudo apt install honeyd wireguard docker.io docker-compose -y
sudo systemctl enable docker

Создайте Docker‑контейнер с ELK‑стеком (используем готовый образ docker-elk).

mkdir -p ~/elk && cd ~/elk
cat > docker-compose.yml <<'EOF'
version: '3.7'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.9
    environment:
      - discovery.type=single-node
    ports:
      - "9200:9200"
  logstash:
    image: docker.elastic.co/logstash/logstash:7.17.9
    volumes:
      - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf
    ports:
      - "5044:5044"
  kibana:
    image: docker.elastic.co/kibana/kibana:7.17.9
    ports:
      - "5601:5601"
EOF

docker-compose up -d

Настройте Filebeat на Raspberry Pi для отправки логов от honeyd в Logstash.

sudo apt install filebeat -y
sudo tee /etc/filebeat/filebeat.yml > /dev/null <<'EOF'
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/honeyd/*.log
output.logstash:
  hosts: ["localhost:5044"]
EOF
sudo systemctl enable filebeat && sudo systemctl start filebeat

Шаг 4. Развёртывание WireGuard VPN

Создайте единую VPN‑сеть 10.200.0.0/24. На центральном сервере сгенерируйте ключи:

wg genkey | tee server_private.key | wg pubkey > server_public.key

Сконфигурируйте wg0.conf на сервере:

[Interface]
PrivateKey = $(cat server_private.key)
Address = 10.200.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT

Для каждого Termux‑устройства выполните аналогичные действия, заменив Address на уникальный IP (например, 10.200.0.10/32) и указав Endpoint сервера.

# На Android (Termux)
pkg install wireguard-tools -y
wg genkey | tee client_private.key | wg pubkey > client_public.key

cat > wg0.conf <<'EOF'
[Interface]
PrivateKey = $(cat client_private.key)
Address = 10.200.0.10/32

[Peer]
PublicKey = $(cat /path/to/server_public.key)
Endpoint = your.server.ip:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF

sudo wg-quick up wg0

Повторите процесс на Raspberry Pi, используя отдельный IP (например, 10.200.0.2/32). После поднятия VPN все узлы смогут обмениваться трафиком через tun0, а honeyd будет слушать на этом интерфейсе.

Шаг 5. Сбор и анализ данных

Логи honeyd сохраняются в /var/log/honeyd/ (на Termux – в ~/honeypot/logs/). Через Filebeat они попадают в Logstash, где происходит парсинг и отправка в Elasticsearch. В Kibana можно построить визуализацию:

  • Топ‑10 IP‑адресов‑источников.
  • Частота сканирования портов.
  • Типы имитируемых устройств, к которым обращаются злоумышленники.

Для автоматизации анализа можно использовать Python‑скрипты, подключающиеся к Elasticsearch API.

Шаг 6. Безопасность и поддержка работоспособности

  • Регулярно обновляйте пакеты в Termux (pkg upgrade -y) и в Raspberry Pi (sudo apt update && sudo apt upgrade -y).
  • Ограничьте доступ к VPN‑ключам, храните их в зашифрованных хранилищах.
  • Настройте мониторинг состояния honeyd через systemd‑таймеры или cron на Raspberry Pi.
  • Внедрите резервное копирование Elasticsearch‑индексов (snapshot API).

Заключение

Созданная распределённая сеть honeypot‑узлов на базе Termux и Raspberry Pi предоставляет мощный и гибкий инструмент для исследования атак на IoT‑устройства. Благодаря использованию открытых решений (Honeyd, WireGuard, ELK) система легко масштабируется, а полученные данные позволяют формировать актуальные стратегии защиты.

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

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

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

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