Como os grupos de segurança de rede filtram o tráfego de rede
Pode utilizar um grupo de segurança de rede (NSG) do Azure para filtrar o tráfego de rede entre os recursos do Azure numa rede virtual do Azure. Os grupos de segurança de rede contêm regras de segurança que permitem ou negam o tráfego de entrada ou de saída de e para vários tipos de recursos do Azure. Para cada regra, pode especificar a origem e o destino, a porta e o protocolo.
Pode implementar recursos de vários serviços do Azure numa rede virtual do Azure. Para obter uma lista completa, veja Services that can be deployed into a virtual network (Serviços que podem ser implementados numa rede virtual). Pode associar nenhum ou um grupo de segurança de rede à sub-rede e à interface de rede de cada rede virtual numa máquina virtual. O mesmo grupo de segurança de rede pode ser associado a tantas sub-redes e interfaces de rede que escolher.
A imagem seguinte ilustra diferentes cenários de implementação dos grupos de segurança de rede para permitir o tráfego de rede de e para a Internet a partir da porta TCP 80:
Veja a imagem anterior, juntamente com o texto seguinte, para compreender de que forma é que o Azure processa as regras de entrada e de saída para os grupos de segurança de rede:
Tráfego de entrada
Para o tráfego de entrada, o Azure processa primeiro as regras em um grupo de segurança de rede associado a uma sub-rede, se houver, e, em seguida, as regras em um grupo de segurança de rede associado à interface de rede, se houver. Esse processo também inclui o tráfego intra-sub-rede.
VM1: As regras de segurança no NSG1 são processadas, uma vez que está associado a Subnet1 e VM1 está em Subnet1. A menos que você tenha criado uma regra que permita a entrada da porta 80, a regra de segurança padrão DenyAllInbound nega o tráfego. Esse tráfego bloqueado não é avaliado pelo NSG2 porque está associado à interface de rede. No entanto, se o NSG1 permitir a porta 80 em sua regra de segurança, o NSG2 processará o tráfego. Para permitir a porta 80 na máquina virtual, tanto NSG1, como NSG2, têm de ter uma regra que permite a porta 80 a partir da Internet.
VM2: as regras em NSG1 são processadas, porque VM2 também está em Subnet1. Como o VM2 não tem um grupo de segurança de rede associado à sua interface de rede, ele recebe todo o tráfego permitido pelo NSG1 ou é negado todo o tráfego negado pelo NSG1. O tráfego é permitido ou negado para todos os recursos na mesma sub-rede se um grupo de segurança de rede estiver associado a uma sub-rede.
VM3: Como não há nenhum grupo de segurança de rede associado à Subnet2, o tráfego é permitido na sub-rede e processado pelo NSG2, porque o NSG2 está associado à interface de rede conectada ao VM3.
VM4: O tráfego é bloqueado para VM4, porque um grupo de segurança de rede não está associado à Subnet3 ou à interface de rede na máquina virtual. Todo o tráfego de rede é bloqueado através de uma sub-rede e interface de rede se eles não tiverem um grupo de segurança de rede associado a eles.
Tráfego de saída
Para o tráfego de saída, o Azure processa primeiro as regras em um grupo de segurança de rede associado a uma interface de rede, se houver, e depois as regras em um grupo de segurança de rede associado à sub-rede, se houver. Esse processo também inclui o tráfego intra-sub-rede.
VM1: as regras de segurança em NSG2 são processadas. A regra de segurança padrão AllowInternetOutbound no NSG1 e no NSG2 permite o tráfego, a menos que você crie uma regra de segurança que negue a porta 80 de saída para a Internet. Se o NSG2 negar a porta 80 em sua regra de segurança, ele negará o tráfego e o NSG1 nunca o avaliará. Para negar a porta 80 a partir da máquina virtual, um ou ambos os grupos de segurança de rede têm de ter uma regra que negue a porta 80 para a Internet.
VM2: Todo o tráfego é enviado através da interface de rede para a sub-rede, uma vez que a interface de rede ligada ao VM2 não tem um grupo de segurança de rede associado a ela. As regras em NSG1 são processadas.
VM3: Se o NSG2 negar a porta 80 em sua regra de segurança, ele negará o tráfego. Se o NSG2 não negar a porta 80, a regra de segurança padrão AllowInternetOutbound no NSG2 permitirá o tráfego porque não há nenhum grupo de segurança de rede associado à Subnet2.
VM4: todo o tráfego de rede é permitido a partir de VM4, porque não está associado nenhum grupo de segurança de rede à interface de rede anexada à máquina virtual ou a Subnet3.
Tráfego intra-sub-rede
É importante observar que as regras de segurança em um NSG associado a uma sub-rede podem afetar a conectividade entre VMs dentro dela. Por padrão, as máquinas virtuais na mesma sub-rede podem se comunicar com base em uma regra NSG padrão que permite o tráfego intra-sub-rede. Se você adicionar uma regra ao NSG1 que negue todo o tráfego de entrada e saída, o VM1 e o VM2 não poderão se comunicar entre si.
Pode ver as regras de segurança em vigor numa interface de rede para ver facilmente as regras agregadas que estão aplicadas à mesma. Também pode utilizar a capacidade Verificação de fluxo de IP do Observador de Rede do Azure para saber se a comunicação é permitida de ou para uma interface de rede. Você pode usar a verificação de fluxo IP para determinar se uma comunicação é permitida ou negada. Além disso, Use a verificação de fluxo IP para revelar a identidade da regra de segurança de rede responsável por permitir ou negar o tráfego.
Nota
Os grupos de segurança de rede estão associados a sub-redes ou a máquinas virtuais e serviços de nuvem implantados no modelo de implantação clássico e a sub-redes ou interfaces de rede no modelo de implantação do Resource Manager. Para saber mais sobre os modelos de implementação do Azure, veja Understand Azure deployment models (Compreender os modelos de implementação do Azure).
Gorjeta
A menos que você tenha um motivo específico, recomendamos que associe um grupo de segurança de rede a uma sub-rede ou a uma interface de rede, mas não a ambos. Uma vez que as regras num grupo de segurança de rede associado a uma sub-rede podem entrar em conflito com as regras num grupo associado a uma interface de rede, poderão ocorrer problemas de comunicação inesperados que exijam resolução.
Próximos passos
Para saber que recursos do Azure podem ser implementados numa rede virtual e associar grupos de segurança de rede aos mesmos, veja Virtual network integration for Azure services (Integração da rede virtual para serviços do Azure).
Se você nunca criou um grupo de segurança de rede, você pode concluir um tutorial rápido para obter alguma experiência na criação de um.
Se estiver familiarizado com os grupos de segurança de rede e tiver de geri-los, veja Manage a network security group (Gerir um grupo de segurança de rede).
Se estiver com problemas de comunicação e precisar de resolver problemas nos grupos de segurança de rede, veja Diagnose a virtual machine network traffic filter problem (Diagnosticar problemas de filtro de tráfego de rede de uma máquina virtual).
Saiba como habilitar os logs de fluxo do grupo de segurança de rede para analisar o tráfego de rede de e para recursos que têm um grupo de segurança de rede associado.