J'essaie de configurer une connexion sécurisée (HTTPS) dans NGinx.
Mais je suis un peu inquiet des autorisations de la clé privée, qui ne sont mentionnées dans aucun tutoriel.
Devrais-je les changer? À quoi?
Les clés privées devraient avoir une lecture fortement restreinte. Définition des autorisations à 600
et possédé par root
devrait fonctionner. Cependant, il existe d'autres paramètres d'autorisations sécurisées - Ubuntu stocke les clés dans un répertoire avec le propriétaire root
et groupe ssl-cert
et autorisations 710
. Cela signifie que seuls les membres de ssl-cert
peut accéder à tous les fichiers dans ce répertoire. Les clés privées ont alors un groupe ssl-cert
, propriétaire root
et autorisations 640
.
J'avais un problème d'installation de Nginx et je suis tombé sur cette question. L'autre réponse ici a déjà répondu directement à la question, mais je pensais qu'un peu plus d'informations seraient utiles.
Normalement, Nginx est démarré comme l'utilisateur root
par des scripts init/systemd. Cependant, NGinx a également la possibilité de passer à un utilisateur moins privilégié pour des opérations normales. Donc, ma question était que l'utilisateur est utilisé pour charger le certificat/clé SSL? L'utilisateur privilégié initial ou celui qui est basculé sur?
Heureusement, Nginx utilise les autorisations initiales pour lire le certificat et la clé en mémoire avant de changer les utilisateurs. Donc, normalement, vous pouvez vraiment laisser les clés avec des autorisations très restreintes telles qu'elles sont chargées par Nginx lorsqu'il fonctionne toujours comme root
.
Le problème que je rencontrais cela m'a atterri ici était que je définissais ssl_certificate
uniquement dans mes blocs server
bloque nginx.conf
. Je reçois des erreurs comme [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
Quand je connaissais Darn bien et bien que mes clés étaient au bon endroit. Cette question était que je n'avais pas de ssl_certificate
au niveau http
niveau de nginx.conf
.
J'espère que cela est utile pour quelqu'un.