Configurer l'authentification multifacteur dans Caddy v2 avec Caddy-Security et Yubico

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.

Étiquettes: Caddy Caddy-Security MFA 2FA TOTP

Publié le 29 juin à 19h59