web-dev-qa-db-fra.com

Dois-je révoquer les certificats Let's Encrypt qui ne sont plus utilisés avant de les détruire?

La documentation Let's Encrypt recommande que lorsque la clé privée correspondante d'un certificat n'est plus sûre, vous devez révoquer le certificat .

Mais devriez-vous faire de même s'il n'y a aucune indication que la clé est compromise, mais que vous n'avez plus besoin du certificat? Les certificats Let's Encrypt expireront automatiquement après 90 jours. Suffit-il de supprimer le certificat et sa clé privée?

En toile de fond, voici mon scénario concret:

  • Lorsque nous déployons un nouveau logiciel, il créera de nouvelles instances EC2, qui remplaceront éventuellement les instances existantes (modèle de serveur immuable).
  • Au démarrage, les nouvelles instances acquerront un nouveau certificat Let's Encrypt.
  • Les certificats (et leurs clés privées) ne quittent jamais l'instance EC2.

Ainsi, lorsque les anciennes instances sont terminées, les certificats attribués à cette machine seront détruits. À ce stade, nous ne pouvons plus accéder à la clé privée.

Questions:

  • D'après ma compréhension, la révocation pourrait être une bonne pratique. Mais à proprement parler, cela n'augmentera pas la sécurité du système (bien entendu, en supposant que la clé privée n'a pas été compromise). Est-ce exact?
  • Aidera-t-il les opérateurs Let's Encrypt à révoquer explicitement les certificats inutilisés, ou fera-t-il plus de mal? (Je ne suis pas sûr, mais la révocation pourrait déclencher des processus supplémentaires, ce qui pourrait être inutile s'il n'y a aucune indication que la clé est compromise.)
89
Philipp Claßen

Il s'agit d'une décision subjective du coût par rapport au risque. Nous ne pouvons pas le faire pour vous, mais je peux vous aider à examiner les facteurs impliqués.

Coût

A vous : l'effort de révocation du cert. Si vous devez le faire manuellement, c'est ennuyeux, mais si vous pouvez l'écrire en 10 minutes et l'ajouter à vos jeux CloudFormation, alors pourquoi pas? Comme le souligne @Hildred, cela annonce également que votre serveur a été mis hors service, ce qui pourrait être considéré comme un problème de confidentialité/sécurité en fonction de votre attention.

À LetsEncrypt : Ils doivent gérer la demande de révocation, qui n'est pas une demande particulièrement lourde. Chaque certificat révoqué ajoute une ligne à leurs CRL , des coûts de bande passante légèrement plus élevés pour transmettre les CRL et une légère baisse des performances à leurs répondeurs OCSP qui doivent rechercher les CRL. Mais ce n'est certainement pas un fardeau puisque le système est littéralement conçu pour cela.

Risque

Si un attaquant découvre que vous mettez fin à vos machines virtuelles sans révoquer le certificat, peut-il l'utiliser à son avantage? Un administrateur escroc (le vôtre ou celui d'Amazon) pourrait extraire le certificat et la clé du VM au fur et à mesure qu'il se termine et vous ne seriez pas plus sage. Est-ce probable ou plus important d'une menace que de le retirer d'un système en direct? Probablement pas.


Donc, vraiment, nous avons affaire à un coût très faible par rapport à un risque très faible. Votre choix. Merci d'avoir posé la question, c'est bien d'y penser!

104
Mike Ounsworth

La révocation n'est pas nécessaire, du point de vue de la sécurité, si la clé privée n'est pas compromise.

Une révocation inutile ajoutera une petite charge à l'infrastructure Let's Encrypt mais pas beaucoup: https://community.letsencrypt.org/t/does-revocation-cause-additional-load/252

25
Tom

Une possibilité que vous avez ignorée est de générer une révocation mais de ne pas publier tant que vous n'en avez pas besoin. Il met une légère charge sur votre infrastructure, mais masque le retrait de la machine et dispose d'une révocation si nécessaire.

17
hildred

C'est une question très subjective.

Il n'y a aucun mal à révoquer le certificat. Que vous souhaitiez simplement le laisser expirer en temps voulu plutôt que de le révoquer explicitement, cela dépend vraiment de votre analyse des risques. Il y a bien sûr plus de risques que le certificat soit divulgué si vous ne révoquez pas, mais si vous considérez ce risque comme acceptable par rapport aux tracas de maintenance, vous devrez passer par si vous révoquez explicitement à chaque fois, alors vous pouvez accepter le risque et faites-le.

Que ce risque soit acceptable ou non pour nous, vous devez évaluer vous-même en fonction de votre propre infrastructure. Vous voulez probablement énumérer la liste des personnes qui ont accès à la clé, soit en étant un employé de votre entreprise, ou du centre de données, ou par d'autres risques comme le vol, etc. et évaluer les risques que ces personnes pourraient accidentellement ou fuir délibérément les clés. Vous voudrez également examiner la liste des services en cours d'exécution dans le système, évaluer leurs risques de sécurité dans la mesure où ils peuvent être utilisés de manière abusive pour divulguer les clés. Vous devrez également évaluer à quoi servent les clés et combien de dommages ces clés pourraient-elles être utilisées abusivement par l'entreprise. Sur la base de ces considérations et d'autres, vous pouvez alors prendre une décision éclairée si vous souhaitez accepter ces risques.

2
Lie Ryan