Planera och implementera nätverkssäkerhetsgrupper (NSG:er) och programsäkerhetsgrupper (ASG:er)

Slutförd

Du kan använda en Azure-nätverkssäkerhetsgrupp för att filtrera nätverkstrafik mellan Azure-resurser i ett virtuellt Azure-nätverk. En nätverkssäkerhetsgrupp innehåller säkerhetsregler som tillåter eller nekar inkommande nätverkstrafik till, eller utgående nätverkstrafik från, flera typer av Azure-resurser. För varje regel kan du ange källa och mål, port och protokoll.

Nätverkssäkerhetsgrupper (NSG:er)

Säkerhetsregler

En nätverkssäkerhetsgrupp innehåller så många regler som du vill, inom azure-prenumerationsgränser. Varje regel anger följande egenskaper:

Property Förklaring
Name Ett unikt namn inom nätverkssäkerhetsgruppen. Namnet kan vara upp till 80 tecken långt. Det måste börja med ett ordtecken, och det måste sluta med ett ordtecken eller med '_'. Namnet kan innehålla ordtecken eller '.', '-', '_'.
Prioritet Ett tal mellan 100 och 4096. Regler bearbetas i prioritetsordning. Låga tal bearbetas före höga tal eftersom låga tal har högre prioritet. När trafiken matchar en regel avbryts bearbetningen. Därför bearbetas inte regler som finns med lägre prioriteter (högre tal) som har samma attribut som regler med högre prioritet.
Azures standardsäkerhetsregler får det högsta antalet med lägst prioritet för att säkerställa att anpassade regler alltid bearbetas först.
Källa eller mål Valfria, eller enskilda IP-adresser, CIDR-block (Classless Inter-Domain Routing) (t.ex. 10.0.0.0/24), tjänsttaggar eller programsäkerhetsgrupper. Om du anger en adress för en Azure-resurs anger du den privata IP-adressen som tilldelats till resursen. Nätverkssäkerhetsgrupper bearbetas efter att Azure omvandlar en offentlig IP-adress till en privat IP-adress för inkommande trafik, och innan Azure omvandlar en privat IP-adress till en offentlig IP-adress för utgående trafik. Färre säkerhetsregler behövs när du anger ett intervall, en tjänsttagg eller en programsäkerhetsgrupp. Möjligheten att ange flera enskilda IP-adresser och intervall (du kan inte ange flera tjänsttaggar eller programgrupper) i en regel kallas för utökade säkerhetsregler. Förhöjda säkerhetsregler kan bara skapas i nätverkssäkerhetsgrupper som skapats genom Resource Manager-distributionsmodellen. Du kan inte ange flera IP-adresser och IP-adressintervall i nätverkssäkerhetsgrupper som skapats via den klassiska distributionsmodellen.
Protokoll TCP, UDP, ICMP, ESP, AH eller Any. ESP- och AH-protokollen är för närvarande inte tillgängliga via Azure-portalen men kan användas via Azure Resource Manager-mallar.
Riktning Om regeln gäller för inkommande eller utgående trafik.
Portintervall Du kan ange en enskild port eller ett portintervall. Du kan till exempel ange 80 eller 10000–10005. Om du anger intervall behöver du inte skapa lika många säkerhetsregler. Förhöjda säkerhetsregler kan bara skapas i nätverkssäkerhetsgrupper som skapats genom Resource Manager-distributionsmodellen. Du kan inte ange flera portar eller portintervall i samma säkerhetsregel i nätverkssäkerhetsgrupper som skapats via den klassiska distributionsmodellen.
Åtgärd Tillåt eller neka

Säkerhetsregler utvärderas och tillämpas baserat på informationen om fem tuppeln (1. källa, 2. källport, 3. mål, 4. målport och 5. protokoll). Du kan inte skapa två säkerhetsregler med samma prioritet och riktning. En flödespost skapas för befintliga anslutningar. Kommunikation tillåts eller nekas baserat på flödespostens anslutningsstatus. Flödesposten gör att en nätverkssäkerhetsgrupp kan vara tillståndskänslig. Om du till exempel anger en utgående säkerhetsregel till en adress via port 80, behöver du inte ange en inkommande säkerhetsregel för svar på utgående trafik. Du behöver bara ange en inkommande säkerhetsregel om kommunikationen initieras externt. Även det motsatta gäller. Om inkommande trafik tillåts via en port, behöver du inte ange en utgående säkerhetsregel för svar på trafik via porten.

