Bloqueio de conexões de instâncias da AWS

1

Eu tenho um par de instâncias do EC2, que vão desde servidores front-end, servidores back-end, servidores de banco de dados e servidores de nó. Todos eles se comunicam juntos e às vezes os desenvolvedores precisam acessar esses servidores para que eu tenha certas portas abertas para aceitar conexões de qualquer IP após a verificação.

Como não sou especialista em segurança, estou preocupado com a possibilidade de estar faltando alguma coisa e abrir esses portais para a massa poderia expor meus servidores a serem acessados por convidados indesejados. Então, eu estava pensando em bloquear todas as conexões com meus servidores, para serem aceitas somente pela rede VPC (Virtual Private Cloud) à qual estão conectadas. Então, para qualquer um, incluindo meus desenvolvedores, poder acessar os servidores que eles têm primeiro para conectar o VPC. Por isso, todas as conexões de partes indesejadas serão automaticamente rejeitadas pelo AWS Cloud Firewall.

Minha pergunta aqui, o que posso usar para fazer isso? Ou qual é a melhor abordagem? Eu tenho alguns tutoriais para diferentes cenários, mas não tenho ideia do que funcionaria. Tenho um artigo sobre o AWS VPN CloudHub, os servidores VPN do mercado para serem executados em instâncias normais do EC2 ou com o AWS Managed VPN Connection.

EDIT: também encontrei um serviço chamado AWS PrivateLink

    
por MZaza 07.10.2018 / 15:45

1 resposta

1

Você deve usar um host de bastiões junto com uma DMZ .

Host de bastões

Também chamado de "Jump Host". Seus servidores de aplicativos (app, db, etc) são configurados para que não haja rota direta para eles da Internet, apenas para os servidores da web. Se esses servidores de back-end precisarem de acesso à Internet, por exemplo, para atualizações, use um NAT gateway ou instância NAT .

Qualquer administração de servidores, porta 22 / RDP, deve passar pelo bastião. Esse bastião é bloqueado com uma variedade de métodos, incluindo apenas aceitar solicitações de endereços IP específicos (usar grupos de segurança e / ou NACLs) e precisar de um certificado para efetuar login (esse é o padrão com a AWS). Você pode enlouquecer e implementar autenticação multifator, mas não sei como isso seria feito - nunca tentei.

DMZ

O DMZ faz parte de uma arquitetura N tier. Isso ajuda a garantir que não haja rota da Internet para seus servidores de aplicativos / banco de dados.

Outras opções

Outra opção é colocar seu servidor da web atrás de um WAF / CDN, como AWS CloudFront ou CloudFlare (que tem um nível gratuito). Esses geralmente reconhecem e interrompem os ataques da camada 7 e ataques DDOS. Você usa um firewall para garantir que ninguém possa se conectar diretamente aos seus servidores da Web, que eles devem passar pelo WAF / CDN.

Um balanceador de carga da AWS inclui o AWS Shield Basic, que fornece outra linha de defesa. Segurança é muitas vezes sobre estratificação de defesas.

A proteção / detecção de invasões é outra coisa que você pode fazer, mas não é trivial e pode ser mais do que o necessário.

Notas

Há muitas outras coisas que você poderia fazer, mas as que estão acima são provavelmente as principais. Os sistemas que precisam de alta segurança tendem a ter vários profissionais de segurança trabalhando por semanas ou meses para protegê-los.

É improvável que o Privatelink seja útil para você. É conectar-se às VPCs para fornecer serviços diretamente, e não pela Internet.

    
por 07.10.2018 / 20:19