Controlar o tráfego para sub-redes com ACLs de rede - Amazon Virtual Private Cloud

Controlar o tráfego para sub-redes com ACLs de rede

Uma lista de controle de acesso (ACL) de rede permite ou não determinado tráfego de entrada ou de saída no nível da sub-rede. Você pode usar a ACL de rede padrão para a VPC ou pode criar uma ACL de rede personalizada para a VPC com regras semelhantes às regras dos grupos de segurança para adicionar mais uma camada de segurança à VPC.

O diagrama a seguir mostra uma VPC com duas sub-redes. Cada sub-rede tem uma ACL da rede. Quando o tráfego entra na VPC (por exemplo, de VPCs emparelhadas, de uma conexão VPN ou da Internet), o roteador envia o tráfego para seu destino. A ACL da rede A determina qual tráfego destinado à sub-rede 1 tem permissão para entrar na sub-rede 1 e qual tráfego destinado a um local fora da sub-rede 1 tem permissão para sair da sub-rede 1. Da mesma forma, a ACL da rede B determina qual tráfego tem permissão para entrar e sair da sub-rede 2.


      Uma VPC com duas sub-redes e uma ACL da rede para cada sub-rede.

Para obter mais informações sobre as diferenças entre security groups e Network ACLs, consulte Compare grupos de segurança e network ACLs..

Noções básicas de network ACL

Encontram-se a seguir noções essenciais sobre as Network ACLs:

  • Sua VPC já vem com uma Network ACL padrão modificável. Por padrão, ela permite todos os tráfegos de IPv4 de entrada e saída e, se aplicável, o tráfego IPv6.

  • Você pode criar uma ACL de rede personalizada e associá-la a uma sub-rede para permitir ou recusar tráfego de entrada ou de saída específico por sub-rede.

  • Toda sub-rede em sua VPC deve ser associada com uma Network ACL. Se você não associar explicitamente uma sub-rede com uma Network ACL, as sub-redes serão associadas automaticamente com a Network ACL padrão.

  • É possível associar uma network ACL a várias sub-redes. No entanto, uma sub-rede pode ser associada a apenas uma network ACL por vez. Quando uma Network ACL é associada a uma sub-rede, a associação anterior é removida.

  • Uma ACL da rede tem regras de entrada e regras de saída. Cada regra pode permitir ou negar tráfego. Cada regra tem um número de 1 até 32766. Avaliamos as regras na ordem, começando pela regra de número mais baixo, ao decidirmos se o tráfego será permitido ou negado. Se o tráfego corresponder a uma regra, a regra será aplicada e não avaliaremos quaisquer regras adicionais. Para começar, é recomendável criar regras em incrementos (por exemplo, incrementos de 10 ou 100), para que, posteriormente, você possa inserir novas regras, se necessário.

  • Avaliamos as regras de ACL da rede quando o tráfego entra e sai da sub-rede, não quando ele é roteado dentro de uma sub-rede.

  • As ACLs de rede são stateless, o que significa que as respostas para o tráfego de entrada permitido estão sujeitas às regras para o tráfego de saída (e vice-versa).

Há cotas (também conhecidas como limites) para o número de ACLs da rede por VPC e para o número de regras por ACL da rede. Para obter mais informações, consulte Cotas da Amazon VPC.

nota

As ACLs de rede não podem bloquear solicitações de DNS de ou para o Route 53 Resolver, às vezes chamadas de “endereço IP VPC+2” (consulte O que é o Amazon Route 53 Resolver? no Guia do desenvolvedor do Amazon Route 53) ou no “AmazonProvidedDNS”. Se você quiser filtrar solicitações de DNS por meio do Route 53 Resolver, é possível habilitar o Route 53 Resolver DNS Firewall (consulte Route 53 Resolver DNS Firewall no Guia do desenvolvedor do Amazon Route 53).

Regras de network ACL

Você pode adicionar ou remover regras de Network ACL padrão ou criar outras Network ACLs para sua VPC. Ao adicionar ou remover regras de uma network ACL, as alterações são automaticamente aplicadas às sub-redes às quais ela está associada.