Befintliga anslutningar kanske inte avbryts när du tar bort en säkerhetsregel som tillåter anslutningen. Om du ändrar regler för nätverkssäkerhetsgrupper påverkas endast nya anslutningar. När en ny regel skapas eller en befintlig regel uppdateras i en nätverkssäkerhetsgrupp gäller den endast för nya anslutningar. Befintliga anslutningar utvärderas inte med de nya reglerna.

Så filtrerar nätverkssäkerhetsgrupper nätverkstrafik

Du kan distribuera resurser från flera Azure-tjänster till ett virtuellt Azure-nätverk. Du kan associera en, eller ingen, nätverkssäkerhetsgrupp med varje undernät och nätverksgränssnitt i ett virtuellt nätverk på en virtuell dator. Du kan associera samma nätverkssäkerhetsgrupp med så många undernät och nätverksgränssnitt du vill. Följande bild visar olika scenarier för hur nätverkssäkerhetsgrupper kan distribueras för att tillåta nätverkstrafik till och från Internet via TCP-port 80:

Diagram som visar ett exempel på hur nätverkssäkerhetsgrupper kan distribueras för att tillåta nätverkstrafik till och från Internet via TCP-port 80.

Referera till avbildningen, tillsammans med följande text, för att förstå hur Azure bearbetar regler för inkommande och utgående trafik för nätverkssäkerhetsgrupper:

Inkommande trafik

För inkommande trafik bearbetar Azure först reglerna i en nätverkssäkerhetsgrupp som är associerad med ett undernät, om det finns ett, och sedan reglerna i en nätverkssäkerhetsgrupp som är associerad med nätverksgränssnittet, om det finns ett. Den här processen omfattar även trafik inom undernätet.

  • VM1: Säkerhetsreglerna i NSG1 bearbetas eftersom de är associerade med undernät 1 och VM1 finns i undernät 1. Om du inte har skapat en regel som tillåter inkommande port 80 nekar standardsäkerhetsregeln DenyAllInbound trafiken. Trafiken utvärderas inte av NSG2 eftersom den är associerad med nätverksgränssnittet. Om NSG1 tillåter port 80 i säkerhetsregeln bearbetar NSG2 trafiken. För att trafik på port 80 ska tillåtas på den virtuella datorn måste både NSG1 och NSG2 ha en regel som tillåter trafik på port 80 från Internet.
  • VM2: Reglerna i NSG1 bearbetas eftersom VM2 också finns i undernät 1. Eftersom VM2 inte har någon nätverkssäkerhetsgrupp kopplad till nätverksgränssnittet tar den emot all trafik som tillåts via NSG1 eller nekas all trafik som nekas av NSG1. Trafik antingen tillåts eller nekas till alla resurser i samma undernät när en nätverkssäkerhetsgrupp är associerad med ett undernät.
  • VM3: Eftersom det inte finns någon nätverkssäkerhetsgrupp som är associerad med undernät 2 tillåts trafik till undernätet och bearbetas av NSG2, eftersom NSG2 är associerat med nätverksgränssnittet som är kopplat till VM3.
  • VM4: Trafik tillåts till VM4 eftersom en nätverkssäkerhetsgrupp inte är associerad med undernät 3 eller nätverksgränssnittet på den virtuella datorn. All nätverkstrafik tillåts genom ett undernät eller nätverksgränssnitt om ingen nätverkssäkerhetsgrupp är associerad med undernätet eller nätverksgränssnittet.

Utgående trafik

