Creazione del servizio per distribuire le password all'architettura

0

Abbiamo un grande codice legacy che funziona per grandi società che si connettono a più database remoti / locali.

I file di configurazione con IP, nome e password per la connessione a diversi database ora vengono gestiti manualmente. Abbiamo questi file in git, ma le nostre password ruotano su una pianificazione diversa rispetto alla nostra implementazione, quindi dobbiamo modificare direttamente le configurazioni sui nostri server (produzione, UAT, testing, sviluppo).

Questo è un compito davvero noioso e gli errori vengono visualizzati regolarmente. Diversi server sono collegati a diversi database e la connessione più volte con password errata bloccherà l'id.

Stiamo pensando di creare un servizio per distribuire i file di configurazione nei server. L'idea è che ogni mezzanotte alcuni script bash sul server accedano a questo servizio e riscrivano i file di configurazione con i dati forniti da questo servizio.

Quindi, abbiamo solo bisogno di memorizzare il nome del server (per comunicare al servizio, di quale configurazione abbiamo bisogno) e la chiave SSH per connettersi al servizio.

La domanda è: questa è una buona soluzione? Vedo il problema che quando una chiave SSH viene compromessa, tutte le nostre password sono disponibili. C'è qualche altro modo più standard per risolvere il nostro problema?

    
posta Tomáš Šíma 23.09.2015 - 10:06
fonte

1 risposta

1

Puoi utilizzare alcuni strumenti di gestione della distribuzione come Ansible (il mio preferito, ha bisogno solo di python2 e pubblico SSH chiavi aggiunte sui nodi del server), Chef, Salt e Puppet.

The question is, is this good solution? I see the problem that when one ssh key gets compromised, than all our passwords are available. Is there some other more standard way to solve our problem?

Puoi utilizzare diverse chiavi SSH per diversi server / servizi e avere questo servizio di distribuzione su dispositivi di piccole dimensioni (come Raspberry Pi), che non ha nessuna porta aperta (no SSH, solo gestione locale!).

E in "strong scenario di sicurezza" proteggere le chiavi SSH con password che verrà fornita da un amministratore (ogni giorno) e memorizzata in memoria crittografata (e protetta da IOMMU ).

    
risposta data 23.09.2015 - 12:26
fonte