dnsmasq verwijdert een privé-DNS-antwoord: is het de rebinding-beveiliging?
Een privé-antwoord kan de rebinding-beveiliging van dnsmasq activeren. Zoek eerst de gelogde afwijzing en beperk daarna de uitzondering tot één domein in plaats van de beveiliging uit te zetten.
De DNS-server van het bedrijf geeft het verwachte privéadres terug, en toch mislukt een query via de lokale doorstuur-resolver. Het antwoord bestaat, wat de upstream-zone en het record zelf uitsluit. Wat overblijft is de stap waarin de resolver beslist of hij dat antwoord aan de client teruggeeft. Is die resolver dnsmasq, dan staat de afwijzing waarschijnlijk al in het log.
Een antwoord ontvangen en besluiten het terug te geven zijn twee verschillende stappen.
Vergelijk dezelfde naam op beide resolvers
Noteer welke resolver de toepassing werkelijk gebruikt en de exacte hostnaam die zij opvraagt. Vergelijk daarna het upstream-resultaat met de gebeurtenis van de doorstuur-resolver voor dezelfde naam. Een ontbrekend upstream-antwoord, een gecachet negatief antwoord en een gelogde afwijzing vragen drie verschillende correcties.
Een adres dat zichtbaar is in een directe diagnostische query bewijst niet dat de toepassing het via haar gebruikelijke pad heeft ontvangen. De twee queries kunnen van verschillende resolvers komen, of van dezelfde resolver onder ander beleid. Schrijf beide resultaten op voordat je theorieën vormt, want in deze stap wordt het ene voor het andere ingevuld. De vergelijking is de hele diagnose.
Lees de afwijzing in plaats van het symptoom
De optie stop-dns-rebind van dnsmasq weigert in aanmerking komende privé-adresantwoorden van upstream en logt ze daarbij. Die beveiliging bestaat om een goede reden: een publieke naam die plotseling naar een privéadres verwijst is de klassieke rebinding-aanval. Ze raakt ook een opzettelijk privé-dienst, en dat is jouw geval.
Zoek de afwijzing in het log voordat je iets wijzigt, want het bericht noemt het mechanisme.
Is er geen afwijzing en geen upstream-antwoord, dan is rebinding-beveiliging niet je probleem, en haar uitschakelen zou een wijziging zijn die niets oplost en de blootstelling vergroot. Dat is erger dan de oorspronkelijke storing, want het haalt een controle weg en laat het defect staan. Bevestig eerst de specifieke logregel. Beslis daarna.
Beperk de uitzondering tot één domein
Voor een geverifieerd domein biedt de dnsmasq-handleiding een uitzondering per domein in plaats van een globale schakelaar.
rebind-domain-ok=corp.example
Het domein hierboven is alleen een voorbeeld. Gebruik het administratieve domein dat je werkelijk beheert, en begrijp de bereikregel van de optie voordat je haar toepast, want een suffixregel dekt meer dan de ene geteste host. De configuratiegenerator van een router kan dezelfde instelling via zijn eigen bediening aanbieden in plaats van via een ruwe richtlijn. Beide routes zijn prima zolang het resulterende bereik het bedoelde is.
Een uitzondering op rebinding-detectie doet precies één ding: zij laat de antwoorden van dat domein door.
Zij configureert geen split-DNS-forwarder, maakt een onbereikbare upstream niet bereikbaar en maakt geen route naar het teruggegeven adres. Elk daarvan is een aparte vereiste met een eigen storingssignatuur, en elk faalt anders in de client.
Verifieer zonder de grens weg te halen
Bevraag de hostnaam opnieuw via het doorstuurpad en maak daarna verbinding met de dienst met de gebruikelijke identiteitscontroles. Een DNS-uitzondering is geen reden om een onverwacht certificaat te accepteren, en de twee storingen zijn makkelijk te verwarren wanneer beide als browserfout verschijnen. Test de naam en de dienst apart. Slechts één van beide was ooit een DNS-probleem.
Bewaar de reden voor de uitzondering naast de configuratie, met een datum en een eigenaar.
Controleer haar opnieuw wanneer de privé-dienst verhuist of het domein verandert. De beveiliging globaal uitschakelen zou de behandeling van ongerelateerde antwoorden veranderen en zou de storing in route of dienst alsnog laten staan als rebinding nooit de oorzaak was.