Уявіть: сайт працює, сервер відповідає, але відвідувачі не бачать контент. Причина — DNS-запис A було змінено годину тому, а ви дізналися про це лише після скарг. Моніторинг DNS змін — це те, що відокремлює контроль від роботи наосліп. За статистикою, 60% компаній хоча б раз на рік стикаються з DNS-атаками, а середній час виявлення без моніторингу перевищує 6 годин. Ми бачили кейси, коли клієнт втрачав трафік на кілька годин через злам акаунту реєстратора та зміну записів. Наш досвід показує: без окремого моніторингу DNS ви сліпі до однієї з найвразливіших ланок інфраструктури.
Чому стандартний моніторинг серверів не захищає від DNS-атак?
Зазначимо: коли сайт падає, зазвичай спершу перевіряють навантаження на сервер, логи додатків і базу даних. Однак несправність може бути в DNS: несанкціонована зміна A-запису, зламаний DNSSEC або різке падіння TTL роблять сайт недоступним для тисяч користувачів, хоча сервер справний. Ми стикалися з кейсами, коли клієнт втрачав трафік на кілька годин через злам акаунту реєстратора та зміну записів. Наш досвід показує: без окремого моніторингу DNS ви сліпі до однієї з найвразливіших ланок інфраструктури.
Які ризики несе відсутність моніторингу DNS?
Згідно зі звітами, 60% компаній хоча б раз на рік стикаються з DNS-атаками. Зміна MX-записів — класичний сценарій перехоплення корпоративної пошти: зловмисник перенаправляє поштові потоки на свій сервер, отримуючи доступ до листування та паролів. Атака на NS-сервери перенаправляє домен на фішингову сторінку. Навіть випадкова помилка адміністратора (невірний TTL, зламаний підпис DNSSEC) здатна паралізувати роботу на кілька діб. Ми налаштували моніторинг для клієнта, чий домен був недоступний 6 годин через пропущене продовження — втрати склали десятки тисяч доларів. Відтоді ми впровадили перевірку закінчення домену як обов'язковий компонент. Наші інженери мають понад 10 років досвіду в DNS-інфраструктурі, виконали понад 50 проектів з моніторингу та економлять клієнтам у середньому 70% витрат на ліквідацію наслідків.
Контрольовані DNS-записи
| Тип запису | Що перевіряємо | Ризик при зміні |
|---|---|---|
| A/AAAA | IP-адреса не змінилася | Сайт показує чужий контент або порожню сторінку |
| MX | Поштові сервери ті ж | Перехоплення пошти, фішинг від імені компанії |
| NS | DNS-сервери вказані вірно | Повна втрата управління над доменом |
| TXT | SPF, DKIM, DMARC в силі | Підробка листів, проблеми з доставкою |
| CNAME | Канонічне ім'я не змінено | Редирект на шкідливий ресурс |
Крім записів, обов'язково контролюйте:
- TTL — аномально низькі значення (<60 с) часто передують атаці. Ми виставляємо поріг, який автоматично алертить при TTL менше 300 секунд.
- DNSSEC — зламаний підпис = недоступність для 30% користувачів (браузери з валідацією). Згідно RFC 4033, DNSSEC забезпечує аутентифікацію відповідей DNS.
- Термін закінчення домену — прострочений домен втрачає всю DNS-конфігурацію. Ми перевіряємо щодня і відправляємо алерт за 30 днів до закінчення.
Як налаштувати моніторинг DNS під ключ?
Ми використовуємо комбінацію підходів: легкі Python-скрипти для швидкого старту та Prometheus Blackbox Exporter для промислового масштабу. Ось типовий процес:
- Аудит поточної конфігурації. Збираємо еталонні записи, перевіряємо DNSSEC, TTL та дату закінчення. Фіксуємо baseline в JSON-снепшоті.
- Налаштування Python-скрипту моніторингу змін. Скрипт опитує три public-резолвери (Google, Cloudflare, OpenDNS) і порівнює відповіді з еталоном. При розбіжності — алерт в Telegram, Slack або PagerDuty протягом однієї хвилини. Середній час виявлення зміни — 60 секунд.
- Інтеграція з Prometheus через Blackbox Exporter. Для кожного домену створюємо модуль dns_check, який перевіряє очікуваний IP. Метрики потрапляють в Grafana, алерти налаштовуються за правилом if probe_success == 0 for 2m.
- Перевірка DNSSEC. Періодично виконуємо резолвінг з флагом DO (dnssec OK) і перевіряємо наявність RRSIG. При помилці валідації — критичний алерт.
- WHOIS-моніторинг. Щодня перевіряємо кількість днів до закінчення домену. Поріг спрацювання — 30 днів. Це дозволяє уникнути втрати домену.
Приклад Python-скрипту перевірки DNS
import dns.resolver from dns.exception import DNSException def check_dns(domain, expected_ip): try: answers = dns.resolver.resolve(domain, 'A') for rdata in answers: if rdata.address != expected_ip: alert(f"DNS change detected for {domain}") except (DNSException, IndexError) as e: alert(f"DNS error for {domain}: {e}") Порівняння методів: Blackbox Exporter краще Python-скрипту при моніторингу понад 50 доменів — він дає готові метрики, інтеграцію з Grafana і масштабується без додаткового коду. Python зручний для швидкого прототипування або кастомних перевірок (наприклад, порівняння записів між резолверами).
Що входить в роботу
- Підготовка та узгодження списку контрольованих доменів і записів.
- Розробка та деплой скриптів моніторингу (Python) або конфігурація Blackbox Exporter.
- Налаштування алертів (Telegram, Slack, email, PagerDuty) із зазначенням severity.
- Перевірка DNSSEC та WHOIS-інформації.
- Документація щодо відновлення при інциденті.
- Тестовий період 7 днів з фіксацією спрацювань і доналаштуванням порогів.
- Передача доступів та навчання вашої команди роботі з системою.
Терміни налаштування
| Компонент | Терміни |
|---|---|
| Python-скрипт + алерти | 1–2 дні |
| Prometheus + Blackbox Exporter | 1 день |
| DNSSEC-валідація | 0.5 дня |
| WHOIS-моніторинг | 0.5 дня |
| Повний комплекс «під ключ» | 3–5 днів |
Точна оцінка залежить від кількості доменів та складності інфраструктури. Зв'яжіться з нами, щоб обговорити моніторинг ваших доменів — ми проаналізуємо конфігурацію та запропонуємо оптимальне рішення.
Інструменти для самостійної перевірки
- dig —
dig +dnssec example.comдля ручної перевірки DNSSEC. - dnsviz.net — візуалізація ланцюжка довіри DNSSEC.
- DNSCheck.tools — онлайн-перевірка всіх записів.
Для постійного моніторингу без скриптів та Prometheus не обійтися. Ми використовуємо перевірені стеки та ділимося кодом з відкритою ліцензією.
Наш досвід та гарантії
Наші інженери мають понад 10 років досвіду роботи з DNS-інфраструктурою великих проектів з навантаженням до 5000 RPS. Ми сертифіковані за Prometheus, Python, BIND та PowerDNS. Гарантуємо, що система моніторингу не пропустить жодної зміни — якщо це станеться, ми безкоштовно доналаштуємо її.
Налаштування моніторингу DNS — це інвестиція, яка окупається при першому ж інциденті. Замовте аудит сьогодні — отримайте консультацію інженера та пропозицію щодо термінів.







