0Pricing
Cloud & IT Cert Prep · Aula

ACLs de rede versus grupos de segurança

Compare ACLs de rede sem estado com grupos de segurança com estado e saiba quando usar cada um para uma defesa de rede em camadas.

ACLs de rede versus grupos de segurança é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

Duas camadas de segurança de rede

A AWS fornece dois mecanismos distintos de firewall dentro de uma VPC. Os grupos de segurança operam no nível da instância (tecnicamente, no nível da ENI) e são stateful. As listas de controle de acesso à rede (NACLs) operam no nível da subnet e são stateless. Ambos são avaliados para qualquer tráfego que entre ou saia de uma subnet e de suas instâncias associadas. Usar os dois em conjunto oferece defesa em profundidade: NACLs como primeira linha no limite da subnet e grupos de segurança como firewall por instância. O exame SAA-C03 compara frequentemente esses dois mecanismos.

NACLs: firewall stateless no nível da subnet

Uma Network ACL (NACL) é uma lista numerada de regras aplicadas a todo o tráfego que atravessa o limite de uma subnet. As NACLs são stateless — cada pacote é avaliado de forma independente. Se você permitir a entrada na porta TCP 80, deverá permitir explicitamente o tráfego de saída de retorno (portas efêmeras 1024-65535) para que a resposta saia da subnet. As regras são avaliadas em ordem numérica (primeiro o número mais baixo); a primeira regra correspondente é aplicada e nenhuma regra posterior é verificada. Cada VPC vem com uma NACL padrão que permite todo o tráfego de entrada e de saída.

# Deny all traffic from a specific IP in the NACL
aws ec2 create-network-acl-entry \
  --network-acl-id acl-12345678 \
  --ingress \
  --rule-number 90 \
  --protocol tcp \
  --cidr-block 203.0.113.10/32 \
  --rule-action deny \
  --port-range From=0,To=65535

Numeração e ordem das regras de NACL

As regras de NACL são avaliadas em ordem crescente de número da regra (de 1 a 32766), e a avaliação é interrompida assim que uma regra corresponde ao tráfego — uma regra Allow com número mais baixo pode ser substituída por uma regra Deny com número ainda mais baixo para o mesmo tráfego. A AWS recomenda numerar as regras em incrementos de 10 ou 100 para deixar espaço para inserir regras posteriormente. Toda NACL termina com uma regra padrão (* DENY) que nega todo o tráfego não correspondente a nenhuma regra explícita. Essa regra abrangente não pode ser editada nem excluída.

# Example NACL ruleset:
# Rule 100: Allow  HTTPS (443) from 0.0.0.0/0
# Rule 200: Allow  HTTP (80)  from 0.0.0.0/0
# Rule 300: Deny   All         from specific-bad-IP
# Rule *:   Deny   All         from 0.0.0.0/0 (default, implicit)

NACLs stateless: portas efêmeras

Como as NACLs são stateless, você deve considerar as duas direções de cada conexão. Quando um cliente na internet se conecta à sua instância EC2 na porta 443, a instância envia a resposta de volta para a porta efêmera do cliente (uma porta alta aleatória, geralmente 1024-65535 no Linux e 49152-65535 no Windows). As regras de saída da sua NACL devem permitir explicitamente esse intervalo. Um erro comum de configuração de NACL é criar uma regra Allow para a porta 443 de entrada, mas esquecer de permitir as portas efêmeras de saída — fazendo com que as conexões sejam estabelecidas, mas as respostas sejam descartadas silenciosamente.

# NACL outbound rule allowing return traffic on ephemeral ports
aws ec2 create-network-acl-entry \
  --network-acl-id acl-12345678 \
  --egress \
  --rule-number 100 \
  --protocol tcp \
  --cidr-block 0.0.0.0/0 \
  --rule-action allow \
  --port-range From=1024,To=65535

Recapitulação dos grupos de segurança

Como lembrete: os grupos de segurança são associados às instâncias (ou ENIs), permitem apenas regras Allow explícitas (não há Deny), são stateful (as respostas ao tráfego de entrada permitido são automaticamente permitidas na saída, sem uma regra) e avaliam em conjunto todas as regras associadas usando a lógica OR. Você pode referenciar IDs de outros grupos de segurança como origens/destinos, o que é mais fácil de manter do que intervalos de IP. Os grupos de segurança são o mecanismo principal de controle de acesso no nível da instância, e as NACLs adicionam uma camada extra no nível da subnet.

Principais diferenças: NACLs versus grupos de segurança

Comparação essencial para o exame:

  • Nível: NACL = subnet; SG = instância (ENI)
  • Estado: NACL = stateless; SG = stateful
  • Regras: NACL = Allow E Deny; SG = apenas Allow (negação implícita)
  • Avaliação: NACL = em ordem (a primeira correspondência vence); SG = todas as regras são avaliadas (qualquer Allow vence)
  • Escopo: NACL aplica-se a todas as instâncias da subnet; SG aplica-se apenas às instâncias associadas
  • Entrada/Saída: NACL precisa de regras explícitas nas duas direções; SG é stateful (apenas regras de entrada são necessárias para as respostas)

Quando usar NACLs

