
Previeni gli attacchi SSRF su AWS EC2 tramite aggiornamenti automatici al più sicuro Instance Metadata Service v2 (IMDSv2).
Previeni gli attacchi SSRF su AWS EC2 tramite aggiornamenti automatici al più sicuro Instance Metadata Service v2 (IMDSv2).
Scopo e funzionalità
I team di ingegneria possono disporre di un'ampia varietà di infrastrutture di calcolo in AWS che devono proteggere da determinate vulnerabilità che sfruttano il servizio di metadati. Il servizio di metadati è necessario per funzionare sulle istanze se viene utilizzato qualsiasi IAM o se ci sono dati utente di cui l'istanza potrebbe aver bisogno all'avvio. Limitare la superficie di attacco delle tue istanze è fondamentale per impedire la possibilità di muoversi lateralmente nell'ambiente rubando informazioni fornite dal servizio stesso. Numerosi attacchi famosi in passato hanno sfruttato questo particolare servizio per sfruttare un ruolo associato all'istanza o per scaricare dati sensibili accessibili tramite il servizio di metadati. Metabadger può aiutare a identificare dove e come usi il servizio di metadati dell'istanza, dandoti anche la possibilità di ridurre qualsiasi potenziale sfruttamento indesiderato per abbassare il tuo profilo di rischio complessivo mentre operi in EC2.
L'uso di questo strumento potrebbe influenzare la tua infrastruttura di calcolo AWS poiché non tutti i servizi e le applicazioni potrebbero funzionare senza il servizio di metadati o sulla versione 2. Usa cautela quando lo distribuisci nel tuo ambiente di produzione e tieni pronto un piano di rollback nel caso qualcosa sembri anomalo. Metabadger include la funzionalità integrata per tornare alla versione 1 predefinita del servizio usando il flag -v1, che puoi utilizzare per ripristinare rapidamente le tue istanze all'impostazione predefinita. Idealmente, dovresti eseguire questo strumento e aggiornare la versione dei metadati in ambienti non di produzione come banco di prova prima di applicarlo.
Passo 1
Inizialmente, vogliamo scoprire il nostro uso complessivo del servizio di metadati in una particolare regione AWS. Metabadger valuterà lo stato attuale del tuo utilizzo nella regione in cui puntano le tue credenziali nel tuo file /.aws/credentials o nel ruolo attualmente assunto. Puoi anche specificare il flag --region quando esegui il comando discover-metadata se desideri cambiare regione rispetto a quella attualmente configurata. Una volta che hai un'idea chiara di quale versione stanno eseguendo le tue istanze e se il servizio è abilitato o disabilitato, sarai in grado di creare un piano d'azione molto più definito per l'hardening del servizio. Nota che puoi trovare il significato specifico di ogni opzione di metadati impostata qui.
Passo 2
Una delle aree da valutare quando si passa alla versione 2 del servizio è l'uso dei ruoli IAM. Metabadger ti consente di identificare le istanze in una regione che potrebbero già utilizzare un ruolo IAM. Il comando discover-role-usage restituirà un elenco di istanze a cui sono associati ruoli. Se hai molte istanze che usano ruoli, dovresti prendere precauzioni durante l'aggiornamento del servizio alla versione 2 per garantire che la funzionalità complessiva dei tuoi carichi di lavoro non venga compromessa.
Passo 3
Completata la scoperta e la valutazione iniziale, ora puoi creare un approccio graduale per l'hardening della tua infrastruttura di calcolo, in modo che usi la versione 2 del servizio di metadati o lo disabiliti dove non viene utilizzato. Il comando harden-metadata ti consente di aggiornare tutte le istanze in una particolare regione per impostazione predefinita. Puoi anche passare tag delle istanze usando il flag --tags o un file di input contenente un CSV di istanze a cui desideri applicare una configurazione. Una volta effettuati gli aggiornamenti appropriati alla versione 2 e disabilitato il servizio dove non viene utilizzato, puoi rivalutare usando gli elementi del Passo 1 per confermare che il tuo ambiente sia bloccato. Se hai determinate istanze che non vuoi aggiornare, puoi escluderle tramite il flag --exclusion tramite tag o ID dell'istanza.
Metabadger richiede un ruolo IAM o credenziali con i seguenti permessi:
ec2:ModifyInstanceAttribute
ec2:DescribeInstances
Quando apporti modifiche al servizio di metadati dell'istanza, dovresti essere cauto e seguire ulteriori indicazioni da AWS su come aggiornare in sicurezza alla versione 2. Metabadger è stato progettato per assisterti in questo processo per proteggere ulteriormente la tua infrastruttura di calcolo in AWS.
Guida alle migliori pratiche AWS per l'aggiornamento a IMDSv2
Installa tramite pip
pip3 install --user metabadger
Installa tramite GitHub
$ git clone https://github.com/salesforce/metabadger
$ cd metabadger
$ pip install -e .
$ metabadger
Usage: metabadger [OPTIONS] COMMAND [ARGS]...
Metabadger è uno strumento di sicurezza AWS utilizzato per scoprire e
rafforzare il servizio di metadati dell'istanza.
Options:
--version Mostra la versione ed esce.
--help Mostra questo messaggio ed esce.