Sur les services Web, les certificats SSL/TLS garantissent la confidentialité, l'intégrité et la sécurité des données transmises via le protocole https.
Le protocole TLS a remplacé SSL (Secure Sockets Layer) en 2015 après la découverte de plusieurs vulnérabilités dans ce dernier. Cependant, les termes "SSL/TLS" ou "certificat SSL/TLS" restent couramment utilisés.
La solution EOLE³ nécessite un certificat valide, les certificats "auto-signés" ne fonctionneront pas.
EOLE3 fonctionne sous forme de services. Cela se traduit par des sous-domaines du domaine principal. Si par exemple votre domaine est :
"eole3.mon-domaine.test"
Les services EOLE3 auront la forme de :
Pour que chaque service soit correctement certifié il existe plusieurs solutions :
Notez que le serveur DNS dont dépend votre domaine doit également résoudre tous les services.
Il existe plusieurs fournisseurs de certificats. Les certificats peuvent vous être fournis par une administration (l'IGC/A par exemple). Sinon les certificats peuvent être achetés auprès d'une autorité de certification. Enfin, certaines autorités de certification proposent des certificats gratuits, c'est par exemple le cas de Let's Encrypt.
EOLE³ propose plusieurs façons de gérer les certificats :
Dans ce cas de figure, il sera installé et mis à jour un certificat par service ainsi qu'un pour le domaine principal.
Dans cet exemple nous utiliserons l'autorité de certification "Let's Encrypt".
Let’s Encrypt est une autorité de certification (AC ou CA pour Certificate Authority en anglais) gratuite, automatisée et ouverte, exploitée pour le bénéfice du public. C’est un service fourni par Internet Security Research Group (ISRG).
Cert-Manager est un gestionnaire natif de certificats pour Kubernetes. Il permet la génération de certificats depuis différentes sources dont Let’s Encrypt. Il se chargera également de renouveller le certificat afin d’éviter son expiration. Dans le cas de la gestion automatique des certificats par Cert-manager, un certificat simple par service sera créé, soit autant de certificats que de services.
EOLE³ intégre nativement Cert-manager pré-paramétré pour utiliser Let's Encrypt.
Pour activer la génération de certificats Let's Encrypt. Lors de la création du fichier socle.ini il faudra ajouter la section suivante (la création du fichier socle.ini est décrite dans la procédure d'installation d'EOLE³).
[cert-manager]
deploy = true
enabled = true
type = prod
email = contact@nodomain.no
namespace = cert-manager
chart-version = v1.10.0
upstream-chart-url = https://charts.jetstack.io
use-upstream-chart = true
L'option "
deploy = true
" indique que EOLE³ devra installer Cert-manager.
Si vous avez installé Cert-manager par vos propres moyens, vous devez passer cette option à "deploy = false
".
Cert-manager, effectue la demande initiale de certificat automatiquement. Il met également automatiquement à jour le certificat, procède à son renouvellement lorsqu'il sa date de fin de validité est atteinte.
L'installation manuelle du certificat peut-être nécessaire dans certains cas d'usage. Par exemple, si le serveur n'a pas d'accès à Internet, typiquement un serveur sur un LAN privé de structure ou d'entreprise.
L'installation manuelle est détaillée dans la partie "Installation des services du socle de base" de la procédure d'installation d'EOLE³ (copie des fichiers tls.crt
et tls.key
).
kubectl create -n ingress-nginx secret tls tls-secret --cert tls.crt --key tls.key --dry-run=client --output=yaml | kubectl replace -f -
ou (génère d'events k8s)
kubectl delete -n ingress-nginx secrets tls-secret
kubectl create -n ingress-nginx secret tls tls-secret --cert tls.crt --key tls.key
Les certificats SSL/TLS sont des objets numériques chiffrant les données qui transitent entre le navigateur des utilisateurs et le serveur web à l'aide du protocole SSL/TLS (Secure Sockets Layer/Transport Layer Security). Les certificats permettent également à une partie d'établir l'identité d'une autre partie via une " autorité de certification ». Les certificats SSL/TLS sécurisent les communications réseau et établissent l'identité des sites web sur Internet.
Il existe plusieurs niveaux de certification :
Le processus de validation pour obtenir ce certificat est minimal. L'identité de l’entreprise ne fait l’objet d’aucune vérification particulière. Seule la propriété du nom de domaine par le demandeur du certificat est vérifiée. Aucune information n’apparaît dans le sceau de site sécurisé, mis à part les informations relatives au chiffrement. Vous avez la garantie que vos informations sont chiffrées, mais vous ne pouvez pas être sûr de savoir qui est réellement le destinataire de ces informations. Les certificats DV sont surtout utilisés pour les sites simples qui n'impliquent pas de collecte de données ou de paiements en ligne.
La barre d'adresse du navigateur affiche la mention HTTPS et un cadenas. Dans les détail du certificat seul le nom de domaine (Common Name) est spécifié.
Cette version du certificat possède une garantie d'un niveau supérieur à celle du certificat DV. L'autorité de certification vérifie l’existence juridique et physique de l’entreprise. Ce type de certificat affiche également les informations du propriétaire du site Web (nom, pays, région). Les certificats à validation d'organisation permettent aux utilisateurs de s'assurer de l'identité du destinataire des informations.
Il s'agit du certificat le plus élevé. Comme pour le certificat OV, le certificat EV vérifie l'identité d'une organisation. Cependant, le certificat EV représente un niveau de confiance plus élevé que OV. Il nécessite des contrôles de validation plus rigoureux pour confirmer que l'organisation est dûment enregistrée auprès des autorités de sa juridiction et qu'elle répond aux exigences fixées par le CA/Browser Forum.
Pour les certificats EV, neuf autres points de contrôle viennent s'ajouter, notamment la vérification du numéro de téléphone public de l'entreprise, de sa date de création, de son numéro d'enregistrement et de sa juridiction. L'AC doit également écarter tout usage frauduleux du nom de domaine et tout placement sur liste noire de son interlocuteur. Elle doit confirmer par téléphone le statut professionnel du demandeur.
Le Certification Authority Browser Forum, également connu sous le nom de CA/Browser Forum, est un consortium bénévole d'autorités de certification, de fournisseurs de navigateurs Internet et de logiciels de messagerie sécurisée, de systèmes d'exploitation et d'autres applications compatibles PKI qui promulgue les directives de l'industrie régissant l'émission et la gestion de certificats numériques X.509 v.3 liés à une chaîne de confiance. Ses lignes directrices couvrent les certificats utilisés pour le protocole SSL/TLS et la signature de code, ainsi que la sécurité du système et du réseau des autorités de certification.
Le CA/Browser Forum a pour l'objectif d'assurer la coopération des navigateurs et autres logiciels afin d'assurer la sécurité des communications.
Les membres du Forum CA/Browser participent activement à la définition et à la réactualisation des méthodes de validation de domaine. En 2011, des règles pour les certificats à validation étendue (EV) ont été définies. Depuis 2012, les exigences de base doivent être respectées par toutes les autorités de certification accréditées délivrant des certificats racines de confiance.