Een regel die voor personeels- en labclients is geschreven, komt op de nieuwe edge-firewall en matcht stilzwijgend alles of niets. De oorzaak ligt stroomopwaarts: een gateway heeft de clientadressen al herschreven, dus de regel ziet één transitadres in plaats van twee groepen. Een apparaat toevoegen herstelt de informatie niet die het pad heeft verwijderd. Vind het laatste punt waar het onderscheid nog bestaat voordat je het beleid schrijft.

Waarom de edgeregel één adres ziet

Vertalen van velen naar één koppelt elk intern adres- en poortpaar aan een gedeeld extern adres met een toegewezen poort. Gesprekken blijven voor de vertaler onderscheidbaar via die poortbindingen, maar een apparaat verderop dat een eenvoudige bronprefix-match doet, ziet alleen het gedeelde adres. Dat is genoeg om twee groepen bij de regel identiek te maken. De pakketten komen nog steeds aan; de groepering niet.

Controleer wat de interface van de firewall werkelijk waarneemt, niet wat het diagram belooft. Die twee verschillen vaker dan iemand verwacht.

Vind de laatste afdwingbare identiteit

Begin bij het afdwingpunt en loop terug tot het oorspronkelijke prefix verschijnt. Twee opdrachten vinden meestal de grens.

iptables -t nat -L POSTROUTING -n -v
conntrack -L -s 10.90.0.2 | head

De NAT-tabel laat zien welk verkeer wordt vertaald en door welke regel, terwijl de conntrack-lijst de oorspronkelijke en vertaalde tuples voor actieve stromen toont. Waar de firewall stroomopwaarts altijd alleen het vertaalde adres ziet, kunnen bronregels per groep daar niet werken, hoe ze ook zijn geschreven. Loop vooruit of achteruit langs het pad tot je een apparaat bereikt waarop de twee clientprefixen verschillend blijven. Noteer de bron bij elke hop in plaats van een binnen- of buitenlabel te vertrouwen.

Drie plaatsingen en wat elke kost

Het beleid kan op de vertalende gateway staan, waar de oorspronkelijke bronnen nog zichtbaar zijn. Het kan op de firewall stroomopwaarts staan als het transport wordt gerouteerd in plaats van vertaald, wat betekent dat je retourroutes toevoegt en het herschrijven van de bron verwijdert. Of het kan op identiteit in plaats van adressen worden afgedwongen, via een geauthenticeerde controle die de gebruiker of het apparaat kent. Elke keuze heeft een eigenaar en een faalmodus, en alleen de eerste twee houden de regel zuiver over bronadressen.

Welke je ook kiest, documenteer de regel samen met het adres waarop hij past. Een regel waarvan de adresaanname stil is veranderd, is erger dan geen regel, omdat hij verkeer blijft matchen terwijl hij iets heel anders beschermt.

Acceptatie: één toegestane en één geweigerde client

Test met een paar clients, één uit elke groep, en leg vast hoe elk bij het afdwingpunt aankomt. Bewaar beide tuples naast het regelresultaat, zodat het bewijs laat zien dat het onderscheid overleefde en niet dat er een andere firewall bestaat. Herhaal de test na een NAT- of routeringswijziging, omdat het gepresenteerde adres het deel is dat stil breekt. Houd authenticatie in stand waar mensen onderscheiden moeten worden, aangezien een bronadres een beleidsinvoer is, geen bewijs van identiteit.

Schrijf het afdwingpunt, de waargenomen bron en de regel in de ticket. Anders voegt de volgende engineer een tweede firewall en dezelfde regel toe.

Gerelateerde artikelen