Le chiavi private dovrebbero avere una lettura fortemente limitata. Impostazione delle autorizzazioni su 600
e di proprietà di root
dovrebbe funzionare. Tuttavia, ci sono altre impostazioni di autorizzazioni sicure:Ubuntu memorizza le chiavi in una directory con proprietario root
e gruppo ssl-cert
e permessi 710
. Ciò significa che solo i membri di ssl-cert
può accedere a qualsiasi file in quella directory. Le chiavi private hanno quindi il gruppo ssl-cert
, proprietario root
e autorizzazioni 640
.
Ho avuto un problema con l'installazione di nginx e mi sono imbattuto in questa domanda. L'altra risposta qui ha già risposto direttamente alla domanda, ma ho pensato che qualche informazione in più sarebbe stata utile.
Normalmente, nginx viene avviato come root
utente dagli script init / systemd. Tuttavia, nginx ha anche la possibilità di passare a un utente meno privilegiato per le normali operazioni. Quindi la mia domanda era quale utente viene utilizzato per caricare il certificato/la chiave ssl? L'utente privilegiato iniziale o quello a cui si passa?
Fortunatamente, nginx utilizza le autorizzazioni iniziali per leggere il certificato e inserire la chiave in memoria prima di cambiare utente. Quindi, normalmente, puoi davvero lasciare le chiavi con autorizzazioni molto limitate poiché vengono caricate da nginx quando è ancora in esecuzione come root
.
Il problema che stavo incontrando e che mi ha portato qui era che stavo definendo ssl_certificate
solo nel mio server
blocchi in nginx.conf
. Ricevevo errori come [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
quando sapevo dannatamente bene che le mie chiavi erano nel posto giusto. Il problema era che non avevo un ssl_certificate
al http
livello di nginx.conf
.
Spero che questo sia utile per qualcuno.