web-dev-qa-db-fra.com

quelles sont les autorisations de fichier appropriées nécessaires pour les fichiers de certificat

Je suis curieux de savoir ce que devrait être la permission de fichier des fichiers de certificat SSL. Parce que vous ne voulez vraiment pas que quelqu'un copie physiquement la clé de serveur, alors pourquoi les hôtes la rendent-elle lisible par tout le monde? (644)

1
drtechno

Ceci est partiellement subjectif et surtout parce que votre question manque de points de contexte tels que: quelles applications utilisent ces certificats, quel système d’exploitation (sur la base de votre mention de 644 il semble que vous parlez de systèmes Unix - auquel cas, rw-r--r-- me semble beaucoup plus lisible - mais il existe d’autres systèmes d’exploitation), quel niveau de sécurité, etc.

Revenons donc un peu en arrière. Pour les opérations PKI HTTPS typiques, un serveur doit posséder un certificat (généralement par hôte virtuel), qui est essentiellement la partie publique d'une clé et, séparément, le fichier de clé privée. Nous verrons souvent ces éléments appelés: le certificat et la clé.

Détournement personnel de la marmite d'animaux domestiques: arrêtez de dire "certificat SSL", même si tout le monde le fait, car il s'agit d'une double erreur. Premièrement, SSL n’existe plus, nous utilisons TLS de nos jours. Et puis, c’est vraiment un certificat X.509 utilisé pour les communications TLS, car vous pouvez utiliser TLS sans certificat du tout ou TLS avec des éléments de clé autres que le certificat X.509; ces deux éléments sont donc indépendants.

Le certificat est public par définition. Donc, il peut être mis à la disposition de n'importe qui, c'est "lisible du monde". Comme tout autre fichier, je voudrais toutefois m'assurer qu'il est non (ni le répertoire dans lequel il réside) par le même UID sous lequel le serveur Web est exécuté.

Quant à la clé, par définition, elle est privée. Ses droits Unix doivent être aussi petits que possible, en fonction d'autres contraintes. S'il appartient au même UID que le serveur Web (ce n'est pas le cas que je recommande), il peut s'agir de r--------; sinon, une option judicieuse consisterait à le faire appartenir à root ou à un autre compte administrateur et à créer un groupe pour le serveur Web de sorte que les droits puissent être rw-r-----.

1
Patrick Mevzek