Come prevenire / chiamate firewall all'API dei metadati dell'istanza di AWS EC2?


14

L' API dei metadati dell'istanza AWS EC2 offre molte funzionalità utili. Chiunque sull'istanza EC2 effettiva può effettuare una chiamata http://169.254.169.254/e visualizzare i metadati per l'istanza da cui è stata effettuata la chiamata. La sicurezza dell'API è tale che controlla solo che la chiamata provenga dall'istanza. Pertanto, se consento a qualcuno di eseguire codice sulla mia istanza, vorrei sapere come bloccare al meglio l'accesso a quell'URL particolare mantenendo l'accesso me stesso.

Come punto culminante, sono stato sorpreso di scoprire che è anche possibile accedere all'API Metadata tramite http://instance-data/(che ho trovato per caso da qualche parte).

Sono in grado di ispezionare gli URL chiamati da tutto il codice in esecuzione su questa istanza, ma suppongo che questo non sia un buon approccio dati gli indirizzi IPv6 (possibilmente), o alcune strane codifiche URI che si risolverebbero nell'IP dei metadati (169.254 .169.254), o alcuni URL non documentati (a quanto pare) come http://instance-data/.

Risposte:


25

Firewall it off.

iptables -A OUTPUT -m owner ! --uid-owner root -d 169.254.169.254 -j DROP

Questa regola impedisce a qualsiasi utente diverso dall'utente root di aprire le connessioni a 169.254.169.254.


Questo non impedirà l'uso "normale" di questo servizio. In genere il servizio viene chiamato da / obo l'utente EC2 che non è quasi mai il root.
Sam-T,

@ Sam-T Se hai bisogno dell'utente ec2 per accedervi, puoi certamente scrivere una regola per permetterlo.
Michael Hampton

Se impedisci a livello di firewall di consentire solo il root, non sei sicuro di come lo abiliteresti per l'utente EC2 (non lo so). Per utente EC2 - intendo chiunque abbia avviato l'istanza - la mia comprensione dei metadati è accessibile da questo (e qualsiasi altro) utente EC2 sull'istanza. Potresti fare un esempio
Sam-T,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.