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.
Как работает
- Создаёте ловушку — получаете уникальный hostname.
- Прописываете его в конфиге как «сервер бэкапа» или «legacy-db».
- Сервис слушает DNS-запросы на UDP-порту (по умолчанию 5353).
- Любой lookup к canary-имени → алерт с IP запросившего.
Куда размещать
Docker-compose и Kubernetes манифесты, Ansible inventory, GitLab CI/CD variables, VPN-профили OpenVPN, runbook и wiki с инструкциями деплоя, /etc/hosts на тестовых серверах, Terraform outputs.
Пошаговая инструкция
- 1Сгенерируйте ловушку — получите hostname.
- 2Вставьте в конфиг: BACKUP_HOST=secret123.trap.yourdomain.ru
- 3Убедитесь, что production-сервисы не резолвят это имя.
- 4При чтении конфига атакующим или сканером — DNS lookup зафиксируется.
- 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 минуты
Зарегистрируйте компанию — сервис создаст изолированный кабинет и сгенерирует артефакт с инструкцией по размещению.
Открыть кабинет