web-dev-qa-db-fra.com

Autorisations pour la clé SSL?

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?

15
ChocoDeveloper

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.

16
cpast

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.

4
Cameron Tacklind