Memorizzazione di chiavi protette sul server web Ubuntu

Sto eseguendo Ubuntu 12.04 Precise con un ambiente DUNG (Django, Unix, Nginx & Gunicorn) e la mia applicazione (così come diversi file di configuration) viene memorizzata in un ambiente virtuale di python all'interno /srv , che l'utente www-data ha accesso a.

I processi di nginx e gunicorn sono tutti gestiti come www-data .

La mia applicazione web richiede credenziali sicure che sto immagazzinando in un file environment.sh . Questo file contiene varie esportzioni e viene eseguito utilizzando la source prima dell'esecuzione dei processi gunicorn.

La mia preoccupazione è la posizione del file environment.sh e le sue autorizzazioni. Sarà bene memorizzare questo file all'interno della cartella /srv where i www-data hanno accesso ad esso? O dovrebbe essere memorizzato e posseduto da root altrove come /var/myapp/environment.sh ?

Inoltre, per quanto riguarda l'utente www-data , se uno dei miei processi web (che vengono gestiti come www-data ) sono compromessi e qualcuno ha accesso a loro, significa che l'utente potrebbe potenzialmente leggere qualsiasi file sul sistema, anche se non possono scrivere? Comprese le mie chiavi sicure?

  • Il reindirizzamento Port 80 non funziona per localhost
  • Ubuntu 12.04 LTS - l'aggiornamento apt-get non riesce a trovare le fonti
  • SSH Indurimento non funziona come previsto
  • il completamento di tab bash funziona solo per root
  • Come get i dispositivi USB da AutoMount in Ubuntu 12.04 Server
  • Daemon muore, ma l'upstart pensa che sia ancora in esecuzione
  • Come posso cancellare automaticamente i vecchi file log di errore apache?
  • Come posso installare WildFly 8.0.0.Final come servizio su Ubuntu Linux?
  • One Solution collect form web for “Memorizzazione di chiavi protette sul server web Ubuntu”

    È ansible impostare gli ID utente e gruppo nella configuration gunicorn che verrà utilizzata dai processi del lavoratore. Impostare le variables ambientali in un file proprietario di root e senza permessi di lettura (rw ——-). Ciò salverà il tuo compromesso www-data proccess da leggere i dati direttamente dal file di configuration, ma compromesso www-data proccess può ancora leggere le variables direttamente dalla memory.

    ps. +1 per DUNG 🙂

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