È negativo fornire all'utente www-data l'accesso al certificato del client Postgres?

1

Ho un primo server che esegue un database Postgres. Ho autorizzato l'accesso remoto a questo database, utilizzando i certificati per l'autenticazione (seguendo questo tutorial ).

Ora ho un secondo server che esegue un'app Django su Apache. L'utente utilizzato da Apache è www-data e ho capito che è una buona pratica dare a questo utente permessi molto limitati.

Per consentire a django di accedere al suo DB remoto, ho aggiunto una cartella .postgresql nella cartella home dell'utente www-data (ad esempio / var / wwww) contenente tutti i file necessari - root.crt (certificato radice attendibile), postgresql.crt (certificato client) e postgresql.key (chiave privata client).

Ovviamente se 'qualcuno' accede a quei file, sarà in grado di connettersi al mio DB e leggere / scrivere su di esso.

Questa configurazione è pericolosa? Se sì, può essere evitato?

    
posta Istopopoki 26.10.2016 - 19:30
fonte

2 risposte

0

La tua applicazione ha bisogno di un modo per accedere al database, quindi non vedo alcun rischio. Per qualcuno che ruba il certificato, dovrebbero compromettere l'applicazione e, a quel punto, potrebbero comunque inviare richieste.

Assicurati solo che il certificato consenta l'accesso al minimo necessario all'applicazione (privilegio minimo) e, se possibile, blocca l'accesso all'IP del server Web, quindi un certificato rubato non può essere riutilizzato da un'altra macchina.

    
risposta data 26.10.2016 - 23:03
fonte
1

In definitiva, il server web ha bisogno di accedere al suo database. Usare le autorizzazioni di file per un utente limitato è un modo provato e vero per farlo, quindi non penso che tu stia facendo qualcosa di inappropriato qui. Ci sono alcuni strumenti - come Hashicorp's Vault, KeyWhiz, ecc. - che forniscono alcune alternative a questo, ma anche quelli alla fine hanno bisogno di un modo per identificare l'utente valido (anche se ti danno alcune alternative, come permettere una sola richiesta da un dato Istanza EC2 che può essere più sicura in alcuni casi, specialmente in una situazione in cui si esegue la scalabilità automatica e se un'istanza fallisce viene abbattuta.)

    
risposta data 26.10.2016 - 19:46
fonte

Leggi altre domande sui tag