Intérêt du MFA/2FA
Un mot de passe seul ne suffit plus à garantir la confidentialité d'un compte. L'authentification multifacteur impose au moins deux preuves distinctes : un secret connu et un élément physique ou temporaire. Caddy-Security exploite cette approche pour renforcer la protection des accès, même si un identifiant est comproims.
Deux types de second facteur
Applications d'authentification (TOTP)
Les applications telles que Google Authenticator, Microsoft Authenticator ou Authy génèrent un code à usage unique basé sur le temps. Lors de l'enregistrement, Caddy-Security fournit un QR code ou une clé secrète ; l'application produit ensuite un code à six chiffres renouvelé toutes les trente secondes.
Clés Yubico
Les clés Yubico sont des périphériques matériels qui réalisent un défi-réponse cryptographique. Insérée en USB ou connectée en NFC, une YubiKey valide la seconde étape d'authentification au moment du clic sur le bouton du périphérique.
Installation du module
Pour compiler Caddy avec Caddy-Security, utilisez l'outil de construction officiel :
xcaddy build --with github.com/greenpau/caddy-security
Ou ajoutez le module à votre fichier go.mod avant de compiler votre propre distribution.
Acitvation du MFA dans le Caddyfile
Le bloc suivant illustre un portail d'authentification avec formulaire et second facteur activé :
security {
authentication portal idp_main {
enable identity store local
cookie domain example.com
cookie lifetime 86400
}
}
authenticate with idp_main
mfa_policy {
method totp
method yubikey
}
La directive method accepte totp et yubikey. L'ordre d'invocation peut être ajusté selon la politique de sécurité du site.
Configuration du TOTP
Une fois le MFA activé, chaque utilisateur peut enregistrer son application en scannant le QR code affiché lors du premier accès. Le serveur stocke le secret partagé et l'utilisateur doit confirmer le code courant avant que le second facteur ne devienne actif. Les paramètres par défaut sont généralement suffisants ; ils peuvent être réduits ou étendus via les options de la politique MFA.
Configuration des clés Yubico
Pour utiliser les YubiKey, fournissez les identifiants obtenus depuis le service Yubico :
mfa_policy {
yubikey_provider {
api_key "CLE_API_YUBICO"
api_secret "SECRET_API_YUBICO"
}
method yubikey
}
Ces valeurs permettent à Caddy-Security de valider le mot de passe unique généré par la clé auprès du serveur YubiCloud ou d'un validateur interne.
Gestion des utilisateurs
Les paramètres MFA/2FA d'un utilisateur peuvent être consultés ou réinitialisés via l'API de gestion de Caddy-Security. Un administrateur peut ainsi désactiver un second facteur perdu, forcer une nouvelle inscription TOTP ou révoquer une YubiKey compromise.
Résolution des problèmes courants
Échec de la génération du QR code
Vérifiez que le portail d'authentification est bien activé et que l'utilisateur dispose du rôle permettant d'enregistrer un second facteur. Les journaux de Caddy fournissent habituellement l'erreur exacte liée à la génération du secret TOTP.
YubiKey non reconnue
Assurez-vous que la clé est bien insérée et que le système dispose des droits d'accès au périphérique USB. Confirmez également que la paire clé/secret Yubico est correctement renseignée et que le service de validaiton est accessible depuis le serveur.