Controle o acesso à rede interna entre instâncias do ECS com regras de grupo de segurança e microssegmentação.
Riscos de segurança
Por padrão, todas as instâncias do ECS na mesma VPC têm conectividade de rede total. Isso gera riscos de segurança, como movimentação lateral e acesso não autorizado. Por exemplo, uma instância comprometida pode propagar ameaças para outras instâncias na mesma rede. Serviços internos frequentemente possuem autenticação e autorização fracas, o que os torna alvos fáceis.
Grupos de segurança isolam clusters de serviços e bloqueiam o acesso lateral entre instâncias para mitigar esses riscos.
Práticas recomendadas
Isole clusters de serviços com grupos de segurança
Considere dois clusters de instâncias do ECS: um cluster de banco de dados e um cluster de servidores web. As instâncias do cluster de banco de dados precisam se comunicar entre si, mas as do cluster de servidores web não. O objetivo é permitir que o cluster de servidores web acesse apenas as portas de serviço do cluster de banco de dados.
Considere que o cluster de banco de dados utiliza 10.1.0.0/24 e o cluster de servidores web utiliza 10.2.0.0/24. A porta de serviço é 5432 (padrão do PostgreSQL). O objetivo é permitir que apenas o cluster de servidores web acesse a porta 5432 do cluster de banco de dados e negar todos os demais acessos. Uma configuração possível:
-
Crie o Grupo de Segurança A. Adicione uma regra de entrada para permitir tráfego de 10.2.0.0/24 para a porta de destino 5432 com prioridade 1. Associe as instâncias do cluster de banco de dados ao Grupo de Segurança A.
-
Crie o Grupo de Segurança B. Associe as instâncias do cluster de servidores web ao Grupo de Segurança B.
Nota: Por padrão, um grupo de segurança nega todo o tráfego de entrada não explicitamente permitido e permite todo o tráfego de saída não explicitamente negado. Nenhuma regra de negação adicional é necessária para o Grupo de Segurança A, e nenhuma regra de permissão é necessária para o Grupo de Segurança B.
Tags permitem associar instâncias do ECS a um grupo de segurança em lote. Por exemplo, adicione a tag cluster:PostgreSQL a todas as instâncias do cluster de banco de dados e ao Grupo de Segurança A, e execute o modelo do OOS ACS-ECS-CorrectSecurityGroupInstancesByTags com o valor da tag como parâmetro. Consulte Usar tags para localizar instâncias do ECS e adicioná-las a um grupo de segurança com a mesma tag.
Isole instâncias dentro de um grupo de segurança
No exemplo anterior, as instâncias de servidores web não precisam se comunicar entre si, e o cluster de banco de dados necessita apenas de algumas portas para sincronização e gerenciamento. Permitir toda a comunicação interna é desnecessário e aumenta o risco de movimentação lateral.
A microssegmentação bloqueia toda a comunicação entre instâncias em um grupo de segurança por padrão. É necessário permitir explicitamente portas específicas.
-
Grupos de segurança empresariais: o isolamento interno é obrigatório e não permite modificação.
-
Grupos de segurança básicos: por padrão, as instâncias podem se comunicar entre si. O sistema adiciona uma regra oculta de permissão com a prioridade mais alta, e regras personalizadas se aplicam apenas ao tráfego externo. Para desativar a comunicação interna, altere a política de conectividade interna para isolamento interno na página do produto do grupo de segurança.
Em seguida, permita explicitamente o tráfego nas portas internas necessárias. Por exemplo, se o cluster de banco de dados (10.1.0.0/24) necessita da porta 2379 para comunicação interna, adicione uma regra ao Grupo de Segurança A para permitir tráfego de entrada de 10.1.0.0/24 para a porta de destino 2379 com prioridade 1.
Nota: se uma instância pertence a vários grupos de segurança em que um permite tráfego interno e outro aplica isolamento, o efeito combinado é permitir o tráfego interno.
Verifique o efeito combinado de vários grupos de segurança
Uma instância pode pertencer a vários grupos de segurança. As regras de todos os grupos são combinadas e aplicadas por prioridade. Para evitar resultados inesperados, verifique as regras combinadas finais na página do grupo de segurança da instância.
Na página de detalhes da instância, clique na aba Security Groups e selecione a subaba All Inbound Rules on Intranet. Nessa página, é possível visualizar a lista consolidada de regras de todos os grupos de segurança associados. A lista inclui colunas como Priority, Action, Protocol, Port Range e Source.
Conformidade
Verifique regras excessivamente permissivas
Analise os padrões de comunicação com VPC flow logs para identificar regras de grupo de segurança excessivamente permissivas e reforçar as permissões.