För utgående trafik bearbetar Azure reglerna i en nätverkssäkerhetsgrupp som är associerad med ett nätverksgränssnitt först, om det finns ett, och sedan reglerna i en nätverkssäkerhetsgrupp som är associerad med undernätet, om det finns ett. Den här processen omfattar även trafik inom undernätet.

  • VM1: Säkerhetsreglerna i NSG2 bearbetas. Standardsäkerhetsregeln AllowInternetOutbound i både NSG1 och NSG2 tillåter trafiken om du inte skapar en säkerhetsregel som nekar utgående port 80 till Internet. Om NSG2 nekar port 80 i säkerhetsregeln nekas trafiken och NSG1 utvärderar den aldrig. För att trafik på port 80 ska nekas från den virtuella datorn måste den ena eller båda nätverkssäkerhetsgrupperna ha en regel som nekar trafik på port 80 till Internet.
  • VM2: All trafik skickas via nätverksgränssnittet till undernätet, eftersom nätverksgränssnittet som är kopplat till VM2 inte har någon associerad nätverkssäkerhetsgrupp. Reglerna i NSG1 bearbetas.
  • VM3: Om NSG2 nekar port 80 i säkerhetsregeln nekas trafiken. Om NSG2 inte nekar port 80 tillåter standardsäkerhetsregeln AllowInternetOutbound i NSG2 trafiken eftersom det inte finns någon nätverkssäkerhetsgrupp associerad med undernät 2.
  • VM4: All nätverkstrafik tillåts från VM4 eftersom en nätverkssäkerhetsgrupp inte är associerad med nätverksgränssnittet som är kopplat till den virtuella datorn eller till undernät 3.

Intraundernätstrafik

Det är viktigt att observera att säkerhetsregler i en NSG som är associerad med ett undernät kan påverka anslutningen mellan virtuella datorer i den. Som standard kan virtuella datorer i samma undernät kommunicera baserat på en standardregel för NSG som tillåter trafik inom undernätet. Om du lägger till en regel i NSG1 som nekar all inkommande och utgående trafik kommer VM1 och VM2 inte att kunna kommunicera med varandra.

Du kan enkelt granska vilka regler som tillämpas för ett nätverksgränssnitt genom att visa gällande säkerhetsregler för ett nätverksgränssnitt. Du kan också använda funktionen Kontrollera IP-flöde i Azure Network Watcher för att ta reda på om kommunikation tillåts till eller från ett nätverksgränssnitt. Du kan använda KONTROLLERA IP-flöde för att avgöra om en kommunikation tillåts eller nekas. Dessutom använder du KONTROLLERA IP-flöde för att visa identiteten för nätverkssäkerhetsregeln som ansvarar för att tillåta eller neka trafiken.

Nätverkssäkerhetsgrupper är associerade med undernät eller till virtuella datorer och molntjänster som distribueras i den klassiska distributionsmodellen och till undernät eller nätverksgränssnitt i Resource Manager-distributionsmodellen.

Om du inte har en specifik anledning till det rekommenderar vi att du associerar en nätverkssäkerhetsgrupp med ett undernät eller ett nätverksgränssnitt, men inte båda. Eftersom regler i en nätverkssäkerhetsgrupp som är associerad med ett undernät kan stå i konflikt med regler i en nätverkssäkerhetsgrupp som är associerad med ett nätverksgränssnitt, kan det uppstå oväntade kommunikationsproblem som kräver felsökning.

Programsäkerhetsgrupper (ASG:er)

Med programsäkerhetsgrupper kan du konfigurera nätverkssäkerhet som ett naturligt tillägg till ett programs struktur, så att du kan gruppera virtuella datorer och definiera nätverkssäkerhetsprinciper baserat på dessa grupper. Du kan återanvända din säkerhetsprincip i stor skala utan manuellt underhåll av explicita IP-adresser. Plattformen hanterar komplexiteten med explicita IP-adresser och flera regeluppsättningar så att du kan fokusera på affärslogik. Följande exempel hjälper dig att bättre förstå programsäkerhetsgrupper:

Diagram som visar ett exempel på Azure-nätverkssäkerhetsgrupper och programsäkerhetsgrupper.

