Bonjour,
Premier post sur le forum, j’espère ne pas être à côté de la plaque et ne pas avoir loupé un topic existant
J’ai mis en place un certificat SSL pour un site web, les permissions sont root:root en 644. Est-ce suffisamment sécurisé ? Et l’utilisateur doit-il bien être root et non www-data (et pourquoi) ?
Au final j’ai du mal à comprendre quel utilisateur vient se servir de ce fichier.
Quelqu’un pour m’éclairer ?
Bonjour, et bienvenue,
root:root 644
signifie que seul l’utilisateur root
peut modifier le fichier, et tous les autres utilisateurs peuvent le lire (sous condition qu’ils puissent accéder au répertoire dans lequel il se trouve). Pour la partie publique d’un certificat SSL c’est largement suffisant (puisque, par définition, tout utilisateur d’un site web sur lequel est déployé ton certificat, doit pouvoir l’afficher). Pour la partie privée (la clé privée), il vaut mieux restreindre ces permissions (600
).
www-data
est généralement utilisé comme propriétaire des fichiers qui sont servis par ton serveur web, c’est-à-dire les fichiers qui constituent la partie accessible de ton site, en gros.
L’idée est que si un des fichiers est exposé à une faille pour une raison x ou y (en particulier si le fichier est modifiable par un utilisateur, ou si une modification est poussée sur le serveur via une méthode POST, ou PUT, ou PATCH, etc.) et si cette faille permet l’exécution de code, ce dernier sera exécuté avec les permissions du compte www-data
, et pas celles de root
, ce qui limite la casse potentielle.
Au lancement du serveur web, les clefs sont lues avec les droits root
avant que le serveur ne soit attribué à l’utilisateur www-data
, c’est pour ça que, même si tu vois que le serveur web est lancé en tant qu’un utilisateur qui ne devrait pas avoir accès aux clefs, il y a quand même eu accès pour les charger.
Super, c’est très clair, merci à vous deux !