Je souhaite garder confidentielle notre clé SSL pour notre site Web. Il est stocké sur 2 clés USB, une dans un coffre-fort et une que je garde en sécurité. Et puis je suis le seul à l'appliquer au serveur web pour qu'il soit totalement sécurisé.
Sauf...
Sur IIS au moins, vous pouvez exporter la clé. Ainsi, toute personne qui est administrateur peut alors obtenir une copie de la clé. Y a-t-il un moyen de contourner cela? Ou par définition, tous les administrateurs ont-ils un accès complet à toutes les clés?
Mise à jour: j'ai des administrateurs système en lesquels j'ai entièrement confiance. Ce qui a conduit à cela est l'un d'entre eux a démissionné (ils ont eu une heure de trajet vers notre entreprise, un trajet de 5 minutes vers la nouvelle). Bien que je fasse confiance à cette personne, tout comme nous désactivons son compte Active Directory lorsque quelqu'un part, je pensais que nous devrions avoir un moyen de nous assurer qu'ils ne conservent pas la possibilité d'utiliser notre SSL.
Et ce qui m'a le plus frappé, c'est si je suis le seul à l'avoir. Notre certificat expire en janvier, c'était donc le moment de changer la pratique si nous le pouvions. Sur la base des réponses, il semble que nous ne pouvons pas.
Cela mène donc à une nouvelle question - quand quelqu'un qui a accès au certificat quitte, est-ce une pratique courante d'obtenir un nouveau certificat et de faire révoquer le certificat existant. Ou si la personne qui est partie est digne de confiance, alors continuons-nous avec le certificat que nous avons?
la source
Réponses:
Une personne disposant d'un accès administratif (ou souvent même physique) à un serveur va pouvoir extraire la clé privée. Que ce soit par l'exportation, le reniflement de la mémoire ou toute autre astuce de ce type.
Vos administrateurs ont accès aux clés privées de vos serveurs Web. Acceptez cela comme un fait et contournez cela. Si vos administrateurs système ne sont pas fiables, vous aurez peut-être besoin de meilleurs administrateurs système ou d'au moins moins d'administrateurs système ayant accès aux serveurs Web. S'il s'agit d'une paranoïa de sécurité de gestion, il peut y avoir un problème plus profond concernant leur capacité à faire confiance à un administrateur système.
Cela ne veut pas dire que vous devez simplement laisser tout le monde avoir accès à la clé privée. Il devrait toujours y avoir un besoin d'accès avant que l'accès ne soit accordé. Dans cet esprit, allez-vous prendre des mesures extrêmes pour vous assurer qu'un administrateur système avec le contrôle total d'un site Web ne peut pas exporter la clé privée, mais peut toujours manipuler le site Web lui-même de nombreuses façons presque introuvables? Nous sommes de retour à la confiance ici, et je pense que c'est le cœur du problème qui doit être résolu.
la source
Lorsque vous importez la clé, vous avez la possibilité de la marquer comme non exportable. Cela vous empêchera d'utiliser IIS ou le certificat MMC pour l'exporter. Au moins, cela rend un peu plus difficile.
Cependant, s'ils ont un compte d'administrateur sur la machine ou y ont un accès physique - ils pourront toujours obtenir la clé par d'autres moyens.
la source
C'est là qu'une «autorité de certification intermédiaire» peut vous aider.
La "Root CA" dans cet exemple ci-dessous appartient à une société SSL et non à vous.
Vous n'avez pas de contrôle direct sur les clés créées par l'autorité de certification racine, donc si une clé signée par l'autorité de certification racine est compromise, vous devez les parcourir pour la révoquer.
Mais:
Si vous placez une autre autorité de certification au milieu et que votre certificat SSL acheté signe votre propre certificat d'autorité de certification au lieu de signer directement votre certificat de serveur, vous pouvez conserver le contrôle des certificats de serveur ci-dessous et émettre des certificats de révocation ou faire quoi que ce soit d'autre si les choses en dessous sont compromises. .
Vous conservez la clé privée de l'AC intermédiaire pour vous et les administrateurs n'ont pas besoin de la voir.
Vous pouvez également le faire:
Vous pouvez vous préparer au compromis et générer des certificats à l'avance, afin de pouvoir basculer rapidement en cas de révocation d'une clé individuelle. Les administrateurs n'obtiennent pas de clés pour 2 ou 3 jusqu'à un compromis de 1. Vous pouvez mettre un avis sur votre site à propos de ce schéma, et cela signifierait également à vos administrateurs que vous êtes prêt en cas de compromis et que l'affaire drôle sur leur end ne détruira pas votre site.
la source
Il existe de nombreux articles qui suggèrent de stocker les clés privées ailleurs que sur le serveur, mais ces clés privées sont destinées aux certificats de signature de code . Imaginez que vous avez les clés sur un ordinateur hors ligne auquel vous seul avez accès, certains logiciels sont écrits, vous obtenez la clé privée du serveur hors ligne, signez le code, puis vous n'avez plus besoin de la clé privée jusqu'à ce que vous deviez en signer code à nouveau.
En savoir plus sur: https://www.thesslstore.com/blog/heres-what-happens-when-your-private-key-gets-compromised/
En revanche, les certificats SSL sont destinés aux sites Web pour permettre la communication HTTPS: la clé privée est nécessaire lors de chaque prise de contact par le serveur Web. Par conséquent, le stockage hors ligne ne fonctionnera pas.
la source