Quanto è sicuro memorizzare una password codificata AES in un file?

0

Fondamentalmente, sto considerando di memorizzare una password codificata AES-Base64 in un file nascosto, con un permesso di 600, in una posizione insolita di un server Unix / Linux.

Quella password sarebbe stata usata da un automa nel crontab per connettersi ad altri server.

Quanto è grave questa idea? (Considerando che l'utente root è bloccato e che i server non hanno accesso a Internet e c'è un tunneling proxy per connettersi al server che manterrà questo file nascosto)

    
posta Felipe Siqueira 17.05.2017 - 06:44
fonte

2 risposte

1

In primo luogo, veramente devi usare le password? Le chiavi SSH sarebbero molto più adatte per "un automa nel crontab per connettersi ad altri server".

Se è necessario memorizzare tali password, l'installazione corretta creerebbe un account utente specifico (non root) per questo caso, memorizzando il file in un file di autorizzazione di 400 di proprietà di questo utente e eseguendo l'esecuzione binaria dell'automa con setuid bit ( link ) impostato sullo stesso account.

I.e., per un normale account utente quel file sarebbe leggibile solo attraverso quell'automa e non con altri mezzi.

Non credo che la crittografia aggiunga sicurezza se la memorizzazione della chiave di crittografia non è più sicura dell'archiviazione della password.

Se l'automa è un file binario e qui includi una chiave, devi assicurarti che sia eseguibile ma non leggibile. Se l'automa è uno script eseguibile, non è possibile memorizzare la chiave al suo interno in modo sicuro.

    
risposta data 17.05.2017 - 12:48
fonte
1

Questa è una sfida molto comune e può essere eseguita in modo sicuro se si è in grado di accettare un certo numero di compromessi di sicurezza in cambio dei vantaggi dell'automazione. Lo stiamo facendo comunque sempre, mantenendo le chiavi private TLS non crittografate sui server web per evitare di digitare passphrase ogni volta che riavviamolo :) Basta usare tutti i controlli di sicurezza disponibili disponibili in un sistema multiutente, come suggerito da Peteris sopra e vorrei aggiungere solo due cose:

  • Limita le autorizzazioni disponibili a queste credenziali il più possibile sulla base della necessità di sapere, in modo che possano svolgere solo il compito di automazione e nient'altro. Nello specifico, non dovrebbero essere in grado di dare accesso ad altri sistemi ecc.
  • Sono disponibili diverse soluzioni di vault e password manager come Linux, ma il loro modello di sicurezza si basa sempre su un singolo segreto inserito dall'utente interattivo, quindi non saranno di grande aiuto qui.
  • La parte di crittografia avrà un impatto dubbio. Da una parte, può prevenire un ladro opportunista, ma le autorizzazioni del file system andrebbero altrettanto bene. D'altra parte, introdurranno una notevole complessità e alla fine della giornata la chiave di crittografia deve ancora essere archiviata da qualche parte con una protezione altrettanto efficace di quella delle risorse originali.
risposta data 17.05.2017 - 13:24
fonte

Leggi altre domande sui tag