I föregående bild är NIC1 och NIC2 medlemmar i programsäkerhetsgruppen AsgWeb. NIC3 är medlem i programsäkerhetsgruppen AsgLogic. NIC4 är medlem i programsäkerhetsgruppen AsgDb. Även om varje nätverksgränssnitt (NIC) i det här exemplet bara är medlem i en nätverkssäkerhetsgrupp, kan ett nätverksgränssnitt vara medlem i flera programsäkerhetsgrupper, upp till Azure-gränserna. Inget av nätverksgränssnitten har en associerad nätverkssäkerhetsgrupp. NSG1 är associerat med båda undernäten och innehåller följande regler:

Allow-HTTP-Inbound-Internet

Den här regeln krävs för att tillåta trafik från Internet till webbservrarna. Eftersom inkommande trafik från Internet nekas av standardsäkerhetsregeln DenyAllInbound krävs ingen extra regel för programsäkerhetsgrupperna AsgLogic eller AsgDb .

Prioritet Source Källportar Mål Målportar Protokoll Åtkomst
100 Internet * AsgWeb 80 TCP Tillåt

Deny-Database-All

Eftersom standardsäkerhetsregeln AllowVNetInBound tillåter all kommunikation mellan resurser i samma virtuella nätverk, krävs den här regeln för att neka trafik från alla resurser.

Prioritet Source Källportar Mål Målportar Protokoll Åtkomst
120 * * AsgDb 1433 Valfri Neka

Allow-Database-BusinessLogic

Den här regeln tillåter trafik från programsäkerhetsgruppen AsgLogic till programsäkerhetsgruppen AsgDb. Den här regeln har högre prioritet än regeln Deny-Database-All. Det innebär att den här regeln bearbetas före regeln Deny-Database-All, så att trafik från programsäkerhetsgruppen AsgLogic tillåts, medan all annan trafik blockeras.

Prioritet Source Källportar Mål Målportar Protokoll Åtkomst
110 AsgLogic * AsgDb 1433 TCP Tillåt

Nätverksgränssnitt som är medlemmar i programsäkerhetsgruppen tillämpar de regler som anger det som källa eller mål. Reglerna påverkar inte andra nätverksgränssnitt. Om nätverksgränssnittet inte är medlem i en programsäkerhetsgrupp tillämpas inte regeln på nätverksgränssnittet, även om nätverkssäkerhetsgruppen är associerad med undernätet.

Programmet säkerhetsgrupper har följande begränsningar:

  • Det finns gränser för hur många programsäkerhetsgrupper du kan ha i en prenumeration och andra begränsningar som rör programsäkerhetsgrupper.

  • Alla nätverksgränssnitt som har tilldelats till en programsäkerhetsgrupp måste finnas i samma virtuella nätverk som det första nätverksgränssnittet som programsäkerhetsgruppen finns i. Om exempelvis det första nätverksgränssnittet som tilldelats till en programsäkerhetsgrupp som heter AsgWeb finns i det virtuella nätverket med namnet VNet1, måste alla efterföljande nätverksgränssnitt som tilldelats AsgWeb finnas i VNet1. Du kan inte lägga till nätverksgränssnitt från olika virtuella nätverk i samma programsäkerhetsgrupp.

  • Om du anger en programsäkerhetsgrupp som källa och mål i en säkerhetsregel, måste nätverksgränssnitten i bägge programsäkerhetsgrupperna finnas i samma virtuella nätverk.

    • Ett exempel skulle vara om AsgLogic hade nätverksgränssnitt från VNet1 och AsgDb hade nätverksgränssnitt från VNet2. I det här fallet skulle det vara omöjligt att tilldela AsgLogic som källa och AsgDb som mål i en regel. Alla nätverksgränssnitt för både käll- och målprogramsäkerhetsgrupperna måste finnas i samma virtuella nätverk.

För att minimera antalet säkerhetsregler, och behovet av att behöva ändra reglerna, bör du tänka igenom vilka programsäkerhetsgrupper du behöver och sedan skapa regler med hjälp av tjänsttaggar eller programsäkerhetsgrupper, i stället för att använda enskilda IP-adresser eller IP-adressintervall.