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 никада није био узрок.