Devmind.
Menu

Apprendre, à votre rythme

Tous les cursus sont accessibles sans compte.

Chapitre 8 / Notion

Attaques TLS et défense

TLS bien configuré aujourd'hui peut être attaquable demain (downgrade, mauvaise validation).

◷ 14 minutesTravail sur votre machine

Prérequis : cours 8.1 et 8.2.

Pourquoi

TLS bien configuré aujourd'hui peut être attaquable demain (downgrade, mauvaise validation). Connaître les attaques classiques, c'est comprendre le pourquoi de chaque réglage — pas juste copier une config Mozilla.

Concepts

  • MITM (Man-In-The-Middle) : l'attaquant entre client et serveur. Contre-mesures : vérification stricte du certificat + HSTS + certificate pinning (épingler le certificat attendu dans l'app mobile, pour les cas critiques).
  • Downgrade (ex. POODLE, STRIPTLS) : forcer une version faible ou du HTTP. Contre-mesures : TLS min 1.2, HSTS (pas de retour HTTP possible), pas de fallback silencieux.
  • ** stripping STARTTLS** (mail) : empêcher la montée en chiffrement. D'où : MTA-STS/DANE pour le mail sérieux — et la leçon générale : toute négociation « en clair d'abord » est attaquable.
  • 5xx… non, les vraies failles : Heartbleed (lire la mémoire du serveur via une extension), clés faibles (1024 bits, ROBOT). Leçon : versions patchées (unattended-upgrades, cf. DevOps 8.1) + suites modernes uniquement.

Exemple : noter sa config (test externe régulier)

# Résumé : version min, HSTS, chaîne — via validateur externe type ssllabs.com
curl -sI https://example.com | grep -i "strict-transport"

Cas réel

curl -k laissé dans un script de supervision « parce que le cert interne n'était pas reconnu » : le monitoring lui-même devenu vulnérable au MITM — et surtout, il ne détectera jamais une expiration. Corriger la cause (CA interne déployée) plutôt que -k.

Pièges

  • Copier une « config parfaite » de 2019 : les recommandations évoluent (suivre le guide Mozilla SSL actuel).
  • Pinning sans plan de rotation : certificat renouvelé = app qui refuse de se connecter. Pinning = procédure de rotation avec.
  • Croire TLS = sécurité : il chiffre le transport, pas l'app (injections, auth : inchangés derrière HTTPS).

À retenir

MITM → vérification + HSTS + pinning ; downgrade → versions min ; patchs + suites modernes ; TLS ≠ sécu applicative.

Pas de correction en ligneConfrontez votre code aux résultats attendus du cours.