DNS-сервер компанії повертає очікувану приватну адресу, і все ж запит через локальний пересилальний резолвер не вдається. Відповідь існує, що виключає зону вище та сам запис. Залишається крок, на якому резолвер вирішує, чи повертати цю відповідь клієнту. Якщо цей резолвер — dnsmasq, відмова, ймовірно, вже в журналі.

Отримати відповідь і вирішити її повернути — це два різні кроки.

Порівняйте те саме імʼя на обох резолверах

Запишіть, який резолвер насправді використовує застосунок, і точне імʼя хоста, яке він запитує. Потім порівняйте результат згори з подією пересилального резолвера для того самого імені. Відсутня відповідь згори, негативна відповідь із кешу та відмова в журналі потребують трьох різних виправлень.

Адреса, видима в прямому діагностичному запиті, не доводить, що застосунок отримав її звичайним шляхом. Два запити можуть виходити з різних резолверів або з одного резолвера за різними правилами. Запишіть обидва результати, перш ніж будувати теорії, бо саме на цьому кроці одне підміняють іншим. Порівняння — це вся діагностика.

Читайте відмову, а не симптом

Параметр stop-dns-rebind у dnsmasq відхиляє відповідні приватним адресам відповіді, отримані згори, і записує їх у журнал, коли це робить. Цей захист існує з поважної причини: публічне імʼя, яке раптом вказує на приватну адресу, — це класична rebinding-атака. Він також перетинається з навмисно приватною службою, і це ваш випадок.

Пошукайте відмову в журналі, перш ніж щось змінювати, бо повідомлення називає механізм.

Якщо немає ні відмови, ні відповіді згори, захист від rebinding не є вашою проблемою, і його вимкнення було б зміною, яка нічого не виправляє та розширює вразливість. Це гірше за початкову несправність, бо прибирає контроль і залишає дефект. Спершу підтвердьте конкретний рядок журналу. Потім вирішуйте.

Обмежте виняток одним доменом

Для перевіреного домену посібник dnsmasq пропонує виняток, обмежений доменом, а не глобальний перемикач.

rebind-domain-ok=corp.example

Домен вище наведено лише для прикладу. Використовуйте адміністративний домен, яким ви справді керуєте, і зрозумійте область збігу параметра, перш ніж застосовувати його, бо правило суфікса охоплює більше, ніж один перевірений хост. Генератор конфігурації маршрутизатора може відкрити те саме налаштування через власний елемент керування замість сирої директиви. Обидва шляхи придатні, якщо отримана область саме та, що потрібна.

Виняток із виявлення rebinding робить рівно одне: пропускає відповіді цього домену.

Він не налаштовує пересилач split-DNS, не робить недосяжне джерело згори досяжним і не створює маршрут до повернутої адреси. Кожна з цих вимог окрема, має власний підпис несправності, і кожна дається взнаки в клієнті по-різному.

Перевірте, не прибираючи межі

Запитайте імʼя хоста ще раз шляхом пересилання, а потім підключіться до служби з її звичайними перевірками ідентичності. Виняток у DNS не є підставою приймати неочікуваний сертифікат, і ці дві несправності легко сплутати, коли обидві постають як помилка браузера. Перевіряйте імʼя та службу окремо. Лише одне з них колись було проблемою DNS.

Тримайте причину винятку поруч із конфігурацією, із датою та відповідальною особою.

Перевіряйте його знову, коли приватна служба переїжджає або домен змінюється. Глобальне вимкнення захисту змінило б обробку не повʼязаних відповідей і все одно залишило б несправність маршруту чи служби, якби rebinding ніколи не був причиною.

Схожі статті