Come affrontare le password durante la distribuzione automatizzata?

Come amministratori responsabili conosciamo di comuni punti deboli come

  • CWE-260: Password nel file di configuration http://cwe.mitre.org/data/definitions/260.html
  • CWE-522: credenziali insufficienti protette http://cwe.mitre.org/data/definitions/522.html
  • CWE-257: Memorizzazione delle password in un formato recuperabile http://cwe.mitre.org/data/definitions/557.html

Ma come ci occupiamo in pratica?

  • oracle lsnrctl TNS-12545: il collegamento è fallito perché l'host o l'object target non esistono
  • Devo utilizzare l'uso di "linux2628" o "linux26" di haproxy?
  • capire la relazione tra Qemu e KVM
  • GPO con SAMBA come DC
  • È disponibile un'applicazione Linux per il monitoraggio delle scansioni di porte?
  • Come limitare la dimensione del file di registro in Apache2
  • Naturalmente con tecnologie come l'authentication password tramite SSH e strumenti come sudo, è ansible sbarazzarsi di credenziali di accesso memorizzate in luoghi importnti e questo aiuta veramente durante l'installazione automatizzata di server Linux.

    Ma non appena si lascia il sistema operativo e si installano le applicazioni, le probabilità sono alte che si è confrontati con il problema where salvare saldamente le password.

    Ad esempio se si installa un server di database, è più probabile che si desideri salvare la password di un text libero in un file di configuration dell'applicazione Web.

    Quindi è necessario proteggere il file di configuration in modo che solo l'amministratore sia in grado di visualizzare le credenziali e limitare le autorizzazioni di accesso dell'utente di database al fine di limitare l'impatto di sicurezza ansible.

    Ma come affrontare ad esempio il principale account di database amministrativo? Alless il tuo dbas dovrebbe conoscerlo (quindi hai bisogno di un text chiaro) e come amministratore di sistema non dovresti conoscere le credenziali. O la distribuzione è fatta da devops e non dovrebbero conoscere nessuna delle credenziali sui server di produzione.

    Possibili soluzioni

    Dopo aver pensato questo per un lungo periodo di tempo, mi presento tre possibili soluzioni ma hanno debolezze proprie:

    1. Genera credenziali casuali durante la distribuzione e lo memorizza in un database in un modo di scrivere una volta. E ad esempio dbas ha un altro utente che può leggere solo credenziali di database. Ma come gestire le password di chiusura del text nei file di configuration di p.es. webapp? Un utente root può leggerli. Anche l'utente principale del database di password potrebbe leggere tutte le credenziali di password.

    2. Accetta password e credenziali predefinite durante la distribuzione e aggiunge un postScript che modifica tutte le password. Forse anche interattivo where le persone autorizzate devono immettere le credenziali durante il runtime dello script.

    3. Crittografa la password asimmetricamente con la chiave di una terza parte affidabile. Quando viene richiesta la password, deve essere modificata in seguito.

    Cosa ne pensi? Vedi qui tutte le pratiche migliori?

  • Il consulente SEO desidera credenziali di sistema
  • C'è un'utilità di linea di command di Windows per verificare le credenziali dell'utente?
  • Perché il RDP non accetterà le mie credenziali memorizzate e mi fa entrare manualmente each volta?
  • Credenziali utente di Jenkins non mostrando il progetto
  • Wget: C'è un modo per passare nome utente e password da un file?
  • Windows 7 - Criteri di gruppo - Consenti di salvare i credenziali di RDP
  • One Solution collect form web for “Come affrontare le password durante la distribuzione automatizzata?”

    1. Dovresti avere un database sicuro e criptato con tutte le tue credenziali
    2. Un server dovrebbe essere totalmente inaccessibile dall'esterno dalla virtù dei firewall durante l'installazione
    3. È bene avere uno script generare un passaggio random e inviarlo via email
    4. E 'anche bene modificare la password dopo che il server è stato fornito, PRIMA di aver consentito l'accesso al pubblico
    5. Se ti invii la posta elettronica, la password è buona, fintanto che utilizza il tuo server di posta interno e non viene indirizzata tramite il pubblico tramite SMTP (SMTPS è una storia diversa)

    È ansible sostituire l'email per qualsiasi protocollo. Potresti sftp una password da qualche parte, creare un messaggio di una volta usando il onetimesecret api, caricarlo in un gist privato usando https o qualsiasi altra cosa che si possa pensare.

    Penso che questo lo copri.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.