En tunnel mellan platser döljer en detalj som avgör hela inspektionsdesignen: den exakta enhet där det inre paketet syns i klartext. Allt före den punkten ser ESP, och allt efter den ser vanlig IP som en regel kan matcha. Sätter du gränsen på fel ställe blir brandväggen du betalat för en router med licens. Genomgången nedan drar linjen först och frågar sedan vilken burk som ska äga den.

Dra linjen där paketet slutar vara krypterat

I tunnelläge krypteras det ursprungliga paketet och bäddas in i ett nytt yttre IP-huvud adresserat till peer-gatewayen. Det yttre paketet bär protokoll 50 för ESP, så varje enhet mellan de två gatewayerna kan dirigera det utan att läsa de inre adresserna. Den första enheten som dekrypterar är säkerhetsgränsen, och den är också den första enheten som kan tillämpa policy på det inre flödet. Allt nedströms om den punkten är vanlig routning.

Markera tre saker på ritningen: den externa ändpunkten som släpper in ESP, de skyddade nätverk som nämns i policyn, och nästa hopp som det dekrypterade paketet tar. Om de tre inte finns på samma enhet har du en överlämning att designa i stället för en enda kontrollpunkt.

RFC 4301 kallar den dekrypterande enheten en säkerhetsgateway och behandlar dess policy som en del av gränsen. Det är en användbarare ram än produktkategorin, eftersom en enhet är en gräns när den håller policyn, inte när dess datablad säger brandvägg.

Brandvägg som ändpunkt: en enhet, en policypunkt

När brandväggen avslutar tunneln behöver den uppströms routern bara leverera ESP till den. Brandväggen autentiserar peeren, dekrypterar och tillämpar sedan sina vanliga regler på det inre paketet på väg till server-VLAN:et. Det ger en plats att läsa policy på och en plats att läsa loggar på, vilket oftast är vad en revision frågar efter.

Kontrollera de två behörigheterna var för sig. Att tillåta IKE och ESP till enheten är inte samma regel som att tillåta en fjärrplats att nå en server, och en brandvägg som accepterar tunneln men blockerar det inre flödet ser exakt ut som en trasig tunnel från andra änden.

Kostnaden är att brandväggen nu ligger på vägen för all trafik mellan platser, så dess genomströmning, sessionsgränser och redundansbeteende blir själva tunnelns beteende. Dimensionera den för de kombinerade platsflödena och inte för den fjärråtkomstprofil den kanske köptes för.

Router som ändpunkt: inspektionshoppet blir valfritt

När routern dekrypterar är paketet redan i klartext när det når routingtabellen. Om en separat brandvägg ska inspektera trafiken måste routern skicka den genom brandväggen, och returvägen måste komma tillbaka samma väg. En direkt rutt från routern till server-VLAN:et tar tyst bort brandväggen från vägen medan den blir kvar på ritningen.

Det är felet att leta efter i ett befintligt nätverk: två rutter till samma prefix, en genom brandväggen och en direkt, där den direkta vinner på prefixlängd eller metrik. Tunneln släpper fortfarande igenom trafik och inspektionen du tror på sker inte.

Ruttbaserade tunnlar gör detta synligt, eftersom tunneln är ett gränssnitt du kan routa genom en annan enhet. Policybaserade tunnlar väljer trafik med selector, vilket kan lämna det dekrypterade paketet på routern utan annan väg.

Ställ samma fem frågor till båda kandidaterna

Ett kort arbetsblad slår en funktionsmatris, eftersom varje fråga motsvarar en linje på ritningen. Fråga varje kandidat:

  • Vilka IKE-versioner, vilka autentiseringsmetoder för peer och vilka routingmodeller stöder den här versionen faktiskt?
  • Var släpps ESP in, och var tillåts eller nekas det dekrypterade flödet?
  • Hur lär sig lokala värdar de fjärran prefixen, och hur lär sig andra sidan dina?
  • Vilken genomströmning, hur många sessioner och vilket redundansbeteende måste ändpunkten klara för den verkliga arbetslasten?
  • Vem äger peer-uppgifterna, policyn och återställningsvägen när tunneln är det som är trasigt?

pfSense dokumenterar policybaserad och ruttbaserad IPsec som separata modeller med separata begränsningar, och den skillnaden betyder mer än etiketten på lådan. Kontrollera det exakta läget och den stödda filtreringen av dekrypterad trafik i den version du faktiskt skulle driftsätta.

Om en kandidat inte kan svara på den andra frågan med en regel du kan läsa är det inte den gräns du vill ha, hur bra den än är på allt annat. Be om regeltexten i stället för ett ja, och behandla ett vagt svar som ett nej.

Verifiera vägen med en avlyssning, inte med ritningen

En ritning beskriver avsikten och en avlyssning beskriver beteendet, så bekräfta vilket gränssnitt som bär ESP och vilket som bär det inre flödet innan du litar på något av dem.

tcpdump -ni wan0 esp
tcpdump -ni lan0 host 10.60.4.20
ip xfrm policy list

Om den första avlyssningen visar ESP som anländer och den andra visar det inre paketet på LAN-sidan är dekrypteringspunkten där du tror. Om det inre paketet dyker upp på ett segment som kringgår brandväggen är routningen fel, vad policytelten än säger. xfrm-listan visar sedan vilka selectorer som är installerade och i vilken riktning.

Upprepa avlyssningen på returvägen, eftersom asymmetrisk routning är vanlig när en plats har två möjliga utgångar. En tunnel som fungerar i en riktning och får tidsutlösning i den andra är nästan alltid detta, och ingen redigering av policyn på andra sidan rättar det.

Relaterade artiklar