Rafael Conceição
Posted on November 15, 2021
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
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
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:
Apresentação sobre EC2 instance metadata
Posted on November 15, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.