Du lägger till en inkommande regel för VPN-klientpoolen, tar inte bort något, och tjänsten är fortfarande nåbar från internet. Inget är trasigt. En säkerhetsgrupp har ingen åsidosättning, prioritet eller slutlig nekning som den smala regeln kan vinna mot. Varje grupp som är kopplad till instansen bidrar med sina egna tillåtelser till en enda sammanslagen mängd, och den breda regeln du glömde finns fortfarande i den mängden. Att göra instansen till endast-VPN innebär att granska alla, inte att lägga till en bättre klingande regel på en av dem.

Skriv ner tjänsten innan du skriver regeln

Börja med den exakta destinationen, protokollet och porten, samt nätverksgränssnittet som tjänsten faktiskt lyssnar på. En instans med flera gränssnitt eller flera tjänster på en port kräver granskning per gränssnitt, eftersom de kopplade grupperna kan skilja sig. Bestäm sedan vilken källadress gränssnittet faktiskt tar emot för en VPN-användare, i stället för den adress som klienten visar i sitt eget anslutningsfönster.

Dessa två adresser avviker oftare än folk förväntar sig när översättning och routning är inblandade.

Tre källmodeller, tre olika regler

Med privat routad åtkomst tar instansen emot klientpoolen eller företagsintervallet, beroende på hur vägen routas och översätts. Med en offentlig slutpunkt som nås via företagets utgång ser instansen i stället företagets NAT-adress, och bara om destinationen faktiskt använder VPN-vägen, eftersom delad tunnling kan lämna den på en hemanslutning. Med en hanterad Client VPN-slutpunkt gäller den dokumenterade modellen för koppling och målntätverk, och klientadressen kommer från det konfigurerade klient-CIDR:et.

Det som inte fungerar är att referera till en VPN-gateway som källa för en säkerhetsgrupp. Gruppreferenser matchar elastiska nätverksgränssnitt i VPC:n eller i ett peer-nätverk, och en gateway som vidarebefordrar paket är inte en av dem.

Läs föreningen över alla kopplade grupper

Öppna instansen, hitta dess nätverksgränssnitt och lista varje säkerhetsgrupp som är kopplad till det. För varje, kontrollera varje regel som täcker ditt protokoll och din port, inklusive breda portintervall och båda adressfamiljerna. En IPv4-regel från 0.0.0.0/0 befriar dig inte från att kontrollera ::/0, och en regel som tillåter all trafik döljer portfrågan helt. Först efter den inventeringen kan du säga vad den effektiva behörigheten för tjänsten är.

AWS-regelreferensen beskriver säkerhetsgrupper som endast-tillåtande och anger att reglerna från alla kopplade grupper aggregeras, och det är hela mekanismen bakom detta misslyckande.

Nätverks-ACL:er är en separat, tillståndslös policy med ordnade tillåt- och nekandeposter, och de utvärderas på subnätet i stället för på instansen.

Svara inte med en nekandemur

Att lägga till en subnätbred NACL-nekning för att imitera en brandvägg du är van vid är fel verktyg och riskabelt. NACL-poster är ordnade och tillståndslösa, så en nekning placerad ovanför en befintlig tillåtelse bryter tyst orelaterad trafik, inklusive returvägen för de sessioner du försökte behålla. Åtgärda den breda säkerhetsgruppstillåtelsen i gruppen som äger den och låt sedan ACL:en vara ifred om den inte verkligen är en del av designen.

Att ta bort en offentlig adress från instansen är en starkare garanti, och det är också en arkitektonisk förändring med administrativa och applikationsmässiga konsekvenser, inte en kryssruta på en tillåtelselista.

Testa med en ny session och behåll en väg in

Innan du avvecklar en befintlig tillåtelse, bekräfta en godkänd oberoende administrationsväg, eftersom regeln du är på väg att radera kan vara den som din sessionsåterställning är beroende av. Testa sedan en ny tillåten anslutning från VPN:en och en ny nekad anslutning från en auktoriserad testväg utan VPN. Befintliga spårade sessioner överlever regeländringar på sätt som gör gamla öppna skal oanvändbara som acceptansbevis.

Slutligen, behåll applikationens egen auktorisering på plats. En översatt företagsutgång kan representera hundratals människor, och nätverksinträde har aldrig identifierat en enskild användare eller dennes enhet.

Relaterade artiklar