Resolução de Problemas NSGs
Demonstrar uma compreensão dos dados de configuração do grupo de segurança de rede (NSG), incluindo portas, tags de serviço e números de prioridade
Grupos de segurança de rede
Um grupo de segurança de rede do Azure filtra o tráfego de rede de e para recursos em uma rede virtual do Azure. Um grupo de segurança de rede é composto por regras de segurança que permitem ou negam tráfego de rede de entrada e saída, de e para vários tipos de recurso do Azure. Para cada regra, pode especificar a origem e o destino, a porta e o protocolo.
Nesta unidade, você aprenderá sobre:
Propriedades de uma regra de grupo de segurança de rede e as regras de segurança padrão aplicadas.
As propriedades da regra que você pode modificar para criar uma regra de segurança aumentada.
Regras de segurança
Um grupo de segurança de rede pode conter regras de zero ou quantas forem necessárias dentro dos limites de assinatura do Azure. Cada regra especifica as propriedades seguintes:
Propriedade | Explicação |
---|---|
Nome | Um nome exclusivo no grupo de segurança de rede. |
Prioridade | Regras com números mais baixos são processadas antes de números mais altos porque números mais baixos têm prioridade maior. Um número pode estar entre 100 e 4096. |
Origem ou destino | Se você especificar um endereço para um recurso do Azure, deverá especificar o endereço IP privado, um intervalo, uma marca de serviço ou um grupo de segurança de aplicativo atribuído ao recurso. |
Protocolo | TCP, UDP, ICMP, ESP, AH ou qualquer. |
Direção | Indica se a regra se aplica a tráfego de entrada ou de saída. |
Intervalo de portas | Especificar intervalos permite-lhe criar menos regras de segurança. Pode especificar uma porta individual ou um intervalo de portas. Por exemplo, 80 ou 10000-10005. |
Ação | Permitir ou negar. |
Há limites ao número de regras de segurança que pode criar num grupo de segurança de rede. Para obter mais detalhes, veja Limites do Azure.
Regras de segurança predefinidas
O Azure cria as seguintes regras padrão em cada um dos seus grupos de segurança de rede:
Entrada
AllowVNetInBound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | Qualquer | Permitir |
AllowAzureLoadBalancerInBound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | Qualquer | Permitir |
DenyAllInbound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | Qualquer | Permitir |
Saída
AllowVnetOutBound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | Qualquer | Permitir |
AllowInternetOutBound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65001 | 0.0.0.0/0 | 0-65535 | Internet | 0-65535 | Qualquer | Permitir |
DenyAllOutBound
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
65001 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | Qualquer | Permitir |
Nas colunas Origem e Destino, VirtualNetwork, AzureLoadBalancer e Internet são marcas de serviço, em vez de endereços IP. Na coluna de protocolo, Any engloba TCP, UDP e ICMP. Ao criar uma regra, você pode especificar TCP, UDP, ICMP ou Any. 0.0.0.0/0 nas colunas Origem e Destino representa todos os endereços. Clientes como o portal do Azure, CLI do Azure ou PowerShell podem usar ***** ou qualquer um para essa expressão.
Não pode remover as regras predefinidas, mas pode criar regras com prioridades superiores para substituí-las.
Regras de segurança aumentadas
Com regras de segurança aumentadas, você pode combinar várias portas e vários endereços IP explícitos e intervalos em uma única regra de segurança. Em outras palavras, as regras de segurança aumentadas simplificam a definição de segurança para redes virtuais. Isso permite que você divida políticas de segurança de rede maiores e complexas em menos regras e mais simples. As regras aumentadas geralmente são usadas nos campos origem, destino e porta de uma regra.
A combinação de regras de segurança aumentadas com tags de serviço ou grupos de segurança de aplicativos ajuda a simplificar a definição da regra de segurança. No entanto, há limites para o número de endereços, intervalos e portas que você pode especificar em uma regra.
Tags de serviço: uma marca de serviço representa um grupo de prefixos de endereço IP de um determinado serviço do Azure. Ajuda a minimizar a complexidade das atualizações frequentes das regras de segurança de rede. Consulte as tags de serviço do Azure.
Para obter um exemplo de como usar a marca de serviço de armazenamento para restringir o acesso à rede, vá para Restringir o acesso à rede a recursos de PaaS com pontos de extremidade de serviço de rede virtual usando o portal do Azure.
Grupos de segurança de aplicativos: os grupos de segurança de aplicativos permitem configurar a segurança de rede como uma extensão natural da estrutura de um aplicativo. Isso permite agrupar máquinas virtuais e definir políticas de segurança de rede com base nesses grupos. Pode reutilizar a política de segurança em escala sem a manutenção manual de endereços IP explícitos. Para saber mais, consulte Grupos de segurança de aplicativos.
Solucionar problemas de configuração do NSG
Os NSGs (grupos de segurança de rede) permitem controlar o fluxo de entrada e saída do tráfego de uma máquina virtual (VM). Você pode associar um NSG a uma sub-rede em uma rede virtual do Azure, uma interface de rede conectada a uma VM ou ambos. Quaisquer regras de segurança aplicadas a uma interface de rede são uma combinação de regras presentes no NSG associado a uma interface de rede e a sub-rede da rede em que ela se encontra. Você pode examinar o conflito entre regras em NSGs diferentes que são aplicados nas interfaces de rede da sua VM.
Os seguintes artigos ajudam a compreender sobre:
Nesta unidade, você aprenderá como diagnosticar um problema de filtro de tráfego de rede exibindo as regras de segurança do NSG que são eficazes para uma VM.
Diagnosticar usando o portal do Azure
Cenário
Quando tenta ligar a uma VM através da porta 80 a partir da Internet, a ligação falha. Para entender por que isso acontece, você pode examinar as regras de segurança eficazes para uma interface de rede usando o portal do Azure, o PowerShell ou a CLI do Azure.
Se você não tiver uma VM existente para exibir as regras de segurança efetivas, precisará primeiro implantar uma VM Linux ou Windows para concluir a tarefa.
Na tarefa a seguir, os exemplos são para uma VM chamada myVM com uma interface de rede chamada myVMVMNic. A VM e a interface de rede estão em um grupo de recursos chamado myResourceGroup e estão na região Leste dos EUA. Para diagnosticar o problema, altere os valores nas etapas, conforme apropriado, para a VM.
Inicie sessão no portal do Azure.
Na parte superior do portal do Azure, digite o nome da VM na caixa de pesquisa. Quando o nome da VM aparecer nos resultados da pesquisa, selecione-o.
Em DEFINIÇÕES, selecione Redes.
As regras listadas na imagem a seguir são para uma interface de rede chamada myVMVMNic. Existem REGRAS DE PORTA DE ENTRADA para a interface de rede de dois grupos de segurança de rede diferentes:
mySubnetNSG: Associado à sub-rede em que a interface de rede se encontra.
myVMNSG: Associado à interface de rede na VM denominada myVMVMNic.
Como você pode ver na imagem anterior, a regra chamada DenyAllInBound está impedindo a comunicação de entrada da Internet para a VM pela porta 80. A regra lista 0.0.0.0/0 para SOURCE, que inclui a internet. Nenhuma outra regra com uma prioridade mais alta (número mais baixo) permite a entrada da porta 80. Para permitir a entrada da porta 80 para a VM a partir da Internet, consulte Resolver um problema.
Em REGRAS DE PORTA DE SAÍDA, na parte inferior, há regras de porta de saída para a interface de rede. VirtualNetwork e AzureLoadBalancer são marcas de serviço. As tags de serviço representam um grupo de prefixos de endereço IP para ajudar a minimizar a complexidade da criação de regras de segurança.
Verifique se a VM está no estado de execução e selecione Regras de segurança efetivas, conforme mostrado na imagem a seguir:
Você pode ver que há guias diferentes para o NSG associado à interface de rede e à sub-rede. As regras listadas são as mesmas da etapa 3 , embora, como mostrado na imagem, apenas as primeiras 50 regras sejam exibidas. Para baixar um arquivo de .csv que contém todas as regras, selecione Download.
Para ver quais prefixos cada marca de serviço representa, selecione uma regra, como AllowAzureLoadBalancerInbound. A imagem abaixo mostra os prefixos para a marca de serviço AzureLoadBalancer :
A VM neste exemplo tem duas interfaces de rede, myVMVMNic e myVMVMNic2 conectadas a ela. As regras de segurança eficazes podem ser diferentes para cada interface de rede. Selecione myVMVMNic2 para visualizar as regras desta interface de rede.
A interface de rede myVMVMNic2 não tem um grupo de segurança de rede associado a ela, como a interface de rede myVMVMNic . Cada interface de rede e sub-rede pode ter zero, ou um, NSG associado a ela. O NSG associado a cada interface de rede ou sub-rede pode ser o mesmo ou diferente. Você pode associar o mesmo NSG a quantas interfaces de rede e sub-redes desejar.
Nota
Embora regras de segurança eficazes tenham sido visualizadas por meio da VM, você também pode visualizá-las por meio de um indivíduo:
- Interface de rede: Saiba como visualizar uma interface de rede.
- NSG: Saiba como visualizar um NSG.
Para executar os comandos usando o PowerShell, consulte Diagnosticar usando o PowerShell.
Para executar os comandos usando a CLI do Azure, consulte Diagnosticar usando a CLI do Azure.
Para solucionar problemas de conectividade:
Para permitir o tráfego de entrada da Internet, adicione regras de segurança com uma prioridade maior do que as regras padrão.
Para solucionar problemas relacionados ao emparelhamento de rede virtual, você pode exibir os prefixos na lista ExpandedAddressPrefix.
Verifique se há um NSG associado à interface de rede e/ou sub-rede da VM. Além disso, verifique se a VM está no estado de execução.
Se a VM tiver um endereço IP público, é recomendável aplicar um NSG à sub-rede da interface de rede.
Diagnóstico adicional
Use o recurso de verificação de fluxo de IP do Azure Network Watcher para determinar se o tráfego é permitido de ou para uma VM.
Se não houver regras de segurança que façam com que a conectividade de rede de uma VM falhe, o problema pode ser devido a:
Software de firewall em execução no sistema operacional da VM.
Rotas configuradas para dispositivos virtuais ou tráfego local — consulte o túnel forçado. Além disso, para saber como diagnosticar problemas de rota que podem impedir o fluxo de tráfego para fora da VM, consulte Diagnosticar um problema de roteamento de tráfego de rede de máquina virtual.
Revisar e interpretar logs de fluxo NSG
Introdução
O recurso de logs de fluxo NSG no Azure Network Watcher permite registrar informações sobre o tráfego IP que flui através de um NSG. Os dados de fluxo são enviados para contas de Armazenamento do Azure e, a partir daí, você pode exportá-los para qualquer ferramenta de visualização, SIEM ou IDS.
Por que usar logs de fluxo?
Os logs de fluxo são cruciais quando se trata de gerenciar e monitorar toda a atividade da rede em seu ambiente de nuvem. Você pode usá-lo para otimizar fluxos de rede, monitorar dados, verificar conformidade, detetar invasões e muito mais.
Alguns casos de uso comuns são:
Monitorização da rede:
Identifique tráfego desconhecido ou indesejado.
Monitore os níveis de tráfego e o consumo de largura de banda.
Filtre os logs de fluxo por IP e porta para entender o comportamento do aplicativo.
Exporte logs de fluxo para as ferramentas de análise e visualização que você escolher, para configurar painéis de monitoramento.
Monitorização e otimização da utilização:
Identifique os principais locutores na sua rede.
Combine com dados GeoIP para identificar tráfego entre regiões.
Entenda o crescimento do tráfego para previsão de capacidade.
Use dados para remover regras de trânsito abertamente restritivas.
Conformidade:
- Use dados de fluxo para verificar o isolamento da rede e a conformidade com as regras de acesso corporativo.
Perícia forense de rede e análise de segurança:
Analise fluxos de rede a partir de IPs comprometidos e interfaces de rede.
Exporte logs de fluxo para qualquer ferramenta SIEM ou IDS de sua escolha.
Como funciona o registo
Os logs de fluxo operam na camada 4 (camada de transporte). Ele registra todos os fluxos de IP que entram e saem de um NSG.
Os logs são coletados em intervalos de um minuto por meio da plataforma Azure sem afetar os recursos do cliente ou o desempenho da rede.
Os logs são gravados no formato JSON. Ele mostra os fluxos de entrada e saída por regra NSG.
Cada registro de log contém a interface de rede (NIC). O fluxo aplica-se a informações de cinco tuplas, a decisão de tráfego e (apenas versão 2) informações de taxa de transferência. Consulte Formato de log.
Os logs de fluxo excluem os logs até um ano após a criação.
Para habilitar os logs de fluxo, consulte Habilitando logs de fluxo NSG.
Verificação do fluxo de IP
A verificação do fluxo de IP confirma se um pacote é permitido ou negado de ou para uma máquina virtual. Você pode usar a verificação de fluxo IP para diagnosticar problemas de conectividade de ou para a Internet e de ou para o ambiente local. Ele fornece as informações sobre direção, protocolo, IP local, IP remoto, porta local e porta remota. Se um grupo de segurança negar o pacote, o nome da regra usada será retornado.
A verificação de fluxo IP considera as regras para todos os NSGs aplicadas à interface de rede, como uma sub-rede ou uma NIC de máquina virtual. Em seguida, verifica o fluxo de tráfego com base nas definições configuradas de ou para essa interface de rede.
A verificação do fluxo de IP valida se uma regra em um NSG está bloqueando o tráfego de entrada ou saída de ou para uma máquina virtual. Ele também avalia as regras do Azure Virtual Network Manager e as regras NSG.
Para saber mais sobre como solucionar problemas de logs de fluxo do NSG, consulte Solução de problemas comuns.
Determinar se uma VM ou grupo de VMs está associado a um grupo de segurança de aplicativo (ASG)
Os grupos de segurança de aplicativos permitem agrupar máquinas virtuais localizadas na rede virtual do Azure e definir políticas de segurança de rede com base nesses grupos. Isso ajuda a reduzir o esforço de manutenção de endereços IP explícitos. Considere a seguinte imagem para uma melhor compreensão dos ASGs:
Grupos de segurança de aplicação |
---|
Na imagem anterior, NIC1 e NIC2 são membros do AsgWeb ASG. NIC3 é um membro do AsgLogic ASG, e NIC4 um membro do AsgDb ASG. Neste exemplo, cada interface de rede é membro de apenas um grupo de segurança de rede. No entanto, uma interface de rede pode ser membro de vários ASGs, até os limites do Azure.
Não está associado nenhum grupo de segurança de rede às interfaces de rede. NSG1 está associado a ambas as sub-redes e contém as seguintes regras:
Allow-HTTP-Inbound-Internet
Esta regra é necessária para permitir o tráfego da Internet para os servidores Web. Uma vez que o tráfego de entrada a partir da Internet é negado pela regra de segurança DenyAllInbound predefinida, não é necessária qualquer regra adicional para os grupos de segurança de aplicações AsgLogic ou AsgDb.
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
100 | Internet | * | AsgWeb | 80 | TCP | Permitir |
Deny-Database-All
Uma vez que a regra de segurança predefinida AllowVNetInBound permite todas as comunicações entre recursos na mesma rede virtual, esta regra é necessária para negar o tráfego de todos os recursos.
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
120 | * | * | AsgWeb | 1433 | Qualquer | Negar |
Allow-Database-BusinessLogic
Esta regra permite o tráfego do AsgLogic ASG para o AsgDb ASG. A prioridade para essa regra é maior do que para a regra Deny-Database-All. Como resultado, esta regra é processada antes da regra Deny-Database-All, de modo a que o tráfego do grupo de segurança de aplicações AsgLogic seja permitido, ao passo que o restante tráfego é bloqueado.
Prioridade | Source | Portas de origem | Destino | Portas de destino | Protocolo | Acesso |
---|---|---|---|---|---|---|
110 | AsgLogic | * | AsgDb | 1433 | TCP | Permitir |
As regras que especificam um ASG como origem ou destino são aplicadas apenas às interfaces de rede que são membros do ASG. Se a interface de rede não for membro de um ASG, a regra não será aplicada à interface de rede, mesmo que o grupo de segurança de rede esteja associado à sub-rede.
Os grupos de segurança de aplicação têm as seguintes restrições:
Existem vários limites relacionados aos ASGs. Um deles é o número de ASGs que você pode ter em uma assinatura.
Não é possível adicionar interfaces de rede de redes virtuais diferentes ao mesmo ASG. Por exemplo, se a primeira interface de rede atribuída a um ASG chamado AsgWeb estiver na rede virtual chamada VNet1, todas as interfaces de rede subsequentes atribuídas ao ASGWeb deverão existir em VNet1.
Todas as interfaces de rede para os ASGs de origem e de destino precisam existir na mesma rede virtual. Por exemplo, se AsgLogic contivesse interfaces de rede de VNet1 e AsgDb contivesse interfaces de rede de VNet2, não poderia atribuir AsgLogic como a origem e AsgDb como o destino numa regra.