Vários grupos de segurança EC2 - permissivos ou restritivos?

27

O que acontece quando eu atribuo vários grupos de segurança a uma instância? É permissivo no sentido em que o tráfego é permitido se algum dos grupos de segurança permitir. OU é restritivo no sentido de que todo grupo de segurança deve permitir que o tráfego seja transmitido?

Por exemplo, digamos que eu tenha uma classe de instâncias que só conversem com outras instâncias na mesma conta. Eu também tenho uma classe de instâncias que só aceitam tráfego via HTTP (porta 80).

É possível restringir o acesso a instâncias internas e somente via HTTP criando e aplicando dois grupos de segurança:

  1. Um grupo de segurança "interno". Permitir todo o tráfego de outros membros desse grupo de segurança em todas as portas para todos os transportes (TCP, UDP, ICMP)
  2. Crie um grupo de segurança "http". Permita todo o tráfego na porta 80 via TCP de qualquer origem.

OU sou forçado a criar um único grupo de segurança que permita o tráfego da porta 80 onde a origem é ela mesma?

SFun28
fonte

Respostas:

5

Se uma instância tiver vários grupos de segurança, ela terá a soma de todas as regras nos vários grupos.

Por exemplo, digamos que eu tenha uma classe de instâncias que só conversem com outras instâncias na mesma conta. Eu também tenho uma classe de instâncias que só aceitam tráfego via http (porta 80).

Essa é uma situação perfeita para o AWS Virtual Private Cloud. Coloque as instâncias internas em sub-redes privadas e as instâncias voltadas para o público em sub-redes públicas.

ceejayoz
fonte
ceejayoz - Então é o caso "restritivo"? O que significa que a solução de dois grupos de segurança funcionaria? Concordou com a solução VPC; meu exemplo foi mais para entender como vários grupos funcionam. Onde você encontrou a resposta pelo caminho?
precisa saber é o seguinte
Você deseja um grupo de segurança para instâncias internas e outro para as instâncias voltadas para o público. Adicionar o grupo 80: 0.0.0.0/0 voltado para o público em instâncias internas os disponibilizaria na Internet pública.
ceejayoz
1
Para ser super claro, você está dizendo que o tráfego é permitido se algum dos grupos de segurança individuais permitir? Estou sendo surpreendido pelo seu comentário sobre a "soma de todas as regras" porque, quando penso na soma, penso AND em vez de OR.
precisa saber é o seguinte
2
Sim, se algum dos grupos aplicados a uma instância permitir, é permitido. As regras de grupo são ORed juntas, não ANDed.
ceejayoz
7
Por que as pessoas não podem simplesmente responder à pergunta, em vez de inserir sua idéia do que deve ser feito? Se você vai fazer isso, pelo menos responda corretamente à pergunta primeiro. Jeez
Bill Rosmus
28

Permissivo.

De acordo com a AWS aqui: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

Se houver mais de uma regra para uma porta específica, aplicaremos a regra mais permissiva. Por exemplo, se você tiver uma regra que permita o acesso à porta TCP 22 (SSH) do endereço IP 203.0.113.1 e outra regra que permita o acesso à porta TCP 22 de todos, todos terão acesso à porta TCP 22.

euphoria83
fonte
3

Aqui está a resposta do suporte da documentação da AWS. Eles disseram que atualizariam a documentação:

Encontrei algumas postagens em fóruns de discussão que abordam problemas semelhantes com regras conflitantes em um ou mais grupos de segurança:

https://forums.aws.amazon.com/thread.jspa?messageID=221768

https://forums.aws.amazon.com/thread.jspa?messageID=349244吼

Quando vários grupos de segurança são aplicados a uma instância, as regras são agregadas para criar um grande conjunto de regras. No EC2, as regras do grupo de segurança são apenas permitidas, ou seja, você não pode adicionar nenhuma regra DENY. O que isso significa é que a regra mais permissiva sempre será aplicada. Por exemplo, se você tiver um grupo de segurança que permita o acesso à porta 22 a partir do endereço IP 10.10.10.10 e outro grupo de segurança que permita o acesso à porta 22 por todos, todos terão acesso à porta 22 na instância.

SFun28
fonte
0

Quando você especifica um grupo de segurança como a origem ou o destino de uma regra, a regra afeta todas as instâncias associadas ao grupo de segurança. O tráfego de entrada é permitido com base nos endereços IP privados das instâncias associadas ao grupo de segurança de origem (e não nos endereços IP público ou Elastic IP). Para obter mais informações sobre endereços IP, consulte Endereçamento IP da instância do Amazon EC2. Se sua regra de grupo de segurança referenciar um grupo de segurança em uma VPC de mesmo nível e o grupo de segurança referenciado ou a conexão de emparelhamento de VPC for excluída, a regra será marcada como obsoleta. Para obter mais informações, consulte Trabalhando com regras de grupo de segurança obsoletas no Amazon VPC Peering Guide.

Se houver mais de uma regra para uma porta específica, aplicaremos a regra mais permissiva. Por exemplo, se você tiver uma regra que permita o acesso à porta TCP 22 (SSH) do endereço IP 203.0.113.1 e outra regra que permita o acesso à porta TCP 22 de todos, todos terão acesso à porta TCP 22.

Quando você associa vários grupos de segurança a uma instância, as regras de cada grupo de segurança são efetivamente agregadas para criar um conjunto de regras. Usamos esse conjunto de regras para determinar se deve permitir o acesso.

Cuidado Como você pode atribuir vários grupos de segurança a uma instância, uma instância pode ter centenas de regras que se aplicam. Isso pode causar problemas quando você acessa a instância. Portanto, recomendamos que você condense suas regras o máximo possível.

user377934
fonte