Use NACLs para: bloquear IPs específicos (os grupos de segurança não podem negar — apenas permitir; as NACLs podem adicionar regras Deny explícitas para bloquear IPs maliciosos conhecidos ou ferramentas de coleta). Regras para toda a subnet (aplique a mesma regra a todas as instâncias de uma subnet sem alterar grupos de segurança individuais). Camada adicional de defesa (se uma configuração incorreta de grupo de segurança abrir o acesso acidentalmente, uma regra Deny da NACL no limite da subnet ainda poderá bloquear o tráfego). Na prática, a maioria das equipes gerencia o acesso principalmente por meio de grupos de segurança e usa NACLs apenas para bloqueios explícitos de IP.

NACLs padrão versus personalizadas

A NACL padrão (criada com cada VPC) permite todo o tráfego de entrada e de saída — ela possui as regras 100 Allow All Inbound e 100 Allow All Outbound. As subnets que não estão explicitamente associadas a uma NACL personalizada usam a NACL padrão. Se você criar uma NACL personalizada, ela começará apenas com a regra padrão Deny-All (regra *), bloqueando todo o tráfego até que você adicione regras Allow explícitas. Isso significa que associar uma nova NACL personalizada a uma subnet bloqueará imediatamente todo o tráfego — certifique-se de adicionar regras Allow antes de associá-la a subnets de produção.

# Create a custom NACL (starts with DENY ALL)
aws ec2 create-network-acl --vpc-id vpc-12345678

# Associate it with a subnet
aws ec2 replace-network-acl-association \
  --association-id aclassoc-12345678 \
  --network-acl-id acl-custom-id

Ordem de avaliação: NACLs e grupos de segurança

Para o tráfego de entrada destinado a uma instância EC2: o tráfego primeiro passa pela NACL no limite da subnet (avaliada na ordem das regras). Se a NACL permitir o tráfego, ele chegará ao grupo de segurança da instância — o grupo de segurança também deverá permiti-lo. Ambos devem permitir o tráfego para que ele chegue à instância. Para o tráfego de saída: o grupo de segurança é avaliado primeiro (stateful — permite o tráfego se ele for uma resposta a uma entrada permitida), depois a NACL (stateless — deve ter uma regra Allow de saída explícita). Compreender essa ordem esclarece por que são necessárias regras de tráfego de retorno nas NACLs stateless mesmo com grupos de segurança stateful.

Solução de problemas com NACLs

As NACLs são uma fonte comum de problemas de rede difíceis de diagnosticar devido à sua natureza stateless. Sintomas: as conexões são estabelecidas, mas o fluxo de dados é interrompido (regra de saída para portas efêmeras ausente); tráfego em apenas uma direção (regra de entrada ou saída esquecida); IPs específicos não conseguem se conectar (uma regra Deny com número mais baixo corresponde ao tráfego antes da regra Allow). Método de depuração: use os VPC Flow Logs para verificar se os pacotes foram ACCEPT ou REJECT no nível da NACL. O registro de fluxo mostrará os pacotes rejeitados e suas origens/destinos, ajudando a identificar a regra ausente.

# Athena query to find NACL-rejected flows
SELECT sourceaddress, destinationaddress, destinationport, action
FROM vpc_flow_logs
WHERE action = 'REJECT'
  AND interfaceid LIKE 'eni-%'
LIMIT 100;

Arquitetura de segurança em camadas

O padrão recomendado para a segurança de uma VPC de várias camadas: ACLs de rede em sub-redes públicas permitem somente as portas 80, 443 e as portas efêmeras necessárias vindas da internet; todo o restante é negado. Grupos de segurança de sub-redes públicas no ALB permitem 80/443 a partir de 0.0.0.0/0. Grupos de segurança de aplicações privadas permitem acesso somente a partir do ID do grupo de segurança do ALB. Grupos de segurança de dados privados permitem acesso somente a partir do ID do grupo de segurança da aplicação. Essa defesa em profundidade garante que, mesmo que uma camada seja configurada incorretamente, outra camada ofereça proteção — um princípio chamado de menor acesso em todas as camadas.

Verificação rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: as ACLs de rede são firewalls sem estado no nível da sub-rede que aceitam regras Allow e Deny avaliadas na ordem numérica, os grupos de segurança são firewalls com estado no nível da instância, com regras somente Allow, nas quais todas as regras são avaliadas em conjunto, e você deve usar ACLs de rede para bloqueios explícitos de IP e regras abrangentes da sub-rede, e grupos de segurança para o controle detalhado do acesso às instâncias. Isso conclui o módulo Noções básicas de VPC — a seguir, vamos explorar o RDS e os bancos de dados relacionais na AWS.

Perguntas Frequentes

A aula “ACLs de rede versus grupos de segurança” é grátis?

Sim — o texto completo de “ACLs de rede versus grupos de segurança” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O que vou aprender em “ACLs de rede versus grupos de segurança”?

Compare ACLs de rede sem estado com grupos de segurança com estado e saiba quando usar cada um para uma defesa de rede em camadas. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cloud & IT Cert Prep?

Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “ACLs de rede versus grupos de segurança”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?

Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Arquitetura de VPC e blocos CIDR
  2. Gateway da Internet e tabelas de rotas
  3. Gateway NAT e sub-redes privadas
  4. ACLs de rede versus grupos de segurança
← Voltar para Cloud & IT Cert Prep