Firewall desativado.
iptables -A OUTPUT -m owner ! --uid-owner root -d 169.254.169.254 -j DROP
Esta regra proíbe qualquer usuário que não seja o usuário root de abrir conexões para 169.254.169.254.
A API de metadados da instância do AWS EC2 fornece muitas funcionalidades úteis. Qualquer pessoa na instância real do EC2 pode fazer uma chamada para http://169.254.169.254/
e ver metadados para a instância da qual a chamada foi feita. A segurança da API é tal que apenas verifica se a chamada é originária da instância. Portanto, se eu permitir que alguém execute um código em minha instância, eu gostaria de saber como bloquear melhor o acesso a esse URL específico, mantendo o acesso a mim mesmo.
Como destaque, fiquei surpreso ao descobrir que a API de metadados também pode ser acessada via http://instance-data/
(que encontrei acidentalmente em algum lugar).
Eu posso inspecionar os URLs que estão sendo chamados por todo o código em execução nesta instância, mas suponho que essa não seja uma boa abordagem, dados os endereços IPv6 (possivelmente) ou algumas codificações de URI estranhas que seriam resolvidas nos metadados IP (169.254.169.254), ou alguns URLs não documentados (ao que parece) como http://instance-data/
.
Tags amazon-ec2 metadata ip