dnsmasq odrzuca prywatną odpowiedź DNS: czy to ochrona przed rebindingiem?
Prywatna odpowiedź może uruchomić ochronę przed rebindingiem w dnsmasq. Najpierw znajdź odrzucenie w logu, a potem ogranicz wyjątek do jednej domeny, zamiast wyłączać ochronę.
Serwer DNS firmy zwraca oczekiwany adres prywatny, a mimo to zapytanie przez lokalny resolver przekazujący wciąż kończy się niepowodzeniem. Odpowiedź istnieje, co wyklucza strefę nadrzędną i sam rekord. Zostaje etap, na którym resolver decyduje, czy przekazać tę odpowiedź klientowi. Jeśli tym resolverem jest dnsmasq, odrzucenie prawdopodobnie jest już w logu.
Odebranie odpowiedzi i wybór, by ją zwrócić, to dwa różne etapy.
Porównaj tę samą nazwę na obu resolverach
Zapisz, którego resolvera aplikacja naprawdę używa, i dokładną nazwę hosta, o którą pyta. Następnie porównaj wynik nadrzędny ze zdarzeniem resolvera przekazującego dla tej samej nazwy. Brak odpowiedzi nadrzędnej, odpowiedź negatywna z pamięci podręcznej i odrzucenie w logu wymagają trzech różnych poprawek.
Adres widoczny w bezpośrednim zapytaniu diagnostycznym nie dowodzi, że aplikacja otrzymała go swoją zwykłą drogą. Oba zapytania mogą wychodzić z różnych resolverów albo z tego samego resolvera w ramach różnych zasad. Zapisz oba wyniki, zanim zaczniesz teoretyzować, bo właśnie na tym etapie jedno podstawia się za drugie. Porównanie to cała diagnoza.
Czytaj odrzucenie, a nie objaw
Opcja stop-dns-rebind w dnsmasq odrzuca kwalifikujące się odpowiedzi z adresami prywatnymi otrzymane z góry i zapisuje je w logu, gdy to robi. Ta ochrona istnieje z dobrego powodu: publiczna nazwa, która nagle wskazuje adres prywatny, to klasyczny atak rebinding. Koliduje też z celowo prywatną usługą, a to właśnie twój przypadek.
Zanim cokolwiek zmienisz, poszukaj odrzucenia w logu, bo komunikat nazywa mechanizm.
Jeśli nie ma ani odrzucenia, ani odpowiedzi nadrzędnej, ochrona przed rebindingiem nie jest twoim problemem, a jej wyłączenie byłoby zmianą, która niczego nie naprawia i zwiększa ekspozycję. To gorsze niż pierwotna awaria, bo usuwa zabezpieczenie i zostawia usterkę. Najpierw potwierdź konkretny wiersz logu. Potem zdecyduj.
Ogranicz wyjątek do jednej domeny
Dla zweryfikowanej domeny podręcznik dnsmasq oferuje wyjątek ograniczony do domeny, a nie globalny przełącznik.
rebind-domain-ok=corp.example
Domena powyżej jest tylko przykładem. Użyj domeny administracyjnej, którą naprawdę zarządzasz, i zrozum zakres dopasowania opcji, zanim ją zastosujesz, bo reguła sufiksu obejmuje więcej niż jeden testowany host. Generator konfiguracji routera może wystawić to samo ustawienie przez własny element sterujący, a nie surową dyrektywę. Obie drogi są dobre, o ile uzyskany zakres jest zamierzony.
Wyjątek od wykrywania rebindingu robi dokładnie jedno: przepuszcza odpowiedzi tej domeny.
Nie konfiguruje przekazującego split-DNS, nie czyni nieosiągalnego serwera nadrzędnego osiągalnym ani nie tworzy trasy do zwróconego adresu. Każdy z tych wymogów jest osobny i ma własny podpis awarii, a każdy zawodzi w kliencie inaczej.
Sprawdź, nie usuwając granicy
Zapytaj ponownie o nazwę hosta ścieżką przekazywania, a następnie połącz się z usługą z jej zwykłymi kontrolami tożsamości. Wyjątek DNS nie jest powodem, by akceptować nieoczekiwany certyfikat, a obie awarie łatwo pomylić, gdy obie ujawniają się jako błąd przeglądarki. Przetestuj nazwę i usługę osobno. Tylko jedno z nich kiedykolwiek było problemem DNS.
Zachowaj powód wyjątku obok konfiguracji, z datą i osobą odpowiedzialną.
Sprawdź go ponownie, gdy usługa prywatna się przeniesie lub domena się zmieni. Globalne wyłączenie ochrony zmieniłoby traktowanie niepowiązanych odpowiedzi i nadal pozostawiłoby usterkę trasy lub usługi, gdyby rebinding nigdy nie był przyczyną.