Qu'est-ce que SSL/TLS?
SSL (Secure Sockets Layer) et TLS (Transport Layer Security) sont des protocoles cryptographiques qui protègent la communication sur les réseaux. TLS est le successeur moderne de SSL, mais "SSL" reste couramment utilisé pour désigner les deux. Ces protocoles permettent HTTPS, en cryptant les données entre les navigateurs et les serveurs.
SSL vs TLS: Bref historique
| Version | Année | État |
|---|---|---|
| SSL 1.0 | 1994 | Jamais publié (défaut) |
| SSL 2.0 | 1995 | Déprécié (insécurité) |
| SSL 3.0 | 1996 | Déprécié (vulnérabilité au POODLE) |
| TLS 1,0 | 1999 | Déprécié |
| TLS 1.1 | 2006 | Déprécié |
| TLS 1.2 | 2008 | Norme actuelle |
| TLS 1,3 | 2018 | Dernière recommandation |
Les systèmes modernes devraient utiliser TLS 1.2 ou TLS 1.3 exclusivement.
Comment fonctionne la TLS
La poignée de main TLS
1. Client Bonjour: Le navigateur envoie les versions et suites de chiffrement TLS prises en charge
2. Serveur Bonjour: Le serveur sélectionne la version TLS et la suite de chiffrement
3. Certificat: Le serveur envoie son certificat SSL
4. Échange de clés: Échange de clés sécurisé (variables par suite de chiffrement)
5. Finition : session chiffrée
Client Server
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificate ---------------|
|<-- Key Exchange --------------|
|-- Key Exchange -------------->|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Encrypted Session ===>|
TLS 1.3 réduit cela à un seul aller-retour, améliorant les performances.
Certificats SSL/TLS
Qu'y a-t-il dans un certificat ?
- Sujet: Nom(s) de domaine couvert(s) par le certificat
- Issuer: Autorité de certification (AC) qui l'a délivré
- Période de validité: Dates de début et d'expiration
- Clé publique : Pour établir des connexions chiffrées
- Signature: signature cryptographique de CA
Types de certificats
Domaine validé (DV): Prouve seulement la propriété du domaine- Délivré en minutes
- Gratuit (encryptons) ou peu coûteux
- Affiche cadenas, aucune information sur l'organisation
- Nécessite une vérification commerciale
- Affiche le nom de l'organisation dans les détails du certificat
- Confiance plus élevée, coût modéré
- Vérification rigoureuse de l'identité
- Barre verte précédemment montrée (les navigateurs ont enlevé ceci)
- Coût le plus élevé, confiance la plus élevée
Couverture du certificat
Domaine unique: couvre un domaine (example.com) Wildcard: couvre tous les sous-domaines (*.example.com) Multi-domaine (SAN) : Couvre plusieurs domaines spécifiquesMise en œuvre de SSL/TLS
Certificats gratuits avec Encryptons
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Certificats fournisseurs de cloud
La plupart des plateformes cloud offrent des certificats de renouvellement automatique gratuits:
- Cloudflare: Automatique pour les domaines proxiés
- AWS : Gestionnaire de certificat (ACM)
- Google Cloud: Certificats SSL gérés
Vérification du certificat
Les navigateurs vérifient les certificats par :
1. Vérification de la chaîne de certificats à une CA racine de confiance
2. Vérifier que le certificat n'a pas expiré
3. Confirmation des correspondances de domaine
4. Vérification du statut de révocation (CRL/OCSP)
Pratiques exemplaires SSL/TLS
Configuration du serveur
Utilisez la SLT 1.2+: Désactiver SSL 3.0, TLS 1.0, TLS 1.1ssl_protocols TLSv1.2 TLSv1.3;
Strong Cipher Suites: Préférez les chiffres modernes et sécurisés
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Force HTTPS (voir l'entrée du glossaire HSTS)
Gestion des certificats
- Renouvellement automatique: Les certificats expirent (90 jours pour le chiffrage)
- Expiration du moniteur: Mettre en place des alertes avant l'expiration des certificats
- Utiliser les dossiers de l'ACS : Restriction à la délivrance de certificats par les AC
Vérification SSL/TLS
Utilisation de DomScan:curl "https://domscan.net/v1/health?domain=example.com"
# Returns SSL validity, issuer, expiration
Utilisation d'OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Outils en ligne: SSL Labs (ssllabs.com/ssltest) fournit une analyse complète.
Questions SSL communes
Mixed Content: la page HTTPS charge les ressources HTTP (bloquantes par les navigateurs) Certificat Mismatch: Le certificat ne correspond pas au domaine Certificat expiré : période de validité du certificat terminée Chaîne incomplète: Certificats intermédiaires manquantsSSL/TLS n'est plus facultatif – tous les sites Web devraient utiliser HTTPS pour la sécurité et le référencement.