Archiviazione sicura delle credenziali AWS su una macchina personale


10

Come posso archiviare in modo sicuro le credenziali AWS su macchine personali?

In dettaglio:

Tutti nel nostro team richiedono credenziali di sicurezza AWS per eseguire attività amministrative (le credenziali sono separate per ruolo). Queste credenziali sono generalmente archiviate in testo normale in alcuni file di configurazione sul disco. Penso che questo sia molto insicuro, soprattutto considerando che le credenziali sono distribuite sui membri del team, finiscono nel backup ecc.

Preferirei di gran lunga memorizzare queste credenziali in forma crittografata (simile alle chiavi ssh, ad esempio). Esiste un modo automatizzato per farlo? O devo hackerare alcuni script bash che usano ad esempio openssl per crittografare i dati?

Ci sono molte informazioni sul web su come proteggere le credenziali su un'istanza EC2. C'è anche questa funzionalità dei ruoli di Amazon IAM , ma si applica anche solo a EC2.


1
Questa è un'ottima domanda e sono molto interessato alle risposte.
Ceejayoz,

Risposte:


4

https://github.com/realestate-com-au/credulous potrebbe valere la pena indagare. Dalla descrizione del progetto:

credulous è uno strumento da riga di comando che gestisce le credenziali AWS (IAM) in modo sicuro . L'obiettivo è crittografare le credenziali utilizzando la chiave SSH pubblica di un utente in modo che solo l'utente che ha la chiave SSH privata corrispondente sia in grado di visualizzarle e utilizzarle. Inoltre, lo strumento consentirà inoltre all'utente di ruotare facilmente le proprie credenziali correnti senza interrompere il flusso di lavoro corrente dell'utente.

C'è un articolo di blog introduttivo su http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/ .


Fantastico, questo è esattamente quello che stavo cercando (e quello che non sono riuscito a trovare da solo ...)
arnuschky


4

Ottima domanda e, a seconda della persona che risponde, probabilmente avrai un paio di percorsi da percorrere. Ti darò un esempio di ciò che usiamo:

  1. Crea ruoli IAM basati su criteri utente (sviluppatore, infrastruttura, sicurezza, audit, ecc.) Per consentire o negare azioni specifiche in base all'accesso dell'utente.

Esempio: consenti tutte le azioni ec2 per l'amministratore. O consentire l'accesso solo in base a un tag o una sottorete per uno sviluppatore, ecc.

  1. Avviare le istanze di ec2 Linux usando ruoli IAM specifici. Avviare un'istanza per ciascun ruolo o utente specifico (regolare le dimensioni / il tipo di istanza in base alle esigenze, al budget, ecc.)

  2. Configurare il gruppo di sicurezza per ogni istanza per consentire solo subnet specifiche o singoli IP, in modo da poter bloccare l'ingresso del traffico su SSH.

  3. Imposta un utente / password personalizzati per SSH o unisciti al dominio.

  4. Avere ogni accesso utente o SSH all'istanza di Linux assegnato al loro ruolo o accesso dell'utente.

  5. Le chiavi API e l'accesso sono ora ereditati dal ruolo IAM dell'istanza stesso, rendendo irrilevante la necessità di archiviare le chiavi utente. Assicurati solo di bloccare il gruppo di sicurezza, concedi l'accesso solo a utenti specifici sulla scatola di Linux. L'utente dovrebbe essere in grado di scrivere script utilizzando l'API AWS / utilizzare normalmente la funzionalità degli strumenti API.

Usiamo questo metodo da circa un anno, con ulteriori modifiche alla sicurezza, come i tempi di accesso in leasing, acquistati in AWS HSM e funziona benissimo.

Spero che questo aiuti te o qualcun altro là fuori.


Bella idea, grazie! Non ci ho pensato. Nessuna opzione per noi al momento a causa dei costi, ma lo terrò a mente.
arnuschky,
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.