Comment bloquer les tentatives de connexion infructueuses sur WordPress
Publié: 2021-10-26Les échecs de connexion peuvent se produire pour diverses raisons. Souvent, c'est simplement le résultat d'un utilisateur qui a véritablement oublié son mot de passe. Cela arrive aux meilleurs d'entre nous pour ne pas juger trop sévèrement. Parfois, cependant, quelque chose de plus grave peut se produire - quelqu'un essaie d'entrer par effraction.
L'art de dépanner les échecs de connexion
Comme tous les autres problèmes WordPress, le dépannage (c'est-à-dire aller au fond des choses) est la première étape que nous devons entreprendre. Cela nous aidera à nous assurer que nous traitons le problème réel et non son symptôme. Heureusement, il existe un moyen simple de démarrer ce processus : regardez les données. Essentiellement, vous devriez voir l'une des deux choses suivantes :
- Mauvaise combinaison de nom d'utilisateur et de mot de passe
De mauvaises combinaisons de nom d'utilisateur et de mot de passe peuvent se produire pour l'une des deux raisons. Soit quelqu'un ou quelque chose essaie de deviner une combinaison nom d'utilisateur/mot de passe pour y accéder, soit il s'agit d'une attaque ciblée. Dans le cas de la première option, c'est un phénomène assez courant. Sinon, il peut s'agir d'une attaque ciblée sur votre site Web, soit pour accéder à votre site Web, soit pour le surcharger (DoS/DDoS).
- Bon nom d'utilisateur et mauvaises combinaisons de mot de passe
Les bonnes combinaisons de nom d'utilisateur et de mot de passe peuvent signifier deux choses. Soit il s'agit d'un véritable cas où quelqu'un a oublié son mot de passe, soit quelqu'un a découvert un nom d'utilisateur réel enregistré sur votre WordPress et essaie maintenant de deviner le mot de passe.
Une autre chose que vous devez vous rappeler de regarder est la fréquence. Un grand nombre de tentatives sur une courte période est généralement le signe d'une attaque automatisée. D'autre part, un calendrier lent et irrégulier est un signe révélateur d'une personne qui n'a pas encore pris son café.
Les dangers d'un trop grand nombre de tentatives de connexion infructueuses
Les attaques par devinette de mot de passe sont assez répandues. Trop de tentatives de connexion WordPress infructueuses sont généralement révélatrices de ce type d'attaques. Sans moyen de gérer cela, vous pourriez laisser votre site ouvert aux attaques et aux perturbations. Heureusement, la gestion de ce risque est très simple et nécessite peu d'efforts administratifs.
WordPress n'offre aucune fonctionnalité pour limiter ou prendre des mesures d'évitement en cas d'échec des tentatives de connexion. Un utilisateur peut continuer à essayer jusqu'à ce qu'il réussisse. Bien que donner aux gens des chances supplémentaires puisse être considéré comme la chose éthique à faire, imposer des limites et des contrôles peut contribuer grandement à assurer la sécurité et l'intégrité de votre site Web WordPress.
Comment empêcher les tentatives de connexion infructueuses sur WordPress
La mise en œuvre d'une politique d'échec de connexion WordPress est plus simple qu'il n'y paraît. Il y a principalement deux options à choisir, dont nous allons maintenant discuter.
Limiter manuellement les échecs de connexion
Si vous cherchez à limiter les échecs de connexion à WordPress sans plugin, vous pouvez modifier le fichier function.php du thème actif et ajouter le code correspondant. Il existe plusieurs façons d'ajouter du code personnalisé aux sites Web WordPress. cependant, cela nécessite une bonne compréhension de PHP et du fonctionnement de WordPress.
Installer un plugin
Il existe une autre option, la plus pratique, utilisez un plugin. Les plugins sont de toutes formes et tailles, y compris des plugins qui limitent simplement les tentatives de connexion et des plugins qui vous permettent d'appliquer une politique de sécurité par mot de passe sur WordPress pour un contrôle et une sécurité encore plus stricts.
WPassword est l'un de ces plugins WordPress. Il donne aux administrateurs un meilleur contrôle sur la façon dont les mots de passe sont utilisés et gérés sur leurs sites Web WordPress. Il inclut la possibilité de configurer une politique qui traite explicitement des tentatives de connexion infructueuses, parmi ses nombreuses autres fonctionnalités.
Autres choses à considérer
Une autre option qui mérite d'être mentionnée est CAPTCHA. Les plugins tels que Advanced noCaptcha et invisible Captcha sont parfaits pour vous aider à arrêter les attaques automatisées. Étant donné qu'un CAPTCHA doit être rempli avant qu'une tentative de journalisation ne soit effectuée, les bots derrière de telles attaques échouent au test et ne feront pas une seule tentative de connexion.
Une autre option qui a tendance à apparaître dans les conversations sur les politiques de connexion ayant échoué est celle du blocage des adresses IP. Grâce à cette option, l'adresse IP incriminée est mise sur liste noire, l'empêchant d'accéder à votre site Web en premier lieu. Bien que cela soit techniquement correct, un acteur malveillant persistant peut simplement utiliser une adresse IP différente, ce qu'il peut faire facilement. Pour cette raison, la stratégie de blocage des adresses IP finit souvent par être un jeu du chat et de la souris.
Une meilleure option consiste à utiliser un CDN (Content Delivery Network) et à les laisser gérer le blocage des adresses IP incriminées. Cela peut vous faire gagner un temps précieux, que vous pouvez investir dans des choses productives.
Comment concevoir une politique d'échec de connexion WordPress
Avant de commencer à appliquer une politique d'échec de connexion sur un site Web WordPress, nous devons réfléchir à quelques éléments. Comme tous les autres problèmes liés à la sécurité, la gestion des tentatives de connexion infructueuses souffre du paradoxe sécurité/convivialité. Plus quelque chose est sécurisé, moins il devient utilisable. L'inverse est tout aussi vrai. Ne permettre à personne de se connecter est très sécurisé mais difficilement utilisable. Donner aux utilisateurs des chances illimitées de se connecter peut compromettre la sécurité, mais augmente la convivialité.
Ce que vous devez comprendre, c'est la marge de manœuvre que vous êtes prêt à donner à vos utilisateurs. Traditionnellement, trois tentatives sont considérées comme adéquates et raisonnables. Certains ne sont pas d'accord avec cette notion et placent le nombre maximal de tentatives de connexion autorisées à dix. Quoi qu'il en soit, offrir des tentatives de connexion illimitées n'est pas une bonne stratégie et peut avoir des répercussions négatives.
La vérité est qu'il n'y a pas de bonne ou de mauvaise réponse. Trois est un nombre sûr, mais il augmentera les frais généraux administratifs. Dix pourraient avoir des frais généraux administratifs inférieurs mais comportent plus de risques.
En tant que tel, vous voudrez peut-être commencer par limiter le nombre de tentatives de connexion à trois, puis évaluer la situation. Lorsque vous utilisez WPassword, il est très facile de modifier ce numéro. Ainsi, vous pouvez très facilement adapter la politique à vos utilisateurs et à votre situation.
Il serait préférable que vous réfléchissiez également à ce qui se passe lorsqu'un compte est verrouillé. Le compte doit-il se déverrouiller automatiquement après une fenêtre de temps préconfigurée, ou un administrateur doit-il le déverrouiller manuellement ? Cette question succombe au même problème que précédemment : vous devez choisir entre convivialité et sécurité. Un autre aspect essentiel qui pourrait influencer cette partie de la politique est la localisation de vos utilisateurs. Si les gens se connectent depuis l'autre bout du monde, êtes-vous content de vous réveiller à deux heures du matin pour débloquer un compte ? Et si ce n'est pas le cas, combien de temps un utilisateur doit-il attendre avant de pouvoir se reconnecter ? Cela aura-t-il un impact sur leur productivité ou sur votre résultat net ?
Choisir les bons plugins (et politique) pour gérer les échecs de connexion WordPress
Une fois que vous avez compris à quoi vous aimeriez que votre mot de passe et votre politique d'échec de connexion ressemblent, vous devez commencer à travailler sur la mise en œuvre. Nous avons précédemment mentionné WPassword comme candidat principal. Il offre de nombreuses options de configuration, vous laissant une marge de manœuvre considérable lors de la configuration et de la mise en œuvre de votre politique de mot de passe.
Une fois que vous avez activé la politique d'échec des connexions pour WordPress, vous pouvez choisir le nombre de tentatives des utilisateurs avant que leur compte ne soit verrouillé. Vous pouvez également décider comment il est déverrouillé et si vous souhaitez forcer les utilisateurs à changer ou non leur mot de passe, comme expliqué ci-dessous.
Étape 1 : Installez et activez WPassword
L'installation de WPassword est simple. Vous pouvez télécharger le plugin de sécurité par mot de passe directement depuis le site Web de WP White Security, puis le télécharger sur votre site Web WordPress.
Une fois que vous avez installé le plugin, cliquez sur Plugins dans le menu latéral de WordPress, localisez le plugin et cliquez sur Activer . Cela ajoutera une nouvelle option de menu appelée Stratégies de mot de passe, sur laquelle vous devrez cliquer.
Étape 2 : Activer la stratégie d'échec des connexions
Cochez la case à côté de Enable Failed Logins Policies pour limiter les tentatives de connexion infructueuses sur votre site WordPress. Entrez le nombre de tentatives de connexion infructueuses avant de verrouiller un utilisateur, 3 à 5 étant généralement considéré comme un bon début.
D'autres options de configuration incluent ce qui se passe une fois qu'un compte est verrouillé et si les utilisateurs bloqués doivent réinitialiser leur mot de passe lors du déblocage. Reportez-vous à l'article de la base de connaissances sur la politique d'échec des connexions de WordPress pour plus d'informations.
Étape 3 : Prenez des mesures de sécurité supplémentaires
CAPTCHA
Nous avons également abordé CAPTCHA - le test omniprésent présent dans de nombreuses connexions et formulaires qui est conçu pour laisser passer les humains tout en arrêtant les bots et autres formes d'attaques automatisées. Des plugins tels que Advanced no Captcha et invisible Captcha facilitent la mise en œuvre de tels tests tout en offrant une compatibilité universelle et un support pour différentes versions.
Authentification à deux facteurs
Pour augmenter la sécurité des processus de connexion, l'authentification à deux facteurs est indispensable. Grâce à ce processus, les utilisateurs doivent s'authentifier une deuxième fois en saisissant un code d'accès à usage unique fourni via leur smartphone. En utilisant 2FA, ce que vous pouvez facilement faire via des plugins tels que WP 2FA, vous pouvez vous assurer que même si les mots de passe sont compromis, à moins que la personne n'ait le téléphone lié à ce compte d'utilisateur, elle ne pourra pas se connecter.
Étape 4 : Aller plus loin (facultatif)
Avec les politiques de mot de passe et d'échec de connexion, CAPTCHA et l'authentification à deux facteurs en place, vous devriez être bien couvert.
Cependant, si votre site Web connaît encore de gros volumes de tentatives de connexion infructueuses, vous devriez envisager d'utiliser un service CDN. Vous voudrez peut-être parler à votre fournisseur d'hébergement Web pour vous aider à mettre en œuvre une solution adaptée aux attaques à grande échelle.
La sécurité des mots de passe WordPress nécessite une approche 360
Comme nous l'avons vu tout au long de l'article, plusieurs facteurs doivent être pris en compte lors de la mise en œuvre d'une politique de mot de passe. Bien que le blocage des connexions WordPress échouées soit une bonne première étape (et une étape nécessaire), en adoptant une approche à 360°, vous pouvez être beaucoup plus sûr. Non seulement cela vous aide à couvrir toutes vos bases, mais cela peut également vous aider à inspirer plus de confiance dans votre site Web WordPress.
Une approche à 360 degrés examine plusieurs facteurs, notamment les plugins et les thèmes, l'hébergement, TLS, le noyau WordPress, etc. De cette façon, vous pouvez vous assurer que votre sécurité WordPress est en parfait état.