🔐
infrastructure

SSL/TLS

Protocoles de chiffrement pour securiser les communications sur Internet (HTTPS).

Definition

SSL (Secure Sockets Layer) et son successeur TLS (Transport Layer Security) sont des protocoles cryptographiques qui securisent les communications sur Internet. Ils fournissent le chiffrement, l'authentification et l'integrite des donnees pour le protocole HTTPS.

Bien que SSL soit obsolete depuis 2015 (derniere version : SSL 3.0), le terme "SSL" est encore utilise par habitude. En pratique, tout le monde utilise TLS 1.2 ou TLS 1.3.

Comment fonctionne le TLS Handshake ?

Quand votre navigateur se connecte a un site HTTPS :

  1. Client Hello : le navigateur envoie les versions TLS et cipher suites supportees
  2. Server Hello : le serveur choisit la version et la cipher suite, envoie son certificat
  3. Verification : le navigateur verifie le certificat aupres de l'autorite de certification (CA)
  4. Echange de cles : echange Diffie-Hellman pour generer une cle de session
  5. Session securisee : toutes les donnees sont chiffrees avec la cle de session (chiffrement symetrique AES)

En TLS 1.3, ce processus est reduit a 1 aller-retour (contre 2 en TLS 1.2), ameliorant la latence.

Types de certificats

Type Validation Delai Prix
DV (Domain Validation) Seul le domaine est verifie Minutes Gratuit (Let's Encrypt)
OV (Organization Validation) Organisation verifiee Jours 50-200 EUR/an
EV (Extended Validation) Verification approfondie Semaines 200-1000 EUR/an
Wildcard *.exemple.com Variable Variable

Let's Encrypt

Let's Encrypt fournit des certificats DV gratuits et automatises. C'est aujourd'hui le standard :

# Avec Certbot (le plus courant)
sudo certbot --nginx -d exemple.com -d www.exemple.com

# Renouvellement automatique
sudo certbot renew --dry-run

Bonnes pratiques

  • TLS 1.3 minimum (desactiver TLS 1.0 et 1.1)
  • HSTS (HTTP Strict Transport Security) : forcer HTTPS
  • OCSP Stapling : accelerer la verification de certificat
  • Forward Secrecy : proteger les sessions passees meme si la cle privee est compromise
  • Renouvellement automatique : Let's Encrypt expire tous les 90 jours

Configuration Nginx securisee

server {
    listen 443 ssl http2;
    ssl_certificate /etc/letsencrypt/live/exemple.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/exemple.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    add_header Strict-Transport-Security "max-age=63072000" always;
}

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions frequentes

Quelle est la difference entre SSL et TLS ?
TLS est le successeur de SSL. SSL est obsolete depuis 2015. Quand on dit 'certificat SSL', on parle en realite de TLS. Utilisez TLS 1.2 minimum, idealement TLS 1.3.
Let's Encrypt est-il fiable pour la production ?
Oui, absolument. Let's Encrypt securise plus de 300 millions de sites web. Les certificats DV sont identiques en securite a ceux payants. La seule limite : pas de validation d'organisation (OV/EV).
Comment verifier qu'un site utilise TLS correctement ?
Utilisez SSL Labs (ssllabs.com/ssltest) pour analyser la configuration TLS d'un site. Visez la note A ou A+. Verifiez aussi les headers HSTS.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.