DEV Community

Cover image for Limitar o acesso ao serviço de metadados de instâncias AWS EC2
Rafael Conceição
Rafael Conceição

Posted on • Updated on

Limitar o acesso ao serviço de metadados de instâncias AWS EC2

Motivação

Limitar o acesso aos metadados de uma instância faz parte de uma estratégia de segurança em camadas, que tem como objetivo impedir o acesso aos metadados por usuários/aplicações não autorizadas.

Essa ação soma-se à utilização do IMDSv2.

Limitando o acesso

Podemos utilizar regras de iptables para limitar o acesso, permitindo acesso a usuários ou grupos específicos.

O exemplo a seguir libera o acesso ao serviço de metadados da instância por todos os processos em execução na conta do usuário "app".

sudo iptables -I OUTPUT 1 --proto tcp --destination 169.254.169.254 --match owner --uid-owner app --jump ACCEPT
Enter fullscreen mode Exit fullscreen mode

O exemplo a seguir impede o acesso ao serviço de metadados da instância por todos os processos, exceto os processos em execução na conta do usuário root.

sudo iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner ! --uid-owner root --jump REJECT
Enter fullscreen mode Exit fullscreen mode

A ordem é fundamental, a regra de bloqueio deverá ser a última.

Obs.: O módulo owner do iptables só corresponderá à associação do grupo se o grupo for o grupo primário de um determinado usuário local. Outros grupos não são correspondidos.

Criei uma role Ansile para ser utilizada na configuração das instancias ou no processo de criação de AMIs

Repositório: EC2 Metadata Service restrict access

A configuração o acesso ao metadata está sendo limitado somente ao usuário root e/ou aqueles usuários que realizam sudo

Referências:

As configurações foram feitas seguindo as seguintes documentações:

Documentação oficial da AWS

Apresentação sobre EC2 instance metadata

PDF da Apresentação sobre EC2 instance metadata

Documentação oficial do Ansible - Módulo Iptables

Top comments (0)