Come archiviare in modo sicuro le credenziali in variabili bash?

0

Ho bisogno di memorizzare le credenziali dell'utente in una variabile di script della shell poiché sono richieste per più richieste a un'API REST. Non verrà memorizzato nel file di script bash stesso: all'utente viene richiesto di inserire le credenziali e queste verranno riutilizzate durante l'esecuzione dello script.

Qual è il modo migliore per archiviarli in modo che nessun altro processo non privilegiato possa leggere tali variabili?

    
posta Thomas R 07.02.2017 - 10:03
fonte

1 risposta

3

L'archiviazione delle credenziali in testo semplice è sempre un caso complicato, dipende da caso per caso. La regola principale è: non memorizzare mai la password all'interno dello script.

Se lo script verrà eseguito solo manualmente (qualcuno che esegue lo script), non memorizzare la password sullo script, invece, fai in modo che lo script chieda la password ogni volta che viene eseguito.

Se lo script verrà eseguito automaticamente:

  • Crea un utente specifico per lo scopo che ti serve. assicurati che l'utente abbia le autorizzazioni minime possibili. Assicurati che l'utente non abbia accesso a nessun altro file e non abbia il permesso di eseguire altro che lo script di cui hai bisogno.
  • Crea un file contenente la password e fai leggere lo script da questo file. Assicurati che questo file di password non possa essere letto da nessun altro.
  • Le password sono l'unico modo per autenticarsi? Alcune applicazioni supportano chiavi private / pubbliche. Se puoi, usalo. Assicurati che la chiave privata sia sicura.
  • Tieni presente che le probabilità che tali credenziali vengano compromesse sono aumentate solo dal fatto che le hai archiviate. Tenendo presente ciò, pianificare le azioni di mitigazione, ad esempio, assicurarsi che l'account disponga delle autorizzazioni minime possibili, assicurarsi che l'account possa accedere solo da un server specifico, implementare uno strumento di monitoraggio dei registri (o un SIEM) per essere avvisato quando questo account è usato.

C'è un ottimo articolo sullo scambio di stack unix su questo argomento , ti consiglio di controllarlo prima di implementare qualsiasi script con password.

    
risposta data 07.02.2017 - 10:45
fonte

Leggi altre domande sui tag