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 с использованием Cowrie и Loki

В современном мире киберугрозы становятся всё более изощрёнными, и традиционные подходы к их обнаружению часто отстают от реального темпа атак. Honeypot — это имитация уязвимых сервисов, привлекающая злоумышленников и позволяющая собрать ценные данные о тактике и инструментах атак. В этой статье мы рассмотрим, как start (начать) распределённую honeypot‑сеть, используя мобильную среду Termux и небольшие одноплатные компьютеры Raspberry Pi, а также открытые проекты Cowrie и Loki для сбора и анализа логов.
Термин start в этом контексте понимается как «начало действия или процесса»[merriam-webster.com](https://www.merriam-webster.com/dictionary/start).

Что понадобится

  • Смартфон/планшет с Android и установленным Termux.
  • Один или несколько Raspberry Pi (модель 3B+, 4B или Zero 2 W).
  • Подключение к сети Интернет (желательно отдельный VLAN для изоляции honeypot‑узлов).
  • Docker (на Raspberry Pi) или возможность установки Python‑окружения.
  • Учётная запись в Grafana Cloud (для Loki) или собственный сервер Loki.

Обзор архитектуры

Схема распределённой сети выглядит так:

  • Termux‑узел – лёгкий клиент, start (запускает) Cowrie в режиме эмуляции SSH/ Telnet.
  • Raspberry Pi‑узлы – полноценные honeypot‑серверы, каждый start отдельный экземпляр Cowrie.
  • Loki‑агрегатор – собирает логи со всех узлов через promtail и предоставляет их в Grafana.
  • Контроллер – центральный скрипт (может работать в Termux) для управления start и stop всех компонентов.

Подготовка Termux‑узла

1. Установим необходимые пакеты:

pkg update && pkg upgrade -y
pkg install python git curl wget -y
pip install --upgrade pip

2. Склонируем репозиторий Cowrie и подготовим виртуальное окружение:

git clone https://github.com/cowrie/cowrie.git
cd cowrie
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

3. Сгенерируем cowrie.cfg с минимальными настройками (SSH‑порт 2222, лог‑директория ~/.cowrie/log).

cp etc/cowrie.cfg.dist etc/cowrie.cfg
sed -i 's#ssh_port = 2222#ssh_port = 2222#' etc/cowrie.cfg
sed -i 's#log_path = ./log#log_path = $HOME/.cowrie/log#' etc/cowrie.cfg

4. Start (запускаем) Cowrie:

bin/cowrie start

Проверяем, что процесс слушает порт 2222:

netstat -tuln | grep 2222

Подготовка Raspberry Pi‑узла

Для Raspberry Pi удобно использовать Docker, так как он изолирует зависимости Cowrie.

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker

Запускаем контейнер Cowrie:

docker run -d \
  --name cowrie \
  -p 2222:2222 \
  -v cowrie-data:/cowrie/var \
  -e TZ=Europe/Moscow \
  cowrie/cowrie:latest

Контейнер автоматически start (запускает) сервис при старте системы (Docker‑опция --restart unless-stopped).

Настройка Loki и Promtail

1. На каждый узел (Termux и Raspberry Pi) устанавливаем promtail – агент, который отправляет логи в Loki.

# Для Termux (Linux‑like)
wget https://github.com/grafana/loki/releases/download/v2.9.1/promtail-linux-arm64.zip
unzip promtail-linux-arm64.zip
chmod +x promtail-linux-arm64

2. Конфигурируем promtail.yml:

server:
  http_listen_port: 9080
clients:
  - url: https://logs.your-grafana-cloud.com/loki/api/v1/push
    basic_auth:
      username: YOUR_USERNAME
      password: YOUR_API_KEY
scrape_configs:
  - job_name: cowrie_logs
    static_configs:
      - targets:
          - localhost
        labels:
          job: cowrie
          path: /home//.cowrie/log/

3. Запускаем promtail:

./promtail-linux-arm64 -config.file=promtail.yml &

После этого все логи Cowrie будут поступать в Loki, где их можно визуализировать в Grafana.

Связывание узлов в единую сеть

Для удобного управления используем простой скрипт honeyctl.sh, который через SSH (или adb для Termux) отправляет команды start и stop на каждый узел.

#!/usr/bin/env bash
HOSTS=("pi1.local" "pi2.local" "localhost")
for h in "${HOSTS[@]}"; do
  echo "Starting Cowrie on $h..."
  ssh $h "docker start cowrie || bin/cowrie start"
done

Запуск скрипта honeyctl.sh start (запускает) всю распределённую сеть за один клик.

Мониторинг и аналитика

В Grafana создаём дашборд с запросами Loki, например:

{job="cowrie"} |= "login" | json | line_format "{{.username}} from {{.src_ip}}"

Это позволит в реальном времени видеть попытки входа, используемые пароли и геолокацию IP‑адресов.

Безопасность и изоляция

  • Размещаем honeypot‑узлы в отдельном VLAN или подсети, недоступной из внутренней сети.
  • Ограничиваем исходящий трафик с помощью iptables (разрешаем только отправку логов в Loki).
  • Регулярно обновляем контейнеры Cowrie и Loki, используя docker pull и git pull в Termux.

Заключение

Мы рассмотрели, как start (начать) построение распределённой honeypot‑сети, используя гибкую мобильную среду Termux и недорогие Raspberry Pi. Комбинация Cowrie и Loki предоставляет мощный инструментарий для сбора, агрегации и анализа атак в реальном времени. Такая инфраструктура позволяет исследовать новые угрозы, обучать персонал и повышать уровень кибер‑безопасности организации.

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

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом РыбинскЛАБ.

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

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

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

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