Gerador de Regras NSG do Azure
Gerar regras NSG do Azure a partir de CSV
NSG Rules
Format
name, priority, direction, access, port, protocol, source
Direction: Inbound/Outbound, Access: Allow/Deny
Generated Output
Enter rules to generate Azure NSG config
The Azure NSG Rule Generator cria regras de Network Security Group de entrada CSV estruturada. Digite regras como linhas com colunas de direção, prioridade, nome, origem, destino, protocolo, intervalo de porta e ação e obtenha comandos Azure CLI, comandos PowerShell ou JSON de modelo ARM para implantações automatizadas e repetíveis de segurança de rede no Azure.
Entendendo Grupos de Segurança de Rede Azure
Se você implanta cargas de trabalho no Azure, Network Security Groups (NSGs) são a ferramenta primária para filtrar tráfego de rede para e de suas máquinas virtuais, subnets e interfaces de rede. Um NSG contém uma lista de regras de segurança que permitem ou negam tráfego baseado em origem, destino, porta e protocolo. Ao contrário de grupos de segurança AWS, Azure NSGs suportam regras de negação explícita e usam um modelo de avaliação baseado em prioridade, dando a você controle mais granular sobre fluxo de tráfego.
O sistema de prioridade é o que torna Azure NSGs tanto poderosos quanto potencialmente confusos. Toda regra tem um número de prioridade entre 100 e 4096 e regras são avaliadas de número mais baixo (prioridade mais alta) para número mais alto (prioridade mais baixa). A primeira regra correspondente determina a ação. Isto significa que uma regra de Permitir de alta prioridade pode sobrescrever uma regra de Negar de prioridade mais baixa e vice versa. Se você definir prioridade 100 para Permitir HTTPS e prioridade 200 para Negar todo tráfego da mesma origem, tráfego HTTPS passa porque a prioridade 100 é avaliada primeiro. Acertar a ordem de prioridade certo é crítico para sua postura de segurança.
Azure também fornece tags de serviço - grupos nomeados de intervalos de IP que Azure gerencia automaticamente. Em vez de manualmente rastrear intervalos de IP da Microsoft para serviços como Azure Storage, Azure SQL ou a prova de saúde do Azure Load Balancer você referencia tags como Storage, Sql ou AzureLoadBalancer. Quando Microsoft atualiza esses intervalos, suas regras NSG automaticamente se aplicam aos novos endereços. Esta é uma vantagem operacional significante sobre listas CIDR mantidas manualmente, especialmente para serviços Azure PaaS cujos intervalos de IP mudam regularmente.
Como Gerar Regras Azure NSG de CSV
- Prepare seus dados de regra em formato CSV com colunas: direção, prioridade, nome, origem, destino, protocolo, intervalo de porta e ação
- Cole ou carregue o CSV no gerador
- Selecione o formato de saída: Azure CLI, PowerShell ou modelo ARM
- Digite o nome NSG e grupo de recursos
- Copie os comandos gerados ou modelo para implantação
Formato de Entrada CSV e Saída Gerada
Entrada CSV
direction,priority,name,source,destination,protocol,port,action
Inbound,100,AllowHTTPS,*,*,Tcp,443,Allow
Inbound,110,AllowSSH,10.0.0.0/8,*,Tcp,22,Allow
Inbound,200,DenyScannersIn,198.51.100.0/24,*,*,*,Deny
Outbound,100,AllowSQL,*,10.1.0.0/16,Tcp,1433,Allow
Inbound,120,AllowHTTP,Internet,*,Tcp,80,Allow
Saída Azure CLI
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name AllowHTTPS \
--priority 100 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 443 \
--source-address-prefixes '*' \
--destination-address-prefixes '*'
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name AllowSSH \
--priority 110 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 22 \
--source-address-prefixes '10.0.0.0/8' \
--destination-address-prefixes '*'
Saída PowerShell
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name "AllowHTTPS" `
-Priority 100 `
-Direction Inbound `
-Access Allow `
-Protocol Tcp `
-DestinationPortRange 443 `
-SourceAddressPrefix '*' `
-DestinationAddressPrefix '*' `
-SourcePortRange '*'
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name "AllowSSH" `
-Priority 110 `
-Direction Inbound `
-Access Allow `
-Protocol Tcp `
-DestinationPortRange 22 `
-SourceAddressPrefix '10.0.0.0/8' `
-DestinationAddressPrefix '*' `
-SourcePortRange '*'
Tipos de Origem e Destino Azure NSG
| Tipo | Exemplo | Descrição |
|---|---|---|
| Bloco CIDR | 10.0.0.0/8 | Notação padrão de intervalo de IP |
| Tag de serviço | Internet | Tag gerenciada Azure para IPs roteáveis na internet |
| Tag de serviço | VirtualNetwork | Todos os endereços na VNet e VNets peered |
| Tag de serviço | AzureLoadBalancer | IPs de origem de prova de saúde Azure |
| Tag de serviço | Storage.EastUS | IPs de serviço Azure específicos de região |
| Grupo de segurança de aplicação | asg-webservers | Agrupamento baseado em carga de trabalho |
| Curinga | * | Qualquer origem ou destino |
Como Funciona a Prioridade de NSG Azure
Regras Azure NSG são avaliadas por número de prioridade de mais baixo (prioridade mais alta) para mais alto (prioridade mais baixa). A primeira regra correspondente determina a ação.
| Prioridade | Nome | Ação | Efeito |
|---|---|---|---|
| 100 | AllowHTTPS | Permitir | Avaliado primeiro - tráfego HTTPS é permitido |
| 200 | DenyBadActors | Negar | Avaliado segundo - bloqueia IPs específicos |
| 4096 | DenyAllInbound | Negar | Regra padrão - bloqueia tudo mais |
Regras chave de prioridade:
- Intervalo válido:
100para4096 - Número mais baixo = prioridade mais alta (avaliado primeiro)
- Valores de prioridade devem ser únicos dentro de uma direção (Inbound ou Outbound)
- Azure reserva prioridades
65000-65500para regras padrão
Quando Usar o Azure NSG Rule Generator
- Implantação de VNet - Gere regras NSG para novas redes virtuais de uma planilha de requisitos de segurança
- Aplicações multi-camadas - Crie regras para camadas web, aplicação e banco de dados com controles de acesso apropriados entre-camadas
- Migração cross-cloud - Converta regras de grupo de segurança AWS ou regras de firewall de no-local para formato Azure NSG
- Infrastructure as Code - Gere modelos ARM ou scripts Azure CLI para implantações NSG versionadas e repetíveis
- Padronização de conformidade - Aplique baselines NSG consistentes em subscriptions e grupos de recursos
Como Azure NSGs Diferem de Grupos de Segurança AWS
| Feature | Azure NSG | Grupo de Segurança AWS |
|---|---|---|
| Negação explícita | Sim (ação Deny) | Não (apenas negação implícita) |
| Ordenação de prioridade | Sim (100-4096) | Não (todas as regras avaliadas) |
| Regras padrão | Padrões allow/deny incorporados | Negação implícita de tudo |
| Tags de serviço | Internet, VirtualNetwork, etc. | Listas de prefixo (limitadas) |
| Escopo | Nível de subnet ou NIC | Nível de instância |
| Com estado | Sim | Sim |
Conselho Prático para Configuração de NSG Azure
O maior pitfall com prioridades NSG Azure é deixar lacunas que são muito pequenas. Se você atribuir prioridades 100, 101, 102 para suas primeiras três regras, você não tem espaço para inserir uma regra entre elas depois sem renumeração. Use incrementos de 10 ou 20 (100, 110, 120, ...) para você sempre poder encaixar novas regras entre as existentes. Este gerador valida que suas prioridades não conflitem, mas não pode enforçar espaçamento bom - isto é uma decisão de design que você precisa fazer antecipadamente.
Ao trabalhar com arquiteturas multi-camadas no Azure, aplique NSGs no nível de subnet em vez de nível de NIC sempre que possível. NSGs de nível de subnet são mais fáceis de gerenciar porque se aplicam uniformemente a todos os recursos na subnet e você não precisa lembrar de anexar o NSG a toda VM nova que você implanta. NSGs de nível de NIC são úteis para exceções - quando uma VM em uma subnet precisa de regras diferentes do resto - mas eles adicionam complexidade e são uma fonte comum de sessões de "por que esta VM não consegue conectar?" troubleshooting.
Tags de serviço são um dos melhores features do Azure para segurança de rede, mas frequentemente são subutilizadas. Em vez de manter uma lista de intervalos de IP Azure Storage para suas regras NSG, use a tag Storage. Em vez de procurar intervalos de Azure SQL, use a tag Sql. Para restrições específicas de região, anexe o nome de região: Storage.EastUS. Azure mantém esses intervalos automaticamente, então suas regras nunca ficam obsoletas. A única ressalva é que tags de serviço não estão disponíveis em Network ACLs (apenas NSGs), então planejar sua arquitetura de segurança de rede de acordo.
Perguntas Frequentes
O que acontece se duas regras têm ações conflitantes em prioridades diferentes?
A regra com o número de prioridade mais baixo (precedência mais alta) ganha. Por exemplo, se a prioridade 100 permite HTTPS e prioridade 200 nega todo tráfego da mesma origem, tráfego HTTPS é permitido porque a prioridade 100 é avaliada primeiro.
Posso usar múltiplos intervalos de porta em uma única regra NSG?
Sim. Azure suporta múltiplos intervalos de porta em uma única regra usando valores separados por espaço: --destination-port-ranges 80 443 8080-8090. Isto reduz o número total de regras necessárias.
O que são tags de serviço e quando devo usá-las?
Tags de serviço são grupos de intervalos de IP gerenciados Azure para serviços Azure. Em vez de manualmente rastrear intervalos de IP da Microsoft, use tags como Storage, Sql ou AzureActiveDirectory. Azure automaticamente atualiza os intervalos de IP subjacentes. Isto é especialmente útil para permitir tráfego para serviços Azure PaaS.
Como valido que números de prioridade não conflitem?
O gerador verifica por prioridades duplicadas na mesma direção (Inbound ou Outbound) e sinaliza conflitos antes de produzir saída. Prioridades devem ser únicas por direção dentro de um NSG.
Qual é o número máximo de regras em um Azure NSG?
O limite padrão é 1000 regras por NSG (incluindo regras padrão). Isto é substancialmente mais alto que grupos de segurança AWS (60 por direção). Você pode requisitar um aumento de limite através de suporte Azure se necessário mas atingir 1000 regras usualmente indica que seu design NSG deveria ser reestruturado.
Como migro de grupos de segurança AWS para Azure NSGs?
As diferenças principais são que Azure NSGs exigem prioridades explícitas (AWS avalia todas as regras igualmente) e suportam regras de negação explícita. Mapeie cada regra de permitir AWS para uma regra de Permitir Azure com uma prioridade ascendente, adicione qualquer regra de negação que você precise (que AWS não pode expressar) e substitua listas de prefixo AWS com tags de serviço Azure onde aplicável.
Ferramentas Relacionadas
- AWS Security Group Rule Generator - Gere regras de Grupo de Segurança AWS de CSV
- iptables Rule Generator - Gere regras iptables de CSV
- nftables Rule Generator - Gere regras nftables de CSV
- Rule Conflict Finder - Encontre regras de firewall duplicadas, sombreadas ou sobrepostas
- Allowlist Builder - Construa lista de permissão CIDR mínima de lista IP