Netwerkverkeer filteren met netwerkbeveiligingsgroepen
U kunt een Azure-netwerkbeveiligingsgroep (NSG) gebruiken om netwerkverkeer naar en vanuit Azure-resources in een virtueel Azure-netwerk te filteren. Een netwerkbeveiligingsgroep bevat beveiligingsregels waarmee binnenkomend netwerkverkeer naar, of uitgaand netwerkverkeer van diverse typen Azure-resources kan worden toegestaan of geweigerd. Voor elke regel kunt u de bron en het doel, de poort en het protocol opgeven.
U kunt resources van diverse Azure-services in een virtueel Azure-netwerk implementeren. Zie Services die kunnen worden geïmplementeerd in een virtueel netwerk voor de volledige lijst. U kunt nul of één netwerkbeveiligingsgroep aan elk subnet van een virtueel netwerk en netwerkinterface in een virtuele machine koppelen. Dezelfde netwerkbeveiligingsgroep kan aan zoveel subnetten en netwerkinterfaces worden gekoppeld als u wilt.
In de volgende afbeelding ziet u verschillende scenario's voor het implementeren van netwerkbeveiligingsgroepen om netwerkverkeer naar en van internet via TCP-poort 80 toe te staan:
Raadpleeg de afbeelding hierboven in combinatie met de volgende tekst als u wilt weten hoe binnenkomende en uitgaande regels voor netwerkbeveiligingsgroepen worden verwerkt:
Binnenkomend verkeer
Voor binnenkomend verkeer verwerkt Azure eerst de regels in een netwerkbeveiligingsgroep die is gekoppeld aan een subnet, als er een is en vervolgens de regels in een netwerkbeveiligingsgroep die is gekoppeld aan de netwerkinterface, als er een is. Dit proces omvat ook intrasubnetverkeer.
VM1: De beveiligingsregels in NSG1 worden verwerkt, omdat deze zijn gekoppeld aan Subnet1 en VM1 zich in Subnet1 bevinden. Tenzij u een regel hebt gemaakt die binnenkomend verkeer toestaat via poort 80, weigert de standaardbeveiligingsregel DenyAllInbound het verkeer. Dit geblokkeerde verkeer wordt vervolgens niet geëvalueerd door NSG2 omdat het is gekoppeld aan de netwerkinterface. Als NSG1 poort 80 echter toestaat in de beveiligingsregel, verwerkt NSG2 het verkeer. Als u poort 80 voor de virtuele machine wilt toestaan, moet zowel NSG1 als NSG2 een regel bevatten die verkeer vanaf internet via poort 80 toestaat.
VM2: de regels in NSG1 worden verwerkt omdat VM2 zich ook in Subnet1 bevindt. Omdat VM2 geen netwerkbeveiligingsgroep heeft gekoppeld aan de netwerkinterface, ontvangt deze al het verkeer dat is toegestaan via NSG1 of wordt alle verkeer geweigerd dat is geweigerd door NSG1. Verkeer wordt voor alle resources in hetzelfde subnet toegestaan of geweigerd als een netwerkbeveiligingsgroep aan een subnet is gekoppeld.
VM3: Omdat er geen netwerkbeveiligingsgroep is gekoppeld aan Subnet2, wordt verkeer toegestaan in het subnet en verwerkt door NSG2, omdat NSG2 is gekoppeld aan de netwerkinterface die is gekoppeld aan VM3.
VM4: Verkeer wordt geblokkeerd naar VM4, omdat een netwerkbeveiligingsgroep niet is gekoppeld aan Subnet3 of de netwerkinterface op de virtuele machine. Al het netwerkverkeer wordt geblokkeerd via een subnet en netwerkinterface als er geen netwerkbeveiligingsgroep aan hen is gekoppeld.
Uitgaand verkeer
Voor uitgaand verkeer verwerkt Azure eerst de regels in een netwerkbeveiligingsgroep die is gekoppeld aan een netwerkinterface, als er een is en vervolgens de regels in een netwerkbeveiligingsgroep die is gekoppeld aan het subnet, als er een is. Dit proces omvat ook intrasubnetverkeer.
VM1: de beveiligingsregels in NSG2 worden verwerkt. Met de standaardbeveiligingsregel AllowInternetOutbound in zowel NSG1 als NSG2 wordt het verkeer toegestaan, tenzij u een beveiligingsregel maakt waarmee poort 80 uitgaand naar internet wordt geweigerd. Als NSG2 poort 80 in de beveiligingsregel weigert, wordt het verkeer geweigerd en wordt het verkeer nooit geëvalueerd door NSG1 . Als u binnenkomend verkeer van de virtuele machine via poort 80 wilt weigeren, moet een van de netwerkbeveiligingsgroepen, of beide, een regel bevatten die uitgaand verkeer naar internet via poort 80 weigert.
VM2: Al het verkeer wordt via de netwerkinterface naar het subnet verzonden, omdat aan de netwerkinterface die is gekoppeld aan VM2 geen netwerkbeveiligingsgroep is gekoppeld. De regels in NSG1 worden verwerkt.
VM3: Als NSG2 poort 80 in de beveiligingsregel weigert, wordt het verkeer geweigerd. Als NSG2 poort 80 niet weigert, staat de standaardbeveiligingsregel AllowInternetOutbound in NSG2 het verkeer toe omdat er geen netwerkbeveiligingsgroep is gekoppeld aan Subnet2.
VM4: al het netwerkverkeer naar VM4 is toegestaan omdat er geen netwerkbeveiligingsgroep is gekoppeld aan de netwerkinterface die met de virtuele machine is verbonden, of aan Subnet3.
Intra-subnetverkeer
Het is belangrijk om te weten dat beveiligingsregels in een NSG die aan een subnet zijn gekoppeld, van invloed kunnen zijn op de connectiviteit tussen vm's in het netwerk. Virtuele machines in hetzelfde subnet kunnen standaard communiceren op basis van een standaard NSG-regel die intrasubnetverkeer toestaat. Als u een regel toevoegt aan NSG1 die al het binnenkomende en uitgaande verkeer weigert, kunnen VM1 en VM2 niet met elkaar communiceren.
U kunt eenvoudig de cumulatieve regels bekijken die op een netwerkinterface worden toegepast door de effectieve beveiligingsregels voor een netwerkinterface te bekijken. U kunt ook de functie IP-stroom controleren in Azure Network Watcher gebruiken om te bepalen of de communicatie van of naar een netwerkinterface is toegestaan. U kunt IP-stroom controleren om te bepalen of een communicatie is toegestaan of geweigerd. Bovendien gebruikt u IP-stroomverificatie om de identiteit van de netwerkbeveiligingsregel weer te geven die verantwoordelijk is voor het toestaan of weigeren van het verkeer.
Notitie
Netwerkbeveiligingsgroepen zijn gekoppeld aan subnetten of aan virtuele machines en cloudservices die zijn geïmplementeerd in het klassieke implementatiemodel en aan subnetten of netwerkinterfaces in het Resource Manager-implementatiemodel. Zie Over Azure-implementatiemodellen voor meer informatie over Azure-implementatiemodellen.
Tip
Tenzij u een specifieke reden hebt, raden we u aan een netwerkbeveiligingsgroep te koppelen aan een subnet of een netwerkinterface, maar niet aan beide. Aangezien regels in een netwerkbeveiligingsgroep die aan een subnet is gekoppeld, kunnen conflicteren met regels in een netwerkbeveiligingsgroep die aan een netwerkinterface is gekoppeld, kunnen er onverwachte communicatieproblemen optreden waarvoor een probleemoplossing dient te worden uitgevoerd.
Volgende stappen
Zie Integratie van virtuele netwerken voor Azure-services voor meer informatie over de Azure-resources die in een virtueel netwerk kunnen worden geïmplementeerd en waaraan netwerkbeveiligingsgroepen kunnen worden gekoppeld.
Als u nog nooit een netwerkbeveiligingsgroep hebt gemaakt, kunt u een snelle zelfstudie uitvoeren om een ervaring op te doen met het maken van een groep.
Zie Een netwerkbeveiligingsgroep maken, wijzigen of verwijderen als u bekend bent met het netwerkbeveiligingsgroepen en u ze wilt beheren.
Zie Een probleem met een netwerkverkeersfilter in een virtuele machine vaststellen als u communicatieproblemen hebt en problemen met netwerkbeveiligingsgroepen wilt oplossen.
Meer informatie over het inschakelen van stroomlogboeken voor netwerkbeveiligingsgroepen voor het analyseren van netwerkverkeer naar en van resources met een gekoppelde netwerkbeveiligingsgroep.