dnsmasq изхвърля частен DNS отговор: виновна ли е защитата срещу rebinding?
Частен отговор може да задейства защитата срещу rebinding в dnsmasq. Първо намерете отказа в журнала, а след това ограничете изключението до един домейн, вместо да я изключвате.
DNS сървърът на фирмата връща очаквания частен адрес, а заявка през локалния препращащ резолвер все още се проваля. Отговорът съществува, което изключва зоната отгоре и самия запис. Остава стъпката, в която резолверът решава дали да върне този отговор на клиента. Ако този резолвер е dnsmasq, отказът вероятно вече е в журнала.
Получаването на отговор и решението да го върнете са две различни стъпки.
Сравнете същото име на двата резолвера
Запишете кой резолвер използва приложението в действителност и точното име на хоста, което пита. След това сравнете резултата отгоре със събитието на препращащия резолвер за същото име. Липсващ отговор отгоре, отрицателен отговор от кеша и отказ в журнала изискват три различни корекции.
Адрес, видим в пряка диагностична заявка, не доказва, че приложението го е получило по обичайния си път. Двете заявки може да тръгват от различни резолвери или от един и същ резолвер при различни правила. Запишете и двата резултата, преди да теоретизирате, защото точно на тази стъпка хората заменят едното с другото. Сравнението е цялата диагноза.
Четете отказа, а не симптома
Опцията stop-dns-rebind в dnsmasq отхвърля отговарящите на условията отговори с частен адрес, получени отгоре, и ги записва в журнала, когато го прави. Тази защита съществува с основателна причина: публично име, което изведнъж се разрешава към частен адрес, е класическата rebinding атака. Тя обаче се пресича и с умишлено частна услуга, а това е вашият случай.
Потърсете отказа в журнала, преди да промените каквото и да е, защото съобщението назовава механизма.
Ако няма отказ и няма отговор отгоре, защитата срещу rebinding не е вашият проблем и изключването ѝ би било промяна, която не поправя нищо, а разширява излагането. Това е по-лошо от първоначалната повреда, защото премахва контрол и оставя дефекта. Първо потвърдете конкретния ред от журнала. След това решете.
Ограничете изключението до един домейн
За проверен домейн ръководството на dnsmasq предлага изключение, ограничено до домейна, вместо глобален превключвател.
rebind-domain-ok=corp.example
Домейнът по-горе е само пример. Използвайте административния домейн, който наистина управлявате, и разберете обхвата на съвпадение на опцията, преди да я приложите, защото правило за суфикс покрива повече от един тестван хост. Генераторът на конфигурация на рутера може да изложи същата настройка чрез собствен контрол вместо чрез сурова директива. И двата пътя са добри, стига полученият обхват да е желаният.
Изключение от откриването на rebinding прави точно едно нещо: пропуска отговорите на този домейн.
То не конфигурира препращащ split-DNS, не прави недостъпен източник отгоре достъпен и не създава маршрут до върнатия адрес. Всяко от тези е отделно изискване със собствен подпис на повреда и всяко се проваля различно в клиента.
Проверете, без да премахвате границата
Попитайте отново името на хоста през пътя на препращане и след това се свържете с услугата с обичайните ѝ проверки за идентичност. Изключение в DNS не е причина да приемете неочакван сертификат и двете повреди лесно се объркват, когато и двете се покажат като грешка в браузъра. Тествайте името и услугата поотделно. Само едно от двете някога е било DNS проблем.
Пазете причината за изключението до конфигурацията, с дата и отговорник.
Проверявайте го отново, когато частната услуга се премести или домейнът се промени. Глобалното изключване на защитата би променило третирането на несвързани отговори и пак би оставило повредата в маршрута или услугата, ако rebinding никога не е бил причината.