🔐 C3.2.2 — Politique MDP & MFA
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B3 — Cybersécurité des services informatiques |
| Module | M3.2 — Identité numérique et authentification |
| Cours | C3.2.2 — Politique de mots de passe et MFA · Séance 1/1 |
| Compétence | B3.2 — Préserver l'identité numérique de l'organisation |
| Durée | 3h30 (10 min intro + 45 min MDP + 30 min MFA + 85 min TP + 10 min synthèse) |
| Contexte PME | InnovatTech SARL — Windows Server AD, Debian 12, pfSense, NAS Synology |
Accroche (10 min)
En juin 2024, la compilation RockYou2024 a été publiée : elle contient 9 948 575 739 mots de passe uniques, résultant de 20 ans de fuites. Si votre mot de passe y figure, il peut être cracké en quelques secondes. Chez InnovatTech, certains employés utilisent "innovattech2024". Votre rôle : éduquer, appliquer des contrôles techniques et adopter des solutions adaptées.
Section 1 — Politique de mots de passe moderne (~45 min)
Recommandations NIST SP 800-63B
Les recommandations contemporaines du NIST abandonnent les règles de complexité imposées pour privilégier :
| Ancienne pratique ❌ | Recommandation NIST ✅ |
|---|---|
| Complexité imposée (maj + chiffre + symbole) | Longueur minimale élevée (≥12 caractères, ≥20 pour comptes privilégiés) |
| Rotation forcée tous les 90 jours | Rotation uniquement si compromission suspectée ou démontrée |
| Interdiction des espaces | Passphrases (4-5 mots aléatoires) encouragées |
| Aucune vérification des fuites | Vérification contre les listes de mots de passe compromis |
Avec 94 caractères imprimables, un mot de passe de 8 caractères a environ 948 combinaisons. Passer à 12 caractères augmente exponentiellement la résistance aux attaques. Les règles de complexité imposées poussent les utilisateurs vers des choix prévisibles (Passw0rd!, etc.).
Vérification contre les mots de passe compromis
La vérification peut se faire via Have I Been Pwned (HIBP) avec la méthode k-anonymat : seul le préfixe SHA-1 du mot de passe est envoyé, les suffixes correspondants sont reçus — le mot de passe en clair ne quitte jamais le client.
Algorithmes de hachage pour le stockage
MD5 et SHA-1 sont proscrits pour les mots de passe (trop rapides → attaques par force brute). Recommandations modernes :
import bcrypt
# Hachage avec bcrypt (factor 12 = 2^12 itérations)
mot_de_passe = b"MonMotDePasse123"
sel = bcrypt.gensalt(rounds=12)
hache = bcrypt.hashpw(mot_de_passe, sel)
print(hache) # $2b$12$... — contient le sel ET le hash
# Vérification
if bcrypt.checkpw(mot_de_passe, hache):
print("Mot de passe correct")
Argon2 (recommandé OWASP) est "memory-hard" : il utilise volontairement une grande quantité de mémoire pour limiter l'efficacité des attaques GPU/ASIC.
Gestionnaires de mots de passe
| Solution | Type | Adapté InnovatTech |
|---|---|---|
| KeePass | Local (.kdbx) — open-source | Fichier sur NAS sécurisé, sauvegardes régulières |
| Bitwarden Teams | Cloud open-source | Administration centralisée, politiques, partages sécurisés, journalisation |
Section 2 — Authentification Multi-Facteurs (MFA) (~30 min)
La MFA combine des facteurs de différentes catégories :
- Connaissance : quelque chose que vous savez (mot de passe, PIN)
- Possession : quelque chose que vous avez (téléphone TOTP, clé FIDO2)
- Inhérence : quelque chose que vous êtes (empreinte, FaceID)
TOTP (RFC 6238)
Le TOTP génère des codes numériques (6 chiffres) toutes les 30 secondes via HMAC-SHA1 d'un secret partagé et de l'horodatage. Le code expiré est inutilisable → voler le mot de passe seul ne suffit plus.
FIDO2 / WebAuthn
Les clés physiques (YubiKey) résistent au phishing : lors du protocole WebAuthn, la clé signe une attestation liée au domaine exact consulté → un site de phishing ne peut pas réutiliser la signature. Recommandé pour les comptes à très hauts privilèges.
Risques MFA push
MFA bombing / push fatigue : un attaquant sature un utilisateur de demandes d'approbation push, espérant qu'il accepte par erreur. Mitigation : limiter le nombre de demandes, exiger une correspondance numérique (number matching).
Services devant être protégés par MFA chez InnovatTech
- Accès VPN (pfSense)
- Comptes administrateurs (Domain Admins AD, root serveurs Debian)
- Messagerie (accès externe)
- Systèmes RH/finance
- Interface d'administration NAS Synology et pfSense
Configuration PAM TOTP pour SSH (Debian)
# Installer libpam-google-authenticator
sudo apt update && sudo apt install -y libpam-google-authenticator
# Configurer pour l'utilisateur cible (interactif — génère QR code)
google-authenticator
# Ajouter dans /etc/pam.d/sshd AVANT @include common-auth :
# auth required pam_google_authenticator.so
# Activer la réponse aux challenges dans sshd_config
sudo sed -i 's/^#ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
# Redémarrer SSH
sudo systemctl restart sshd
# Test de connexion (client)
ssh utilisateur@ip_du_serveur
# Password: ****
# Verification code: 123456 ← code TOTP de l'application mobile
TP — Politique MDP + MFA sur Debian 12 (85 min)
Scénario : InnovatTech n'a pas de politique de mots de passe formalisée. Des employés utilisent "innovattech2024". La direction veut une politique claire et la MFA sur les accès distants.
Étape 1 — Rédiger la politique de mots de passe (30 min)
Document de 2 pages comprenant au minimum : objet/champ d'application, exigences de longueur (≥14 car. utilisateurs, ≥20 car. comptes à privilèges), interdiction des mots de passe compromis, recommandation de gestionnaire, procédure de compromission. Référence explicite au NIST SP 800-63B.
Étape 2 — Tester la robustesse avec zxcvbn (20 min)
from zxcvbn import zxcvbn
passwords = ["innovattech2024", "Str0ngP@ss!", "correct-horse-battery-staple"]
for p in passwords:
r = zxcvbn(p)
guesses = r['guesses']
print(f"MDP: {p}")
print(f" Score (0-4): {r['score']}")
print(f" Guesses: {guesses:.2e}")
print(f" Temps à 10^6/s (attaque en ligne): {guesses/1e6:.1f}s")
print(f" Temps à 10^9/s (GPU hors ligne): {guesses/1e9:.4f}s")
print()
Étape 3 — Activer le MFA TOTP pour SSH (35 min)
Suivre les commandes de configuration PAM ci-dessus. Livrable : capture montrant la connexion SSH réussie avec mot de passe + code TOTP.
Certificats numériques et PKI : chaîne de confiance X.509, protocole TLS, Let's Encrypt (ACME), automatisation des renouvellements et PKI interne pour les connexions serveur-à-serveur.
Synthèse (10 min)
Question : Pourquoi le NIST SP 800-63B recommande-t-il de ne pas forcer le changement de mot de passe tous les 90 jours ?
Réponse : La rotation forcée sans indice de compromission pousse les utilisateurs vers des variantes prévisibles (Password1 → Password2), la prise de notes, ou la réutilisation. Elle produit l'effet contraire à l'objectif. NIST recommande de privilégier la longueur, la détection des compromissions et la rotation ciblée lorsque nécessaire.
🎮 Quiz — Testez vos connaissances
3 QCM · 1 Vrai/Faux · 1 Question ouverte
QCM 1 — Rotation des mots de passe (NIST)
Selon le NIST SP 800-63B, la rotation périodique forcée des mots de passe (ex : tous les 90 jours) est…
- Fortement recommandée pour tous les comptes
- Obligatoire pour les comptes administrateurs
- Déconseillée, sauf en cas de compromission suspectée ou avérée
- Laissée entièrement au libre choix de chaque utilisateur
📋 Correction
C — Déconseillée sauf en cas de compromission. Le NIST SP 800-63B (2017, mises à jour 2023) recommande de ne pas imposer une rotation périodique systématique sans motif. Cette pratique pousse les utilisateurs vers des variantes faibles et prévisibles (Password1 → Password2). La rotation doit être déclenchée uniquement lorsqu'une compromission est suspectée ou démontrée.
QCM 2 — Algorithme de hachage des mots de passe
Quel algorithme est recommandé par l'OWASP pour le stockage sécurisé des mots de passe en raison de sa propriété "memory-hard" ?
- MD5
- SHA-256
- Argon2
- SHA-1
📋 Correction
C — Argon2. Argon2 est recommandé par l'OWASP pour le stockage des mots de passe car il est "memory-hard" : il utilise volontairement une grande quantité de mémoire RAM, limitant drastiquement l'efficacité des attaques par GPU ou ASIC. bcrypt et scrypt sont également acceptables. MD5 et SHA-1 sont proscrits car trop rapides et vulnérables aux rainbow tables.
QCM 3 — TOTP validité
Dans le protocole TOTP (RFC 6238), quelle est la durée de validité standard d'un code généré ?
- 10 secondes
- 30 secondes
- 60 secondes
- 5 minutes
📋 Correction
B — 30 secondes. Le TOTP génère un nouveau code toutes les 30 secondes en calculant HMAC-SHA1 d'un secret partagé et de l'horodatage actuel (exprimé en intervalles de 30 secondes). Ce caractère temporel rend la réutilisation d'un code intercepté pratiquement impossible au-delà de la fenêtre d'acceptation.
Vrai / Faux
⬜ Une passphrase composée de 4 mots aléatoires (ex : "correct-horse-battery-staple") est généralement moins sécurisée qu'un mot de passe de 8 caractères avec majuscules, chiffres et symboles.
📋 Correction
FAUX. Une passphrase de 4 mots aléatoires a généralement une bien plus grande entropie qu'un mot de passe court avec complexité imposée. Par exemple, avec un vocabulaire de 7776 mots (diceware), 4 mots donnent 77764 ≈ 3,7 × 1015 combinaisons, soit plus qu'un mot de passe de 8 caractères. De plus, les passphrases sont plus mémorables, réduisant la tentation d'écrire le mot de passe ou de le réutiliser.
Question ouverte
Citez 3 catégories de services d'InnovatTech où la MFA doit être obligatoire. Pour chacun, expliquez brièvement pourquoi et quel type de second facteur serait le plus adapté.
📋 Éléments de réponse
1. Accès VPN (pfSense) : Le VPN donne accès à l'ensemble du réseau interne depuis Internet. Un attaquant avec uniquement le mot de passe VPN d'un utilisateur compromettrait tout l'intranet. MFA adapté : TOTP (libpam-google-authenticator) ou certificat client. 2. Comptes administrateurs AD et serveurs Linux : Les comptes Domain Admin ou root ont des droits illimités sur l'infrastructure. Leur compromission permettrait une prise de contrôle totale. MFA adapté : clé FIDO2/YubiKey (résistante au phishing) ou TOTP. 3. Interface d'administration NAS Synology et pfSense : Ces interfaces web permettent de modifier la configuration du pare-feu ou d'accéder à toutes les sauvegardes. MFA adapté : TOTP via l'application Synology Secure SignIn ou le module pfSense MFA.
