Memorizzazione delle credenziali SSH, è necessario decrittografarle in seguito per la connessione mediante script python

-2

Sto sviluppando un'applicazione in cui è possibile aggiungere credenziali SSH per i server e quindi uno script python automatizzato può recuperare tali credenziali per accedere al server ed eseguire determinate attività automatizzate.

Il problema che sto affrontando è come archiviare in modo sicuro le credenziali SSH sul mio server in modo che lo script python possa recuperare in modo sicuro tali credenziali ed eseguire le sue attività. Inoltre, poiché le credenziali di più server verrebbero salvate sulla mia applicazione, se il mio server venisse compromesso, l'utente malintenzionato avrebbe accesso a molti server

Ovviamente non posso cancellare le password in quanto lo script python richiede la password effettiva per accedere al server. Quale potrebbe essere l'approccio raccomandato e gli algoritmi crittografici che posso utilizzare per memorizzare in modo sicuro tutte le credenziali.

    
posta Aneesh Relan 18.05.2018 - 12:53
fonte

1 risposta

-1

Per favore, non farlo. Affatto. O qualsiasi variazione di esso.

Se continui a seguire questa rotta, avrà una brutta falla da ripulire. Su una scala temporale sufficientemente lunga, è una certezza.

L'unico modo corretto per memorizzare qualsiasi password è in un hash salato con autorizzazioni molto restrittive, che non possono essere utilizzate per quello che stai chiedendo. Per archiviare le credenziali, è necessario bloccarlo su un singolo utente o su un account root e modificarlo a 400. In teoria, è possibile eseguire lo script python come utente specifico (o account di servizio) e rendere QUESTO utente il proprietario del file, ma ancora una volta - la memorizzazione di password in testo semplice non è mai, in nessun caso, una buona idea, perché i permessi dei file possono essere abusati. Se qualcuno dovesse compromettere il tuo server e ottenere root, potrebbe comunque cambiarli e ora sei passato da un singolo server compromesso a molti server compromessi. Tuttavia, probabilmente non è nemmeno necessario ottenere root per vedere questo file se non lo si configura correttamente.

Se stai memorizzando password per altri server, farebbe molto meglio usare una coppia di chiavi. Mantieni la chiave privata sul server remoto e usa ssh-copy-id per inviare la chiave pub al server su cui stai memorizzando le chiavi. Anche se questo non raggiunge la fine della memorizzazione di una password, è il metodo più sicuro per archiviare le credenziali per più server.

    
risposta data 18.05.2018 - 16:42
fonte

Leggi altre domande sui tag