Authentification à deux facteurs pour les admins WordPress
Mettre en place l’authentification à deux facteurs sur WordPress : applications TOTP, passkeys, codes de secours, limites du SMS, comptes concernés, déploiement et NIS 2.
Aussi en : English Deutsch Español Italiano Polski Português Türkçe
Avec l’authentification à deux facteurs (2FA) sur WordPress, un mot de passe seul ne suffit plus pour ouvrir votre tableau de bord. Après le mot de passe, la page de connexion demande une seconde preuve, généralement un code à six chiffres fourni par une application sur votre téléphone. C’est l’une des protections les moins coûteuses et les plus efficaces pour les comptes administrateurs. Comme le cœur de WordPress n’intègre pas d’authentification à deux facteurs, vous l’ajoutez avec une extension.
Ce guide explique comment fonctionnent les codes, quel second facteur choisir, qui dans votre équipe doit l’utiliser, comment le déployer sans bloquer personne et quel est le lien entre la 2FA, le RGPD et la directive NIS 2.
Pourquoi les mots de passe seuls ne suffisent pas
Les mots de passe fuient. Quand un autre service se fait dérober sa base d’utilisateurs, les attaquants testent les couples e-mail/mot de passe volés sur des formulaires de connexion partout sur le web. C’est ce qu’on appelle le credential stuffing, et cela fonctionne partout où quelqu’un a réutilisé un mot de passe. Le phishing est la deuxième voie : une fausse page de connexion convaincante recueille directement le mot de passe.
Chaque site WordPress possède un formulaire de connexion public à l’adresse /wp-login.php, et XML-RPC, activé par défaut, accepte lui aussi les mots de passe. Un administrateur peut installer des extensions, autrement dit exécuter du code sur votre serveur. Selon vos extensions, un éditeur peut voir des messages de formulaire ou des données clients. Un seul mot de passe divulgué peut donc se transformer en violation de données à caractère personnel.
Un second facteur rompt cette chaîne. L’attaquant a peut-être le mot de passe, mais pas votre téléphone ni votre clé de sécurité.
Comment fonctionne l’authentification à deux facteurs sur WordPress
La méthode la plus répandue est le TOTP (time-based one-time password, ou mot de passe à usage unique basé sur le temps), normalisé dans la RFC 6238. Concrètement :
- Lorsque vous activez la 2FA, l’extension affiche un QR code. Il contient une clé secrète que votre application d’authentification enregistre ; le serveur en garde une copie.
- L’application combine ce secret avec l’heure courante et calcule un code court, généralement à six chiffres. Dans la configuration standard, un nouveau code apparaît toutes les 30 secondes.
- À la connexion, après le bon mot de passe, WordPress demande le code du moment. Le serveur fait le même calcul et compare les résultats.
Comme le téléphone et le serveur calculent chacun le code de leur côté, rien n’est envoyé à votre téléphone, et l’application fonctionne hors ligne. L’horloge du téléphone compte, en revanche : si les codes sont systématiquement refusés, vérifiez que le téléphone règle son heure automatiquement.
Gardez aussi en tête ce que la 2FA ne fait pas. Elle ne corrige pas une extension vulnérable, car un attaquant qui exploite une faille d’extension ne passe jamais par le formulaire de connexion ; c’est pourquoi les mises à jour restent en tête de notre checklist de sécurité WordPress. Et une fausse page de connexion peut toujours relayer un code TOTP vers le vrai site en quelques secondes. Seules les méthodes résistantes au phishing, comme les passkeys et les clés de sécurité matérielles, arrêtent ce phishing en temps réel.
Choisir le second facteur : application, passkey, SMS ou e-mail
Tous les seconds facteurs ne se valent pas :
| Méthode | Niveau | Remarques |
|---|---|---|
| Passkey ou clé de sécurité | Le plus élevé | Résiste au phishing ; l’extension doit le gérer |
| Application d’authentification (TOTP) | Élevé | Gratuite, hors ligne, largement prise en charge |
| Code par e-mail | Moyen | Aussi sûr que la boîte mail, pas plus |
| Code par SMS | Le plus faible | SIM swapping, interception |
Les passkeys (clés d’accès) reposent sur le standard WebAuthn et utilisent une paire de clés stockée sur votre téléphone, votre ordinateur ou une clé matérielle. Le navigateur n’utilise une passkey que sur le domaine pour lequel elle a été créée : un site de phishing qui imite le vôtre n’obtient donc rien. Si votre extension 2FA prend en charge les passkeys, proposez-les en priorité aux administrateurs.
Les applications d’authentification sont le choix pratique par défaut. N’importe quelle application TOTP fait l’affaire, par exemple Google Authenticator, Microsoft Authenticator, des applications open source comme Aegis ou 2FAS, et de nombreux gestionnaires de mots de passe.
Les codes par SMS sont plus faibles : des criminels peuvent prendre le contrôle d’un numéro de téléphone par SIM swapping (détournement de la carte SIM), et les messages peuvent être interceptés. Le référentiel américain NIST SP 800-63B classe donc les codes envoyés par le réseau téléphonique, comme les SMS, parmi les authentificateurs « restreints » (restricted). C’est mieux que rien, mais nous ne le recommandons pas pour les comptes administrateurs.
Les codes de secours sont votre double des clés. La plupart des extensions génèrent une série de codes à usage unique. Conservez-les dans votre gestionnaire de mots de passe, ou imprimez-les et rangez-les en lieu sûr, mais pas à côté de votre téléphone.
Qui doit utiliser la 2FA sur WordPress
Nous recommandons de rendre l’authentification à deux facteurs obligatoire pour :
- chaque Administrateur et chaque Éditeur, ainsi que chaque Gestionnaire de boutique sur les sites WooCommerce ;
- toute personne qui peut voir des données personnelles, comme des messages de formulaire, des commandes ou des comptes clients ;
- les accès des agences et des freelances : chaque personne a son propre compte et son propre second facteur, jamais un identifiant « agence » partagé et lié au téléphone d’une seule personne ;
- les comptes autour de WordPress : panneau d’hébergement, SFTP ou SSH, bureau d’enregistrement du nom de domaine, et la boîte mail qui reçoit les réinitialisations de mot de passe.
Pour les abonnés et les clients de la boutique, proposer la 2FA en option suffit généralement.
Déployer la 2FA en six étapes
- Faites d’abord le ménage dans les comptes. Supprimez ceux des anciens salariés et prestataires, et abaissez les rôles plus élevés que nécessaire. Inutile de protéger des comptes que personne n’utilise.
- Choisissez une extension. Vérifiez qu’elle gère le TOTP, les codes de secours, l’obligation par rôle et, idéalement, les passkeys. L’extension gratuite Two Factor de WordPress.org est maintenue par des contributeurs de WordPress et couvre le TOTP et les codes de secours, mais ne permet pas d’imposer la 2FA par rôle. Des extensions de sécurité comme Security Audit & Compliance de secaudit.eu intègrent aussi la connexion à deux facteurs par TOTP.
- Testez avec votre propre compte. Activez la 2FA, déconnectez-vous, puis reconnectez-vous dans une fenêtre de navigation privée. Gardez un second compte administrateur protégé par 2FA comme solution de repli.
- Annoncez une date. Envoyez un court guide qui indique l’application à installer et l’échéance.
- Rendez-la obligatoire pour les rôles cités plus haut, afin que personne ne puisse sauter la configuration.
- Fermez les accès secondaires. Désactivez XML-RPC si rien ne l’utilise, ou vérifiez que votre extension le couvre. Passez en revue les mots de passe d’application (disponibles depuis WordPress 5.6) : ils servent aux accès par API et ne passent pas par la demande de second facteur, alors ne gardez que ceux dont vous avez besoin.
Téléphone perdu : récupérer l’accès en toute sécurité
Les téléphones perdus ou remplacés font partie du quotidien : prévoyez ces situations avant qu’elles ne se produisent.
- Code de secours : l’utilisateur se connecte avec un code de secours, configure de nouveau la 2FA sur le nouveau téléphone et génère de nouveaux codes de secours.
- Un autre administrateur peut généralement réinitialiser le second facteur d’un utilisateur. Confirmez la demande par un canal auquel vous faites déjà confiance, par exemple en rappelant le collègue sur un numéro connu. « J’ai perdu mon téléphone, tu peux réinitialiser ma 2FA ? » est une formule classique d’ingénierie sociale.
- En dernier recours, pour un administrateur unique bloqué : désactivez l’extension 2FA sur le serveur, connectez-vous, puis réactivez-la immédiatement.
Avec WP-CLI, remplacez two-factor par le nom du dossier de votre extension :
wp plugin deactivate two-factor
Sans WP-CLI, renommer le dossier de l’extension dans wp-content/plugins/ par SFTP produit le même effet ; redonnez-lui son nom d’origine avant de réactiver l’extension. Cette méthode fonctionne pour quiconque a accès au serveur, et c’est précisément pour cela que les comptes d’hébergement et SFTP doivent eux aussi être solidement protégés.
Authentification à deux facteurs, NIS 2 et RGPD
Sur ce point, la directive NIS 2 est explicite : l’article 21, paragraphe 2, point j), de la directive NIS 2 range les solutions d’authentification à plusieurs facteurs ou d’authentification continue parmi les mesures minimales imposées aux entités concernées. Votre entreprise en fait-elle partie ? Cela dépend de sa taille, de son secteur et de la loi nationale de votre pays, comme l’explique notre article NIS 2 et votre site WordPress. Même si NIS 2 ne vous concerne pas directement, vos clients qui y sont soumis doivent gérer la sécurité de leur chaîne d’approvisionnement (article 21, paragraphe 2, point d), et ils demandent de plus en plus souvent aux agences si les accès administrateur sont protégés.
Le RGPD ne cite pas la 2FA, mais son article 32 exige des mesures de sécurité qui tiennent compte de l’état des connaissances. Pour des comptes administrateurs ayant accès à des données personnelles, la 2FA est peu coûteuse et largement disponible : difficile, dès lors, de soutenir qu’elle n’était pas appropriée. Voir à ce sujet l’article 32 du RGPD appliqué à WordPress. Consignez la date à laquelle vous l’avez rendue obligatoire et les rôles concernés, car l’article 5, paragraphe 2, attend de vous que vous puissiez démontrer vos mesures.
FAQ
La 2FA protège-t-elle complètement mon site WordPress ?
Non. Elle protège la connexion. Les extensions vulnérables, un hébergement mal sécurisé et les malwares présents sur l’ordinateur d’un utilisateur appellent leurs propres mesures.
Un code par e-mail suffit-il ?
C’est mieux que pas de second facteur du tout, mais quiconque contrôle la boîte mail reçoit à la fois le lien de réinitialisation du mot de passe et le code. Pour les administrateurs, utilisez une application ou une passkey.
Plusieurs personnes peuvent-elles partager un compte protégé par 2FA ?
Elles ne devraient pas. Donnez à chacun son propre compte ; c’est aussi la seule façon propre de retirer un accès quand quelqu’un s’en va.
Cet article est une information générale et ne constitue pas un conseil juridique.
Vérifiez votre propre site
Security Audit & Compliance est l’extension WordPress de secaudit.eu : elle recherche les logiciels malveillants, le spam caché, les fichiers du cœur modifiés et le code vulnérable, et rattache ses constats à l’article 32 du RGPD, à l’article 21 de NIS2 et à l’OWASP Top 10.
Voir ce que vérifie l’extension