Skip to main content
Um grupo de segurança é um conjunto nomeado de regras de permissão com estado. Não há regras de negação e não há ordenação: um pacote é permitido se qualquer regra em qualquer grupo anexado à interface o permitir, e descartado de outra forma.
As regras não fazem nada até que o grupo seja anexado a uma interface. Um grupo cheio de regras cuidadosamente escritas que nenhuma interface pertence não tem efeito em nenhum lugar.

A postura padrão

O que uma interface sem grupo faz, e a regra com a qual um novo grupo começa.

Regras de escrita

Campos obrigatórios, a fonte que não é opcional e por que não há atualização.

Anexar

A associação é um conjunto que você substitui, não uma lista que você acrescenta.

Regras da plataforma

Tráfego que é sempre permitido e a porta que é sempre bloqueada.

A postura padrão

Dois padrões diferentes importam aqui, e confundi-los é a fonte usual de “minhas regras não fazem nada”.
Negar por padrão, ambas as direções. Todos os pacotes são descartados, exceto quando a própria plataforma sempre ativada permite. Anexar nenhum grupo de segurança não é a opção permissiva — é a opção fechada.
Essa regra de saída padrão é IPv4 only. Uma interface de pilha dupla não tem saída ::/0 até que você adicione uma regra de saída ipv6, então uma instância habilitada para v6 que funciona sobre IPv4 pode falhar silenciosamente sobre IPv6 com um grupo que parece estar aberto.

Regras

Vá para Networking → Security Groups — Create Security Group cria um, com um Name e uma Description opcional — depois abra-o e escolha Add inbound rule ou Add outbound rule. Qual botão você pressionou é a direção da regra; não há nenhum campo de direção na caixa de diálogo, e o bloco onde você nomeia a outra extremidade é encabeçado Source ou Destination para corresponder.Escolha uma predefinição de Service — HTTPS (443), SSH (22), PostgreSQL (5432) e assim por diante — ou deixe-a em Custom e defina IP Version, Protocol e Port Range você mesmo. Port Range é um campo que toma uma única porta ou um intervalo, onde a API toma port_min e port_max separadamente. Em seguida, escolha CIDR ou Security Group para a fonte e confirme com Add Rule.As guias Inbound e Outbound do grupo listam o que ele contém, cada linha com uma ação Delete rule.
ingress | egress
obrigatório
Para uma regra egress, remote_cidr e source_security_group_id nomeiam o destination. Os nomes dos campos não mudam com a direção.
tcp | udp | icmp | all
obrigatório
ipv4 | ipv6
Padrões para ipv4. Uma regra corresponde a apenas uma família; escreva duas regras para ambas.
integer
Necessário para tcp e udp, e rejeitado sem eles. Ignorado — e limpo — para icmp e all. O intervalo deve satisfazer 0 ≤ port_min ≤ port_max ≤ 65535. Para uma única porta, defina ambos para ela.
string | uuid
obrigatório
Exatamente um dos dois é necessário. Eles são mutuamente exclusivos, e omitir ambos é rejeitado — não há nenhuma abreviatura de “qualquer fonte”; escreva 0.0.0.0/0 ou ::/0 explicitamente. remote_cidr deve corresponder ao ethertype da regra.
As regras são apenas de criação e exclusão; não há atualização. Para alterar um, exclua-o e crie o substituto.

Nomear outro grupo como a fonte

Em Add inbound rule, alterne o bloco Source de CIDR para Security Group e, em seguida, Pick a source security group.
Isso significa “qualquer carga de trabalho nesse grupo”, combinada pelos endereços de seus membros atuais. Adicionar uma instância à camada de aplicativo torna o banco de dados acessível a partir dela sem alteração de regra, e remover uma a fecha novamente. Isso evita a manutenção de listas de CIDR que ficam desatualizadas toda vez que uma camada é dimensionada.

Stateful

O tráfego de retorno de uma conexão permitida é permitido automaticamente. Você não escreve uma regra espelhada na direção oposta — uma regra de entrada para TCP 443 já deixa as respostas sair.

Anexando grupos a uma interface

A associação pertence à interface, não ao grupo. Não há nada na própria página de um grupo de segurança que o anexe a qualquer coisa.
Abra a NIC em Networking → Interfaces e escolha Attach security group; a caixa de diálogo observa que as regras do grupo “começam a filtrar o tráfego desta interface assim que ela é anexada.” Sua aba Security groups lista o que está anexado, cada linha com uma ação Detach security group.O console adiciona e remove um grupo de cada vez e recria a lista completa para você, para que você não precise pensar sobre a semântica definida abaixo.
PUT substitui toda a associação atomicamente. É um conjunto, não um apêndice: envie a lista completa que você quiser, porque qualquer coisa que você deixar de fora é separada. Enviar {"security_groups": []} remove todos os grupos da interface, o que deixa tudo descartado.Esta é a armadilha que o console esconde — leia a lista atual com o GET, adicione ou solte seu id, e envie tudo de volta.
Cada id tem que ser um grupo que sua conta possui. Quando vários grupos se aplicam a uma interface, suas regras de permissão são unidas — uma interface é pelo menos tão aberta quanto seu grupo mais permissivo. Não é possível subtrair com um grupo de segurança; para restringir uma interface, remova o grupo que permite o tráfego. A exclusão de um grupo é recusada enquanto qualquer interface ainda pertence a ele. Esvazie a associação em cada interface primeiro. name é imutável; description e tags podem ser corrigidos.

O que a plataforma impõe independentemente

Uma pequena faixa de regras fica acima da sua. Você não pode substituí-los ou removê-los por meio desta API.

Sempre permitido

DHCP, descoberta de vizinhos IPv6 e o ponto de extremidade de metadados local de link em 169.254.169.254. Cada instância precisa deles para alugar seu endereço e para acessar os metadados da instância na inicialização, para que eles sobrevivam a uma postura de negação padrão — caso contrário, uma instância bloqueada corretamente nunca poderia terminar de inicializar.

Sempre bloqueado: TCP 25 de saída para a internet

O SMTP direto para MX de uma instância comprometida ou alugada é a maneira mais rápida de um intervalo de endereços ser incluído em uma lista de bloqueio de spam, e o custo disso recai sobre todos que compartilham o intervalo. O envelope carrega seu endereço, então o bloqueio está na porta 25 especificamente.
As portas de envio 465, 587 e 2525 não estão bloqueadas. O correio entregue a um provedor autenticado sai dos endereços desse provedor carregando a reputação desse provedor, então bloquear esses não compra nada e quebra uma grande quantidade de software que só fala SMTP.A exclusão da porta 25 também exclui destinos privados, de modo que seu próprio servidor de e-mail dentro da VPC permanece acessível a partir de outra instância.

Próximo

Interfaces

O que é uma NIC e como ela obtém seus grupos de segurança.

Roteamento

Os grupos de segurança decidem o último salto. O roteamento decide se o pacote chega.