Що таке переприв'язка DNS і як її запобігти
13:37, 14.05.2026
Система доменних імен (DNS) є однією з основних технологій Інтернету — вона в фоновому режимі перетворює доменні імена на IP-адреси, що дозволяє нам легко отримувати доступ до веб-сайтів та онлайн-сервісів. Однак така зручність також несе в собі низку ризиків для безпеки, якщо нею не управляти належним чином.
Особливо небезпечна атака, спрямована на систему доменних імен, відома як DNS-ребайндинг.
У цій статті пояснюється, що таке DNS-ребайндинг, чому він становить серйозну загрозу для локальних мереж і як захистити свої системи від такого виду атак.
Розуміння системи DNS
Щоб зрозуміти, як працює DNS-ребайндинг і як захиститися від нього, необхідно розуміти основи системи доменних імен (DNS) та її роль в інтернет-комунікації.
По суті, DNS — це ієрархічна система імен, яка служить для перетворення доменних імен, зрозумілих для людей (таких як example.com), у IP-адреси, зрозумілі для машин (такі як 93.184.216.34). Кожного разу, коли ви відкриваєте веб-сайт, перевіряєте електронну пошту або користуєтеся додатком, підключеним до Інтернету, ваш пристрій виконує DNS-запит, щоб з’ясувати, куди слід надіслати запит.
Як працює DNS
Коли надсилається DNS-запит, він проходить через ланцюжок:
- Спочатку перевіряється локальний кеш DNS. Якщо запис є і не втратив чинності, він повертається негайно.
- Якщо його немає в кеші, запит надсилається до рекурсивного DNS-резолвера (який часто надається вашим інтернет-провайдером або публічною службою DNS, такою як Google DNS чи Cloudflare).
- Резолвер запитує авторитетні DNS-сервери в ланцюжку, починаючи з кореневих DNS-серверів, доки не отримає правильну IP-адресу для домену.
Потім відповідь повертається клієнту і, як правило, кешується протягом певного періоду, який називається TTL (Time to Live).
Ця інфраструктура є швидкою та ефективною, але за своєю суттю базується на довірі. DNS не перевіряє автентичність походження відповіді, якщо не використовуються розширення безпеки, такі як DNSSEC.
Чому DNS є частою мішенню для зловмисників
DNS працює на низькому рівні стеку Інтернету і часто залишається поза увагою під час аудитів безпеки. Це надає зловмисникам численні можливості для маніпулювання трафіком, перехоплення даних або проникнення в мережі.
Хоча DNS розроблено з огляду на функціональність та швидкість, його не створювали з урахуванням сучасних викликів у сфері безпеки. За замовчуванням DNS не перевіряє ані цілісність, ані автентичність відповідей, що робить його вразливим до маніпуляцій.
Оскільки DNS є настільки фундаментальною та надійною складовою роботи мережі, зловмисники часто використовують його вразливості для перехоплення трафіку, перенаправлення користувачів або — у випадку DNS-ребайндингу — спонукання браузерів встановлювати з’єднання, які вони зазвичай не дозволили б.
DNS-Rebinding відрізняється тим, що атакує внутрішні мережі через зовнішні веб-сайти та фактично перетворює браузер на проксі для атаки на локальні пристрої.
Пояснення атак DNS-ребайндингу
DNS-ребайндинг — це техніка, яка дозволяє зловмисному веб-сайту обійти політику Same-Origin браузера та взаємодіяти з приватними IP-адресами або внутрішніми службами в мережі користувача.
Як це працює:
- Користувач відвідує зловмисний веб-сайт, контрольований зловмисником, наприклад attacker-site.com.
- Веб-сайт надає скрипт (зазвичай JavaScript), який намагається надсилати запити до внутрішніх ресурсів, таких як 192.168.1.1 (локальний маршрутизатор).
- Зазвичай браузер блокує це завдяки політиці Same-Origin, яка не дозволяє скриптам одного домену отримувати доступ до вмісту іншого.
- Однак зловмисник використовує переприв'язку DNS, щоб обдурити браузер. DNS-сервер для attacker-site.com спочатку вирішується на публічну IP-адресу, яка хостить веб-вміст зловмисника. Після завантаження скрипту DNS-сервер зловмисника змінює запис A так, щоб він вказував на приватну IP-адресу, наприклад 127.0.0.1 або пристрій у локальній мережі. Якщо браузер не перевіряє межі походження належним чином, він дозволяє скрипту надсилати запити до внутрішньої системи, оскільки вважає, що все ще спілкується з attacker-site.com .
Це може надати зловмисникам доступ до панелей адміністратора маршрутизатора, налаштувань принтерів, пристроїв Інтернету речей або навіть внутрішніх API, які не призначені для загального доступу.
Перевірені методи запобігання DNS-ребайндингу
DNS-ребайндинг можна ефективно стримати за допомогою поєднання заходів захисту на стороні клієнта, налаштувань мережі та зміцнення безпеки додатків.
Захист на основі браузера
Сучасні браузери мають кілька вбудованих механізмів захисту, таких як блокування доступу до localhost або застосування суворіших перевірок походження. Однак вони різняться залежно від браузера і не завжди є абсолютно безпечними.
Користувачам слід підтримувати свої браузери в актуальному стані, уникати відвідування ненадійних веб-сайтів та використовувати розширення або налаштування браузера, що обмежують JavaScript або домени сторонніх розробників
Фільтрація DNS та захист від ребайндингу
Деякі DNS-резолвери забезпечують захист від ребайндингу, блокуючи відповіді DNS, які перетворюють зовнішні домени на внутрішні IP-адреси. До них належать OpenDNS (Cisco Umbrella), NextDNS та Pi-hole (з налаштуваннями, визначеними користувачем).
Захист веб-серверів та додатків
Внутрішні служби ніколи не повинні покладатися виключно на імена хостів. Веб-додатки та локальні API повинні перевіряти заголовок Host та здійснювати аутентифікацію навіть для локальних запитів.
Інші заходи:
- Прив'язка внутрішніх служб до localhost або суто внутрішніх інтерфейсів
- Обов'язкова автентифікація для інтерфейсів управління маршрутизаторами або IoT
- Використання нестандартних портів (не замінює безпеку, але знижує ризик)
Налаштування мережевого брандмауера та маршрутизатора
Ці заходи забезпечують:
- Блокування вихідних DNS-запитів, крім тих, що надходять через надійний резолвер
- Запобігання тому, щоб внутрішні пристрої розпізнавали зовнішні імена хостів або реагували на них
- Використання VLAN для відокремлення чутливих пристроїв від загального користувацького трафіку
Вимкнення або обмеження виконання JavaScript
На системах з високим рівнем безпеки ви можете заблокувати JavaScript або дозволити його лише з надійних доменів. Це повністю запобігає виконанню шкідливих скриптів.