DNS

DNS Canary

DNS Canary — одна из самых незаметных и эффективных ловушек. Вы прописываете уникальное DNS-имя в конфигурации инфраструктуры, и забываете о нём. Когда кто-то читает конфиг и пытается резолвить имя — вы получаете алерт.

Что это и зачем

Ловушка генерирует hostname вида secret123.trap.yourdomain.ru. Сервис Deception Lite сам обрабатывает DNS-запросы к этому имени — вам не нужно поднимать отдельный DNS-сервер.

Вы встраиваете hostname в docker-compose, Ansible inventory, CI/CD variables, VPN-профили (.ovpn), runbook или скрипты деплоя. Легитимные сервисы не должны обращаться к этому имени. Когда атакующий или сканер читает конфиг и делает DNS lookup — фиксируется событие dns_lookup.

Как работает

  1. Создаёте ловушку — получаете уникальный hostname.
  2. Прописываете его в конфиге как «сервер бэкапа» или «legacy-db».
  3. Сервис слушает DNS-запросы на UDP-порту (по умолчанию 5353).
  4. Любой lookup к canary-имени → алерт с IP запросившего.

Куда размещать

Docker-compose и Kubernetes манифесты, Ansible inventory, GitLab CI/CD variables, VPN-профили OpenVPN, runbook и wiki с инструкциями деплоя, /etc/hosts на тестовых серверах, Terraform outputs.

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

  1. 1Сгенерируйте ловушку — получите hostname.
  2. 2Вставьте в конфиг: BACKUP_HOST=secret123.trap.yourdomain.ru
  3. 3Убедитесь, что production-сервисы не резолвят это имя.
  4. 4При чтении конфига атакующим или сканером — DNS lookup зафиксируется.
  5. 5Проверка: dig @your-server -p 5353 hostname A

Что фиксируется

  • IP-адрес DNS-клиента
  • Тип запроса (A, AAAA)
  • Время lookup
  • Имя canary-хоста

Сценарии применения

  • Обнаружение эксфильтрации конфигов с серверов
  • Детектирование lateral movement — атакующий читает конфиги соседних машин
  • Сигнал при компрометации CI/CD — runner резолвит переменные окружения
  • Ловушка в Terraform state или Ansible vault после утечки

Частые вопросы

Нужно ли настраивать DNS-сервер?

Нет. Deception Lite сам обрабатывает запросы к canary-именам. Достаточно, чтобы DNS-клиент мог достучаться до вашего сервера на UDP-порту.

Сработает ли, если имя просто лежит в текстовом файле?

Только если кто-то попытается его резолвить. Само по себе наличие строки в файле не вызывает DNS-запрос. Для файлов на шаре лучше использовать файловые ловушки или ссылки.

Можно ли использовать свой домен?

Да. Настройте TRAP_DOMAIN в конфигурации сервера — canary-имена будут вида secret.yourdomain.ru.

Похожие ловушки

Создайте «DNS Canary» за 2 минуты

Зарегистрируйте компанию — сервис создаст изолированный кабинет и сгенерирует артефакт с инструкцией по размещению.

Открыть кабинет