Corsi on-line

Abilitazione sicura di HTTPS in Nginx

Come fa notare Kamal Nasser nel suo blog, posto che il Web server Nginx stia lavorando con modalità/user www-data attiva nel sistema, per consentire all’engine di effettuare il parsing del key file SSL dovrebbe essere necessario consentire anche al www-data di accedere ad esso in lettura. Tale procedura potrebbe essere ritenuta valida se non presentasse alcune implicazioni importanti dal punto di vista della sicurezza, ma essa è da ritenersi obbligatoria? Non necessariamente.

nginx

In realtà quella proposta rappresenta un’operazione bypassabile anche se largamente diffusa in sede di setup e configurazione, esistono infatti metodi più sicuri per l’abilitazione del protocollo HTTPS (HyperText Transfer Protocol over Secure Socket Layer) su proprio sito Internet; uno di essi si basa sul meccanismo utilizzato da Nginx per la disposizione dei processi che segue uno schema come il seguente:

- 1 nginx master process running as *root*
- x nginx workers running as *www-data*

abbiamo quindi un processo principale che lavora in modalità root con pieno accesso alle risorse, mentre i workers accessori dell’engine sono associati a “www-data”. Sfruttando tale pattern avremo la possibilità di permettere al solo processo master di accedere alla chiave SSL e, conseguentemente, impedire il parsing ai workers. Ciò sarà possibile attraverso le seguenti istruzioni:

chown root:root certificate.key
chmod 400 certificate.key

I due comandi mostrati dovranno essere eseguiti impersonando il root, essi consentiranno a quest’ultimo di eseguire il parsing di una chiave privata senza che quest’ultima risulti “visibile” da “www-data”.

Via: Kamal Nasser

Post correlati
I più letti del mese
Tematiche