Encontram-se a seguir as partes de uma regras de Network ACL:

  • Número da regra. As regras são avaliadas a partir da regra de número mais baixo. Assim que uma regra coincide com o tráfego, ela é aplicada, independentemente de haver qualquer regra com número mais alto que possa contradizê-la.

  • Tipo. O tipo de tráfego; por exemplo, SSH. Também é possível especificar todo o tráfego ou um intervalo personalizado.

  • Protocol (Protocolo. Você pode especificar qualquer protocolo que tenha um número de protocolo padrão. Para obter mais informações, consulte Protocol Numbers. Se você especificar o ICMP como protocolo, poderá especificar qualquer ou todos os tipos e códigos ICMP.

  • Intervalo de portas. A porta de escuta ou o intervalo de portas para o tráfego. Por exemplo, 80 para o tráfego HTTP.

  • Source (Origem. [Somente regras de entrada] A fonte do tráfego (intervalo CIDR).

  • Destino. [Somente regras de saída] O destino do tráfego (intervalo CIDR).

  • Permissão/Negação. Se permite ou nega o tráfego especificado.

Se você adicionar uma regra usando uma ferramenta de linha de comando ou a API do Amazon EC2, o intervalo CIDR será modificado automaticamente para sua forma canônica. Por exemplo, se você especificar 100.68.0.18/18 para o intervalo CIDR, criaremos uma regra com um intervalo CIDR 100.68.0.0/18.

Network ACL padrão

A network ACL padrão é configurada para permitir todo o tráfego de entrada e saída das sub-redes com as quais está associada. Além disso, toda Network ACL contém uma regra cujo número é um asterisco. Essa regra garante que, se um pacote não corresponder a nenhuma das outras regras numeradas, o acesso seja negado. Não é possível modificar nem remover essa regra.

Encontra-se a seguir um exemplo de Network ACL padrão para uma VPC compatível somente com IPv4.

Entrada
Regra nº Type Protocolo Intervalo de portas Origem Permissão/Negação

100

All IPv4 traffic

Tudo

Tudo

0.0.0.0/0

PERMISSÃO

*

All IPv4 traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Saída
Regra nº Type Protocolo Intervalo de portas Destino Permissão/Negação

100

All IPv4 traffic

Tudo

Tudo

0.0.0.0/0

PERMISSÃO

*

All IPv4 traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Se você criar uma VPC com um bloco CIDR IPv6 ou se associar um bloco CIDR IPv6 à VPC existente, adicionaremos automaticamente as regras que permitem todo tráfego IPv6 de entrada e saída em sua sub-rede. Além disso, adicionamos regras cujos números são um asterisco que garante que um pacote tenha acesso negado se não corresponder a nenhuma outra regra numerada. Não é possível modificar nem remover essas regras. Encontra-se a seguir um exemplo de Network ACL padrão para uma VPC compatível com IPv4 e IPv6.

nota

Se tiver modificado as regras de entrada de sua network ACL padrão, não adicionaremos automaticamente uma regra de permissão para tráfego IPv6 de entrada quando você associar um bloco IPv6 à sua VPC. Do mesmo modo, se tiver modificado as regras de saída, não adicionaremos automaticamente uma regra de permissão para tráfego IPv6 de saída.

Entrada
Regra nº Type Protocolo Intervalo de portas Origem Permissão/Negação

100

All IPv4 traffic

Tudo

Tudo

0.0.0.0/0

PERMISSÃO

101

Todo tráfego IPv6

Tudo

Tudo

::/0

PERMISSÃO

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

*

Todo tráfego IPv6

Tudo

Tudo

::/0

NEGAÇÃO

Saída
Regra nº Type Protocolo Intervalo de portas Destino Permissão/Negação

100

All traffic

Tudo

Tudo

0.0.0.0/0

PERMISSÃO

101

Todo tráfego IPv6

Tudo

Tudo

::/0

PERMISSÃO

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

*

Todo tráfego IPv6

Tudo

Tudo

::/0

NEGAÇÃO

Network ACL personalizada

A tabela a seguir mostra um exemplo de uma Network ACL padrão para uma VPC compatível somente com IPv4. Isso inclui regras que permitem tráfego HTTP e HTTPS de entrada (regras de entrada 100 e 110). Existe uma regra de saída correspondente que permite respostas ao tráfego de entrada (regra de saída 140, que abrange portas efêmeras 32768-65535). Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

A Network ACL tem também regras que permitem tráfego SSH e RDP para a sub-rede. A regra de saída 120 permite a saída de respostas da sub-rede.

A Network ACL tem regras de saída (100 e 110) que permitem tráfego HTTP e HTTPS de saída fora da sub-rede. Existe uma regra de entrada correspondente que permite respostas a esse tráfego de saída (regra de entrada 140, que abrange portas efêmeras 32768-65535).

nota

Além disso, toda Network ACL contém uma regra padrão cujo número é um asterisco. Essa regra garante que, se um pacote não corresponder a nenhuma das outras regras, o acesso seja negado. Não é possível modificar nem remover essa regra.

Entrada
Regra nº Type Protocolo Intervalo de portas Origem Permissão/Negação Comentários

100

HTTP

TCP

80

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTP de entrada de qualquer endereço IPv4.

110

HTTPS

TCP

443

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTPS de entrada de qualquer endereço IPv4.

120

SSH

TCP

22

192.0.2.0/24

PERMISSÃO

Permite tráfego SSH de entrada de um intervalo de endereços IPv4 públicos de sua rede doméstica (no gateway da Internet).

130

RDP

TCP

3389

192.0.2.0/24

PERMISSÃO

Permite tráfego RDP de entrada de um intervalo de endereços IPv4 públicos de sua rede doméstica para servidores web (no gateway da Internet).

140

Custom TCP

TCP

32768-65535

0.0.0.0/0

PERMISSÃO

Permite tráfego IPv4 de retorno de entrada da Internet (isto é, para solicitações originadas na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Nega todos os tráfegos IPv4 de entrada ainda não controlados por uma regra precedente (não modificável).

Saída
Regra nº Type Protocolo Intervalo de portas Destino Permissão/Negação Comentários

100

HTTP

TCP

80

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTP IPv4 de saída da sub-rede para a Internet.

110

HTTPS

TCP

443

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTPS IPv4 de saída da sub-rede para a Internet.

120 SSH

TCP

1024-65535

192.0.2.0/24

PERMISSÃO

Permite tráfego SSH de saída de um intervalo de endereços IPv4 públicos de sua rede doméstica (no gateway da Internet).

140

Custom TCP

TCP

32768-65535

0.0.0.0/0

PERMISSÃO

Permite respostas IPv4 de saída a clientes na Internet (por exemplo, fornece páginas da Web a pessoas que visitam os servidores web na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Nega todos os tráfegos IPv4 de saída ainda não controlados por uma regra precedente (não modificável).

Quando um pacote chega à sub-rede, nós o avaliamos com base em regras de entrada da ACL com a qual a sub-rede está associada (do topo da lista de regras para baixo). Veja como a avaliação ocorre quando o pacote é destinado para a porta HTTPS (443). O pacote não corresponde à primeira regra avaliada (regra 100). Ele corresponde à segunda regra (110), que permite que o pacote entre na sub-rede. Se o pacote tiver sido destinado para a porta 139 (NetBIOS), ele não será mais compatível com nenhuma das regras, e a regra * acabará negando o pacote.

É recomendável adicionar uma regra de negação em uma situação em que você precisa verdadeiramente abrir um amplo intervalo de portas, mas existem determinadas portas nesse intervalo às quais deseja negar acesso. Não se esqueça de inserir a regra de negação na tabela antes da regra que permite o tráfego a um amplo intervalo de portas.

Adicione regras de permissão dependendo do seu caso de uso. Por exemplo, é possível adicionar uma regra que permita acesso TCP e UDP de saída na porta 53 para resolução DNS. Para cada regra adicionada, certifique-se de que haja uma regra de entrada ou de saída que permita o tráfego de resposta.

A tabela a seguir mostra o mesmo exemplo de uma Network ACL personalizada para uma VPC que tem um bloco CIDR IPv6 associado. Essa Network ACL contém regras para todo tráfego HTTP e HTTPS IPv6. Nesse caso, novas regras foram inseridas entre as regras existentes para o tráfego IPv4. Também é possível adicionar as regras como regras de número mais alto após as regras IPv4. Os tráfegos IPv4 e IPv6 são diferentes; portanto, nenhuma das regras para tráfego IPv4 se aplica ao tráfego IPv6.

Entrada
Regra nº Type Protocolo Intervalo de portas Origem Permissão/Negação Comentários

100

HTTP

TCP

80

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTP de entrada de qualquer endereço IPv4.

105

HTTP

TCP

80

::/0

PERMISSÃO

Permite tráfego HTTP de entrada de qualquer endereço IPv6.

110

HTTPS

TCP

443

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTPS de entrada de qualquer endereço IPv4.

115

HTTPS

TCP

443

::/0

PERMISSÃO

Permite tráfego HTTPS de entrada de qualquer endereço IPv6.

120

SSH

TCP

22

192.0.2.0/24

PERMISSÃO

Permite tráfego SSH de entrada de um intervalo de endereços IPv4 públicos de sua rede doméstica (no gateway da Internet).

130

RDP

TCP

3389

192.0.2.0/24

PERMISSÃO

Permite tráfego RDP de entrada de um intervalo de endereços IPv4 públicos de sua rede doméstica para servidores web (no gateway da Internet).

140

Custom TCP

TCP

32768-65535

0.0.0.0/0

PERMISSÃO

Permite tráfego IPv4 de retorno de entrada da Internet (isto é, para solicitações originadas na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

145

Custom TCP TCP 32768-65535 ::/0 ALLOW

Permite tráfego IPv6 de retorno de entrada da Internet (isto é, para solicitações originadas na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Nega todos os tráfegos IPv4 de entrada ainda não controlados por uma regra precedente (não modificável).

*

Todo o tráfego

Tudo

Tudo

::/0

NEGAÇÃO

Nega todos os tráfegos IPv6 de entrada ainda não controlados por uma regra precedente (não modificável).

Saída
Regra nº Type Protocolo Intervalo de portas Destino Permissão/Negação Comentários

100

HTTP

TCP

80

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTP IPv4 de saída da sub-rede para a Internet.

105

HTTP

TCP

80

::/0

PERMISSÃO

Permite tráfego HTTP IPv6 de saída da sub-rede para a Internet.

110

HTTPS

TCP

443

0.0.0.0/0

PERMISSÃO

Permite tráfego HTTPS IPv4 de saída da sub-rede para a Internet.

115

HTTPS

TCP

443

::/0

PERMISSÃO

Permite tráfego HTTPS IPv6 de saída da sub-rede para a Internet.

140

Custom TCP

TCP

32768-65535

0.0.0.0/0

PERMISSÃO

Permite respostas IPv4 de saída a clientes na Internet (por exemplo, fornece páginas da Web a pessoas que visitam os servidores web na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

145

TCP personalizado

TCP

32768-65535

::/0

PERMISSÃO

Permite respostas IPv6 de saída a clientes na Internet (por exemplo, fornece páginas da web a pessoas que visitam os servidores da web na sub-rede).

O intervalo é apenas de exemplo. Para obter mais informações sobre como selecionar o intervalo de portas efêmero apropriado, consulte Portas efêmeras.

*

All traffic

Tudo

Tudo

0.0.0.0/0

NEGAÇÃO

Nega todos os tráfegos IPv4 de saída ainda não controlados por uma regra precedente (não modificável).

*

Todo o tráfego

Tudo

Tudo

::/0

NEGAÇÃO

Nega todos os tráfegos IPv6 de saída ainda não controlados por uma regra precedente (não modificável).

Para obter mais exemplos, consulte Regras recomendadas para cenários de VPC.

Network ACLs personalizadas e outros serviços da AWS

Se você criar uma Network ACL, esteja ciente de como ela pode afetar os recursos que você criar usando outros serviços de AWS.

Com o Elastic Load Balancing, se a sub-rede das instâncias de back-end tiver uma network ACL à qual você tenha adicionado uma regra de negação para todo o tráfego com uma origem de 0.0.0.0/0 ou CIDR da sub-rede, o balanceador de carga não conseguirá realizar verificações de integridade nas instâncias. Para obter mais informações sobre as regras de network ACL recomendadas para os balanceadores de carga e as instâncias de back-end, consulte Network ACLs para balanceadores de carga em uma VPC no Manual do usuário de Classic Load Balancers.

Portas efêmeras

A Network ACL de exemplo na seção precedente usa o intervalo de portas efêmero 32768-65535. Entretanto, é recomendável usar um intervalo diferente para suas Network ACLs dependendo do tipo de cliente que você estiver usando ou com o qual estiver se comunicando.

O cliente que inicia a solicitação escolhe o intervalo de portas efêmero. O intervalo varia dependendo do sistema operacional do cliente.

  • Muitos kernels Linux (incluindo o kernel Amazon Linux) usam portas 32768-61000.

  • As solicitações originadas do Elastic Load Balancing usam as portas 1024-65535.

  • Os sistemas operacionais Windows até o Windows Server 2003 usam portas 1025-5000.

  • O Windows Server 2008 e versões posteriores usam portas 49152-65535.

  • Um gateway NAT usa as portas 1024 a 65535.

  • AWS LambdaAs funções do usam portas 1024-65535.

Por exemplo, se uma solicitação chegar ao servidor da web em sua VPC de um cliente Windows 10 na Internet, sua network ACL precisará de uma regra de saída para permitir o tráfego destinado às portas 49152 a 65535.

Se uma instância na VPC for o cliente que está iniciando uma solicitação, a Network ACL precisará de uma regra de entrada para permitir o tráfego destinado para as portas efêmeras específicas ao tipo de instância (Amazon Linux, Windows Server 2008 etc.).

Na prática, para abranger os diferentes tipos de cliente que podem iniciar tráfego para instâncias voltadas para o público em sua VPC, você pode abrir as portas efêmeras 1024 a 65535. Entretanto, você pode também adicionar regras à ACL para negar tráfego a qualquer porta mal-intencionado dentro do intervalo. Não se esqueça de inserir regras de negação na tabela antes de inserir regras de permissão que abram um amplo intervalo de portas efêmeras.

Path MTU Discovery

O Path MTU Discovery é usado para determinar o MTU do caminho entre dois dispositivos. A MTU do caminho é o tamanho de pacote máximo suportado no caminho entre o host de origem e o host de recepção.

Para o IPv4, quando um host enviar um pacote que for maior que a MTU do host de recebimento ou que a MTU de um dispositivo ao longo do caminho, o host ou o dispositivo de recebimento eliminará o pacote e retornará a seguinte mensagem ICMP: Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Tipo 3, Código 4). Isso instrui o host de transmissão a dividir a carga útil em vários pacotes menores e, em seguida, retransmiti-los.

O protocolo IPv6 não é compatível com a fragmentação na rede. Se um host enviar um pacote que for maior que a MTU do host de recebimento ou que a MTU de um dispositivo ao longo do caminho, o host ou dispositivo de recebimento eliminará o pacote e retornará a seguinte mensagem ICMP: ICMPv6 Packet Too Big (PTB) (Tipo 2). Isso instrui o host de transmissão a dividir a carga útil em vários pacotes menores e, em seguida, retransmiti-los.

Se a maximum transmission unit (MTU – unidade máxima de transmissão) entre hosts nas sub-redes for diferente, ou suas instâncias se comunicam com pares pela Internet, será necessário adicionar a regra de Network ACL a seguir, tanto de entrada como de saída. Isso garante que a Path MTU Discovery funcione corretamente e evite a perda de pacotes. Selecione Custom ICMP Rule (Regra ICMP personalizada) para o tipo e Destination Unreachable (Destino inacessível), fragmentation required, and DF flag set (fragmentação necessária e sinalizador DF definido) para o intervalo de portas (tipo 3, código 4). Se você usar o rastreamento de rotas, adicione também a seguinte regra: selecione Custom ICMP Rule (Regra personalizada de ICMP) para o tipo e Time Exceeded (Tempo excedido), TTL expired transit (Trânsito de TTL expirado) para o intervalo de porta (tipo 11, código 0). Para obter mais informações, consulte Unidade de transmissão máxima de rede (MTU) para a instância do EC2 no Manual do usuário do Amazon EC2 para instâncias do Linux.

Trabalhar com ACLs de rede

As tarefas a seguir mostram como utilizar Network ACLs por meio do console da Amazon VPC.

Determinar associações a network ACLs

É possível usar o console da Amazon VPC para determinar qual Network ACL está associada a uma sub-rede. Como as network ACLs podem ser associadas a uma ou mais sub-redes, também é possível determinar as sub-redes que estão associadas a uma network ACL.

Para determinar qual Network ACL está associada a uma sub-rede
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Subnets e selecione a sub-rede.

    A Network ACL associada à sub-rede está incluída na guia Network ACL, junto com as regras da Network ACL.

Para determinar quais sub-redes estão associada a uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, selecione Network ACLs. A coluna Associated With indica o número de sub-redes associadas para cada Network ACL.

  3. Selecione uma Network ACL.

  4. No painel de detalhes, escolha Subnet Associations (Associações de sub-redes) para exibir as sub-redes associadas à network ACL.

Criar uma Network ACL

Você pode criar uma Network ACL personalizada para sua VPC. Por padrão, a Network ACL criada bloqueia todo tráfego de entrada e saída até o momento em que você adiciona regras, e ela será associada à sub-rede somente quando você a associar explicitamente a uma.

Para criar uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, selecione Network ACLs.

  3. Escolha Create Network ACL.

  4. Na caixa de diálogo Create Network ACL (Criar network ACL), você tem a opção de nomear ou não sua Network ACL. Depois, selecione o ID de sua VPC na lista VPC. Depois, escolha Yes, Create (Sim, criar).

Adicionar e excluir regras

Quando você adiciona ou exclui uma regra de uma ACL, todas as sub-redes associadas à ACL ficam sujeitas a essa alteração. Não é necessário terminar e reiniciar as instâncias na sub-rede. As alterações entram em vigor após um curto período.

Importante

Tenha muito cuidado ao adicionar e excluir regras ao mesmo tempo. As regras de ACL da rede definem quais tipos de tráfego de rede podem entrar ou sair de suas VPCs. Se você excluir regras de entrada ou saída e, em seguida, adicionar mais entradas novas do que o permitido em Cotas da Amazon VPC, as entradas selecionadas para exclusão serão removidas e novas entradas não serão adicionadas. Isso pode causar problemas de conectividade inesperados e impedir involuntariamente o acesso a suas VPCs em ambas as direções.

Se você estiver usando a API do Amazon EC2 ou uma ferramenta de linha de comando, não será possível modificar regras. Só é possível adicionar e excluir regras. Se você estiver usando o console da Amazon VPC, poderá modificar as entradas das regras existentes. O console remove a regra existente e adiciona uma nova regra para você. Se você precisar mudar a ordem de uma regra na ACL, precisará adicionar uma nova regra com o novo número e depois excluir a regra original.

Para adicionar regras a uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, selecione Network ACLs.

  3. No painel de detalhes, escolha a guia Inbound Rules ou Outbound Rules, dependendo do tipo de regra que você necessita adicionar, e depois escolha Edit.

  4. Em Rule #, insira um número de regra (por exemplo, 100). O número da regra não pode estar sendo usado na network ACL. Processamos as regras sequencialmente, a partir do número mais baixo.

    É recomendável deixar lacunas entre os números de regra (como 100, 200, 300), em vez de usar números sequenciais (101, 102, 103). Desse modo, fica mais fácil adicionar uma nova regra sem precisar renumerar as regras existentes.

  5. Selecione uma regra na lista Type. Por exemplo, para adicionar uma regra para HTTP, escolha HTTP. Para adicionar uma regra para permitir todos os tráfegos TCP, escolha All TCP. Para algumas dessas opções (por exemplo, HTTP), preenchemos a porta para você. Para usar um protocolo que não esteja listado, escolha Custom Protocol Rule.

  6. (Opcional) Se você estiver criando uma regra de protocolo personalizada, selecione o número e o nome do protocolo na lista Protocol. Para obter mais informações, consulte IANA List of Protocol Numbers.

  7. (Opcional) Se o protocolo que você selecionou exigir um número de porta, insira o número de porta ou o intervalo de portas separadas por hífen (por exemplo, 49152-65535).

  8. No campo Source ou Destination (dependendo se a regra for de entrada ou de saída), insira o intervalo CIDR ao qual a regra se aplica.

  9. Na lista Allow/Deny, selecione ALLOW para permitir um tráfego específico ou DENY para negar um tráfego específico.

  10. (Opcional) Para adicionar outra regra, escolha Add another rule e repita as etapas 4 a 9, se necessário.

  11. Quando concluir, selecione Save.

Para excluir uma regra de uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Network ACLs e depois selecione a Network ACL.

  3. No painel de detalhes, selecione a guia Inbound Rules ou Outbound Rules e escolha Edit. Escolha Remove para a regra que você deseja excluir e depois Save.

Associar uma sub-rede a uma network ACL

Para aplicar as regras de uma Network ACL a uma sub-rede específica, você deve associar a sub-rede a uma Network ACL. É possível associar uma network ACL a várias sub-redes. No entanto, uma sub-rede pode ser associada a apenas uma network ACL. Por padrão, as sub-redes não associadas a uma ACL específica são associadas à network ACL padrão.

Para associar uma sub-rede a uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Network ACLs e depois selecione a Network ACL.

  3. No painel de detalhes, na guia Subnet Associations, escolha Edit. Marque a caixa de seleção Associate para a sub-rede associada à Network ACL e escolha Save.

Desassociar uma network ACL de uma sub-rede

É possível desassociar uma network ACL personalizada de uma sub-rede. Quando a sub-rede tiver sido desassociada da network ACL personalizada, ela será automaticamente associada à network ACL padrão.

Para dissociar uma sub-rede de uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Network ACLs e depois selecione a Network ACL.

  3. No painel de detalhes, escolha a guia Subnet Associations.

  4. Escolha Edit e desmarque a caixa de seleção Associate para a sub-rede. Escolha Salvar.

Alterar a network ACL de uma sub-rede

Você pode mudar a Network ACL que está associada a uma sub-rede. Por exemplo, quando se cria uma sub-rede, a princípio ela é associada à Network ACL padrão. Em vez disso, você pode querer associá-la a uma Network ACL personalizada que tenha criado.

Depois de alterar a network ACL de uma sub-rede, você não precisa terminar e reiniciar as instâncias na sub-rede. As alterações entram em vigor após um curto período.

Para mudar a associação de uma Network ACL a uma sub-rede
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Subnets e selecione a sub-rede.

  3. Escolha a guia Network ACL e depois Edit.

  4. Na lista Change to (Alterar para), selecione a network ACL à qual associar a sub-rede e, depois, escolha Save (Salvar).

Excluir uma Network ACL

Você poderá excluir uma Network ACL somente se não houver nenhuma sub-rede associada a ela. Não é possível excluir a Network ACL padrão.

Para excluir uma Network ACL
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, selecione Network ACLs.

  3. Selecione a Network ACL e escolha Delete.

  4. Na caixa de diálogo de confirmação, escolha Yes, Delete.

Visão geral da API e dos comandos

Você pode executar as tarefas descritas nesta página usando a linha de comando ou uma API. Para obter mais informações sobre as interfaces de linha de comando e uma lista das APIs disponíveis, consulte Trabalhar com a Amazon VPC.

Criar uma Network ACL para sua VPC
Descrever uma ou mais de suas Network ACLs
Adicionar uma regra a uma Network ACL
Excluir uma regra de uma Network ACL
Substituir uma regra existente em uma Network ACL
Substituir uma associação de Network ACL
Excluir uma Network ACL

Exemplo: controlar o acesso a instâncias em uma sub-rede

Neste exemplo, as instâncias em sua sub-rede podem se comunicar entre si e são acessíveis de um computador remoto confiável. O computador remoto pode ser um computador em sua rede local ou uma instância em outra sub-rede ou VPC. Você o usa para se conectar às instâncias a fim de executar tarefas administrativas. As regras de seu security group e as regras da Network ACL permitem acesso do endereço IP em seu computador remoto (172.31.1.2/32). Todo o outros tráfego proveniente da Internet ou de outras redes é negado. Nesse cenário, você tem flexibilidade para mudar as regras de um ou mais grupos de segurança de suas instâncias e ter a Network ACL como camada de defesa de backup.


          Uso de um grupo de segurança e de uma NACL

Veja a seguir um exemplo de grupo de segurança para associar às instâncias. Os grupos de segurança são com estado. Portanto, você não precisa de uma regra que permita respostas ao tráfego de entrada.

Entrada
Tipo de protocolo Protocolo Intervalo de portas Origem Comentários
All traffic All All sg-1234567890abcdef0 All instances associated with this security group can communicate with each other.
SSH TCP 22 172.31.1.2/32 Allows inbound SSH access from the remote computer.
Saída
Tipo de protocolo Protocolo Intervalo de portas Destino Comentários
All traffic All All sg-1234567890abcdef0 All instances associated with this security group can communicate with each other.

Veja a seguir um exemplo de network ACL para associar às sub-redes para as instâncias. As regras de network ACL se aplicam a todas as instâncias na sub-rede. Network ACLs são stateless. Portanto, você precisa de uma regra que permita respostas ao tráfego de entrada.

Entrada
Regra nº Type Protocolo Intervalo de portas Origem Permissão/Negação Comentários
100 SSH TCP 22 172.31.1.2/32 ALLOW Allows inbound traffic from the remote computer.
* All traffic All All 0.0.0.0/0 DENY Denies all other inbound traffic.
Saída
Regra nº Type Protocolo Intervalo de portas Destino Permissão/Negação Comentários
100 Custom TCP TCP 1024-65535 172.31.1.2/32 ALLOW Allows outbound responses to the remote computer.
* All traffic All All 0.0.0.0/0 DENY Denies all other outbound traffic.

Se você acidentalmente tornar as regras do grupo de segurança permissivas demais, a network ACL deste exemplo continuará permitindo acesso apenas a partir do endereço IP especificado. Por exemplo, o grupo de segurança a seguir contém uma regra que permite o acesso SSH de entrada a partir de qualquer endereço IP. Porém, se você associar esse grupo de segurança a uma instância em uma sub-rede que usa a network ACL, somente outras instâncias dentro da sub-rede e do computador remoto poderão acessar a instância, pois as regras da network ACL negam outros tráfegos de entrada à sub-rede.

Entrada
Type (Tipo) Protocolo Intervalo de portas Origem Comentários
All traffic All All sg-1234567890abcdef0 All instances associated with this security group can communicate with each other.
SSH TCP 22 0.0.0.0/0 Allows SSH access from any IP address.
Saída
Type (Tipo) Protocolo Intervalo de portas Destino Comentários
All traffic All All 0.0.0.0/0 Allows all outbound traffic.

Você pode seguir os processos em Cenários para implementar cenários comuns para o Amazon VPC. Cada cenário nessa seção inclui as regras recomendadas de ACL de rede. Se você implementar esses cenários conforme descrito na documentação, use a lista de controle de acesso (ACL) de rede padrão, que permite tráfego de entrada e de saída. Se precisar de uma extra de segurança, poderá criar uma Network ACL e adicionar regras.