Qu'est-ce qu'un certificat auto-signé et comment en créer un ?
Un certificat auto-signé est un certificat numérique émis et signé par l'entité qui l'utilise, et non par une Autorité de Certification (AC). Bien que peu coûteux et rapide à créer, les certificats auto-signés ne sont pas recommandés pour les sites publics ou les données sensibles en raison de risques de sécurité, de l'absence de révocation et de validation externe. Ils conviennent mieux aux environnements de test internes. Les risques incluent des avertissements de navigateur, une vulnérabilité accrue et un chiffrement compromis. La création nécessite une clé privée, une demande de signature (CSR) et l'émission du certificat. Pour plus de sécurité, privilégiez une AC de confiance.
Table des Matières
Mise à jour : 4 décembre 2023
Un certificat SSL / TLS auto-signé est un certificat numérique qui n'est pas signé par une autorité de certification (CA) publiquement reconnue. Les certificats auto-signés sont considérés comme différents des certificats traditionnels signés par une autorité de certification parce qu'ils sont créés, émis et signés par l'entreprise ou le développeur responsable du site web ou du logiciel associé au certificat, plutôt que par une autorité de certification de confiance.
À un niveau élevé, ces certificats auto-signés sont basés sur la même architecture cryptographique de paires de clés privée et publique que celle utilisée dans les certificats X.509. Cependant, ils ne bénéficient pas de la validation d'une autorité de certification tierce de confiance, comme Sectigo, ce qui signifie que le certificat n'est pas lié à une autorité de certification racine ou à un certificat intermédiaire comme ceux émis par une autorité de certification de confiance. Cette absence de validation indépendante dans le processus d'émission crée un risque supplémentaire, ce qui est le problème de l'utilisation de certificats auto-signés. Ils ne sont pas considérés comme sûrs pour les sites web et les applications publics et ne sont généralement utilisés que dans les environnements de développement et de test internes.
Rôle d'un type de certificat auto-signé
Bien qu'ils puissent être risqués, les certificats auto-signés ont leur utilité et présentent certains avantages. Ils sont gratuits, faciles à demander par les développeurs, ils cryptent les données en utilisant les mêmes méthodes que les certificats SSL payants, ils n'expirent pas et leur révocation n'est pas possible. Cependant, lorsqu'il s'agit de sécurité globale, les risques l'emportent généralement sur les avantages.
Le principal avantage d'un certificat SSL auto-signé est qu'il est disponible gratuitement et peut être demandé facilement par n'importe quel développeur. En outre, les organisations ont l'avantage de savoir que les certificats SSL auto-signés cryptent les données entrantes et sortantes applicables en utilisant les mêmes méthodes que les autres certificats SSL/TLS payants.
Les organisations ont l'avantage de savoir que les certificats SSL auto-signés cryptent les données entrantes et sortantes applicables en utilisant les mêmes méthodes que d'autres certificats SSL/TLS payants.
Les certificats auto-signés n'expirent pas et n'ont pas besoin d'être renouvelés après une période déterminée, comme c'est le cas pour un certificat d'autorité de certification. Bien que cela semble pratique, c'est l'une des principales préoccupations, car cela signifie qu'ils ne peuvent pas se conformer aux mises à jour de sécurité en réponse aux vulnérabilités découvertes, ni répondre à l'agilité du certificat nécessaire pour sécuriser l'entreprise moderne d'aujourd'hui. C'est pourquoi cette méthode d'authentification est rarement recommandée
En outre, la révocation des certificats n'est pas possible avec les certificats auto-signés. Cela expose la cryptographie utilisée à des menaces externes si le certificat est oublié ou reste sur des systèmes ouverts à des acteurs malveillants. Les risques associés à ces certificats l'emportent souvent sur les avantages, car la cybersécurité est primordiale pour toute organisation.
Risques et erreurs associés aux certificats auto-signés
Les certificats SSL auto-signés sont associés à de nombreux avertissements et problèmes de sécurité, c'est pourquoi ils sont rarement recommandés.
Fenêtres contextuelles d'avertissement de sécurité
Chaque fois qu'un utilisateur visite un site utilisant ce type de certificat (ce qui n'est jamais recommandé sur un site public), il est immédiatement averti par une fenêtre contextuelle de sécurité affichant des erreurs telles que « error_self_signed_cert » ou « err_cert_authority_invalid », qui exigent de l'utilisateur qu'il confirme qu'il souhaite poursuivre le processus. Ces erreurs sont provoquées par le navigateur de l'utilisateur et non par le site web lui-même, ce qui ajoute une légitimité supplémentaire aux préoccupations de l'utilisateur tout en introduisant une étape supplémentaire dans la visite du site web. Aucun navigateur web moderne ne fait confiance aux certificats auto-signés et le navigateur n'affichera pas le symbole du cadenas ou le statut HTTPS pour le nom de domaine.
Ces avertissements suscitent la crainte chez les visiteurs d' un site web. Ils donnent l'impression que le site peut être compromis et qu'il peut ne pas sécuriser correctement leurs données. Les visiteurs seront tentés d'éviter ces sites web et de se rendre sur des sites concurrents qui n'affichent pas d'avertissement de sécurité lors de la visite. Il est compréhensible que les visiteurs ne partageront probablement pas d'informations personnelles ou confidentielles sur un site web dont leur navigateur web de confiance leur indique qu'il pourrait ne pas disposer de mesures de sécurité adéquates.
Absence de mise à jour ou de révocation des certificats de sécurité
Comme indiqué précédemment, vos propres certificats n'ont pas besoin d'être renouvelés car ils n'expirent jamais. Cela signifie qu'ils ne sont jamais mis à jour ou modifiés pour corriger les vulnérabilités ou répondre aux normes de sécurité les plus récentes. Votre environnement est donc vulnérable aux pirates et aux cyberattaques.
De même, comme ils ne peuvent pas être révoqués, d'anciens certificats peuvent se trouver dans des environnements à l'insu du personnel. Cela peut accroître le risque d'exploitation des certificats. Une méthode courante d'exploitation d'un certificat auto-signé est l'attaque de l'homme du milieu, qui permet de voir les données partagées via le protocole TLS/SSL, exposant ainsi les visiteurs au vol d'identité et à l'intrusion dans le système.
Certificat auto-signé dans une erreur de chaîne de certificats
Si un développeur ou une équipe informatique tente d'utiliser un certificat SSL auto-signé, il peut rencontrer en interne l'erreur « certificat auto-signé dans la chaîne de certificats » s'il utilise OpenSSL. Dans les communications SSL/TLS, la confiance est établie par le biais d'une chaîne de certificats, qui remonte jusqu'à une autorité de certification racine de confiance. Lorsqu'un certificat auto-signé apparaît dans cette chaîne, le modèle de confiance est rompu, car ce type de certificat n'est pas intrinsèquement fiable.
Les certificats émis par une autorité de certification de confiance ont une chaîne de confiance qui remonte jusqu'à cette autorité de certification, ce qui garantit leur légitimité. Un certificat auto-signé, en revanche, est créé et signé par l'entité qui le présente, et non par une autorité de certification de confiance. C'est pourquoi il n'est pas automatiquement fiable, puisqu'il n'y a pas de validation externe de l'identité de l'entité. Cela présente un risque pour la sécurité, car un pirate pourrait présenter un certificat frauduleux, ce qui pourrait inciter les clients à établir une connexion sécurisée avec un serveur malveillant.
Cette erreur peut être contournée, mais elle est donnée comme mesure de sécurité pour alerter du risque potentiel associé à un certificat auto-signé.
Dois-je utiliser un certificat SSL auto-signé ?
En choisissant ce type de certificat SSL, vous êtes essentiellement livré à vous-même. Cela signifie que vous ne bénéficiez pas du soutien d'une autorité de certification de confiance ni de l'application des dernières méthodes cryptographiques nécessaires pour garantir une authentification et un cryptage corrects des données, des appareils et des applications.
Ces certificats comportent de nombreux risques, en particulier lorsqu'ils sont destinés au public. Ils sont incroyablement risqués pour un site web qui traite des informations privées, notamment des dossiers médicaux, fiscaux ou financiers. L'exposition de ces informations ne nuit pas seulement à la confiance dans la marque, mais peut également nuire à une organisation sur le plan financier en lui infligeant des amendes et des pénalités en vertu de la réglementation applicable en matière de protection de la vie privée. Pour ces raisons, il n'est jamais recommandé d'utiliser des certificats auto-signés sur des sites web ou des applications publics.
Beaucoup pensent que l'utilisation de certificats auto-signés en interne ne présente aucun risque lorsqu'ils sont déployés dans des domaines tels que les portails des employés ou les sites de communication, mais ce n'est pas vrai. Ils provoqueront toujours des avertissements au niveau du navigateur et de la sécurité. Comme ces avertissements peuvent être ignorés, les organisations demandent souvent à leurs employés de le faire. La sécurité du site interne est assurée, ce qui n'entraîne que peu de dommages directs. Cependant, cela peut involontairement amener les employés à s'habituer à ignorer ces types d'avertissements. Ce type de comportement peut exposer l'organisation à des risques accrus et à des possibilités de vulnérabilité.
Comment créer un certificat auto-signé
Bien que les certificats auto-signés ne soient pas recommandés en raison des risques de sécurité qu'ils comportent, la mise en place du fichier de configuration et la réalisation du processus d'émission sont simples, en fonction de votre environnement, comme les serveurs Apache ou Ubuntu Linux.
Générer une clé privée
Pour créer le certificat SSL, un fichier de clé privée et une demande de signature de certificat (CSR) sont nécessaires. Le processus commence par la demande d'une clé privée auprès de votre autorité de certification. Les clés privées sont des clés cryptographiques générées à l'aide d'algorithmes tels que RSA et ECC. Les clés RSA sont l'un des systèmes de cryptographie les plus anciens pour ce processus et sont prises en charge par de nombreuses plates-formes.
Bien que les certificats auto-signés ne soient pas recommandés, voici un exemple de code pour générer une clé avec la commande suivante :
openssl genrsa -aes256 -out nom_de_serveur.pass.key 4096
La commande vous demandera une phrase de passe. Cette phrase peut être utilisée par l'autorité de certification pour authentifier le propriétaire du certificat si celui-ci doit être révoqué pour une raison quelconque.
Générer une CSR
Une fois généré, votre fichier de clé privée se trouvera dans votre répertoire actuel sous le nom de servername.key et sera utilisé pour générer votre CSR. Voici un exemple de code pour la demande de signature d'un certificat auto-signé :
openssl req -nodes -new -key servername.key -out servername.csr
Vous devrez ensuite saisir plusieurs informations, notamment l'organisation, l'unité organisationnelle, le nom du pays, l'état, la localité et le nom commun. Le nom commun est généralement le nom de domaine (dns) ou l'adresse IP de l'emplacement.
Après avoir saisi ces informations, un fichier servername.csr sera placé dans le répertoire actuel avec le fichier de clé privée servername.key.
Délivrer un certificat
Enfin, un nouveau certificat (.crt) est généré à partir des fichiers server.key (fichier de clé privée) et server.csr. Le certificat généré peut être un certificat racine ou un certificat intermédiaire, en fonction de votre application de la chaîne de confiance. Voici un exemple de commande pour générer un nouveau certificat :
openssl x509 -req -sha256 -days 365 -in servername.csr -signkey servername.key -out servername.crt
Comme à l'étape précédente, le fichier servername.crt se trouve dans le répertoire actuel.
Éviter les risques
Les certificats auto-signés peuvent créer des risques importants lorsqu'ils sont déployés dans n'importe quel environnement, interne ou public, et cette méthode n'est donc pas recommandée.
Contactez Sectigo pour en savoir plus sur nos certificats SSL/TLS de confiance et notre plateforme de gestion du cycle de vie des certificats.
Envie d'en savoir plus ? Contactez nous pour réserver une démo de Sectigo Certificate Manager !
Articles associés :
7 types de certificats SSL expliqués
Que se passe-t-il lorsque votre certificat SSL expire et comment le renouveler ?