Seidor
AWS

25 de março de 2024

AWS: Recomendações de segurança para Security Groups

Neste artigo falaremos sobre os grupos de segurança da AWS. Embora não tenham nenhuma complexidade ao configurá-los, vários fatores devem ser considerados para manter um alto nível de segurança em sua infraestrutura. Um grupo de segurança nada mais é do que um firewall virtual que controla o tráfego. Portanto, mencionaremos várias práticas recomendadas para proteger os serviços. Muitas dessas práticas devem ser automatizadas para agilizar os processos.

O que entendemos por Security Groups?

Um security group funciona como um firewall virtual que controla a entrada e saída de tráfego das instâncias de EC2. Todas as instâncias devem ter associado um grupo de segurança. No caso de que não esteja especificado no momento de criar a instância, então é utilizado por padrão o grupo de segurança padrão da VPC. Um grupo de segurança padrão é denominado default, e a AWS lhe atribui um ID.

Como criar um grupo de Segurança com o console AWS?

  • Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.
  • No painel de navegação, escolha Security Groups (Grupos de segurança).
  • Escolha Create Security Group (Criar grupo de segurança).
  • Digite um nome para o grupo de segurança (por exemplo, my-security-group) e forneça uma descrição.
  • Em VPC, selecione o ID da sua VPC.
  • (Opcional) Adicione ou remova uma etiqueta.
  • [Adicionar uma etiqueta] Escolha Adicionar etiqueta e faça o seguinte:
  1. Em Key (Chave), digite o nome da chave.
  2. Em Value (Valor), digite o valor da chave.
  • [Remover uma etiqueta] Escolha Remover à direita da chave e do valor da etiqueta.
  • Selecione Create (Criar).

Recomendações de segurança para security groups da AWS

  1. Ativar o serviço VPC Flow Logs na sua VPC ou em qualquer nível de ENI (Elastic Network Interfaces). VPC Flow Logs pode ser configurado para aceitar e rejeitar todas as entradas que ocorrem através dos grupos de segurança para os diferentes serviços, como EC2, ELB ou RDS. As entradas registradas no VPC Flow Logs nos ajudarão a detectar ataques e atividades anormais.
  2. Deve-se usar AWS IAM (Identity and Access Management) para controlar os usuários da sua empresa que podem criar/modificar grupos de segurança. Portanto, que apenas tenham permissões os trabalhadores que sejam estritamente necessários.
  3. Ativar os logs do AWS CloudTrail para registrar todos os eventos dos grupos de segurança. Para alguns registros, você pode criar um e-mail automático que o informará no momento do evento, permitindo que você o revise imediatamente.
  4. Criar uma nomenclatura descritiva para os grupos de segurança. Dessa forma, com o nome você obtém informações do grupo correspondente. Pense que com o tempo você evitará a desordem. O conveniente é criar uma nomenclatura abreviando com 1 ou 2 caracteres as características do grupo que podem ser. O tipo de sistema operacional, tipo de ambiente, a região da AWS, o tipo de aplicação. Tenha em mente que o nome do grupo não deve ser tão explícito à primeira vista. Por exemplo, se você colocar o nome WinWebProdCRM, estará indicando aos hackers para que você usa esse grupo de segurança. Uma solução seria 0-Win 1-Linux, A-Produção, B-Desenvolvimento, C-Teste.
  5. Ao aplicar a nomenclatura para os grupos de segurança, recomenda-se eliminar os grupos que não a cumpram.
  6. Quando uma VPC é criada, um grupo de segurança padrão é criado automaticamente. Se ao criar uma instância, você não atribuir um grupo de segurança criado por você, a AWS o atribui por padrão. Isso não é uma boa prática. O recomendável é aplicar um grupo de segurança específico cada vez que uma instância for criada.
  7. Vigiar ao associar vários grupos de segurança a uma instância, dado que se cria um conjunto de regras. AWS utilizará este conjunto de regras para determinar se o acesso é permitido ou não e sempre prevalecerá a mais permissiva. Portanto, se uma instância EC2 tiver dois grupos de segurança associados, em um grupo há uma regra que permite o acesso pela porta 22 a partir da máquina 52.63.1.100 e outro grupo com uma regra que permite o acesso pela porta 22 para todo o mundo, a AWS aplica a mais permissiva e será possível acessar a partir de qualquer endereço pela porta 22.
  8. Uma recomendação consiste em não criar um grupo de segurança que tenha muitas portas abertas para todo o mundo. Por exemplo, se for um servidor web, abriremos apenas as portas HTTP e HTTPS para o tráfego de entrada: 0.0.0.0/0,TCP, 80 0.0.0.0/0,TCP, 443
  9. Não lançar servidores com portas padrão abertas como podem ser as 3306, 1630, 1433. Isso cria uma pequena camada de defesa para o grupo de segurança porque os hackers não saberiam quais portas atacar.
  10. Em algumas ocasiões, seja para uma intervenção externa ou para qualquer tipo de testes, deverão ser criadas momentaneamente regras excessivamente permissivas, o correto seria automatizar essa operação de forma que o grupo de segurança seja excluído automaticamente após X minutos.
  11. Tentar evitar abrir a porta SSH para outras instâncias do ambiente de produção. Se possível, abrir a porta SSH apenas para hosts da mesma VPC.
  12. Depois de mencionar a 11, fica claro que se deve evitar abrir a porta SSH para todo mundo. É muito comum aplicar esta regra às instâncias caso haja qualquer incidente e seja necessário acessar remotamente. É rápido e simples criar uma regra de segurança para dar acesso a um IP pela porta SSH caso seja necessário o acesso remoto em um determinado momento.
  13. Evitar abrir portas para os protocolos UDP ou ICMP em instâncias privadas.
  14. Evite também abrir intervalos de portas. Você pode adicionar um grande número de linhas de regras nos grupos de segurança para não precisar abrir diretamente intervalos.
  15. As instâncias que estão na rede privada devem ser abertas para os intervalos de IP da sua VPC, não faz sentido abrir para todo o mundo (0.0.0.0/0) se só será possível acessar a partir da sua VPC.
  16. Aplicar também regras de segurança de saída sempre que for aplicável dentro da sua VPC. Por exemplo, aplicar regra para restringir uma conexão FTP de qualquer servidor da internet para a sua VPC.
  17. Para certas instâncias aplicar também grupos de segurança no ELB usando-o desta maneira de proxy. Assim você dobra a segurança, embora aumente a latência.
  18. A Amazon Web Services dispõe de um documento altamente recomendável onde reúne um conjunto de boas práticas para manter sua infraestrutura segura na AWS.