Login LockDown, il s’agit d’un must-have. Ce genre de plugin que l’on croit intégré par défaut à wordpress, mais qui ne l’ai pas.
Par défaut, lorsqu’une personne essaie de se connecter à votre blog sous wordpress, il pourra faire autant de tentative qu’il le souhaite, il n’y a aucun blocage. Les petits malins (ou les scripts pour le brut force) peuvent donc s’en donner à cœur joie pour deviner votre mot de passe d’administration.
A cela, Login LockDown permet de limiter le nombre de tentative infructueuse (3 par défaut mais c’est paramétrable) en fonction d’un laps de temps entre chaque tentative (5 min par défaut mais c’est paramétrable), et le temps de blocage (60 min par défaut mais c’est paramétrable)… Un must-have quoi !
A noter que ce n’est pas un blocage par utilisateur (user) mais blocage de l’adresse IP.
Ce que je trouve dommage, c’est qu’aucune information sur le nombre de tentative infructueuse, et de blocage n’apparaissent dans le centre d’administration (qui ne sert qu’au paramétrage des différentes variables).
Du coup, en attendant qu’une âme charitable « s’amuse » à coder cela proprement, voici ma méthode (un peu archaïque) pour analyser les tentatives de connexion.
Login LockDown, pour bloquer les tentatives de connexions à votre WordPress :
Tout d’abord, il faut se connecter à sa base de donnée MySQL. Dans l’exemple ci-dessous, il s’agit de mon hébergement chez OVH.
Une fois connecté à phpmyadmin, on clique sur le (+) à gauche du nom de sa base puis on clique sur la table « YYYY_lockdowns » (YYYY représente le préfixe que vous avez choisi au moment de l’installation de WordPress)
Dans « YYYY_lockdowns », il peut y avoir plusieurs lignes, plusieurs pages. Il s’agit de tous les blocages d’adresse IP.
Dans la table « YYYY_login_fails », c’est pareil (plusieurs lignes/pages), et on y trouve toutes les tentatives de connexions infructueuses.
Pour aller plus loin, il peut être interessant de savoir si les personnes qui essaient de se connecter à votre WordPress dispose des pseudos, ou si ceux-ci aussi sont erronés (comme le mot de passe puisque c’est un « fail »).
Pour cela, il faut regarder la colonne « user_id ».
Un petit tour dans le code de Login LockDown, et on apprend que la valeur « -1 » correspond à un identifiant qui n’existe pas dans votre wordpress. En revanche, si user_id n’est pas égal à « -1 », il s’agit d’un identifiant qui existe bien sur votre WordPress.
Pour découvrir de quel identifiant il s’agit, il faut se rendre dans la table « YYYY_users ». Dans l’exemple ci-dessous, il n’y a que trois identifiants (2, 3 et 4 mais pas de 1).
L’accès à ces logs est très intéressant. Cela m’a permis de prendre conscience, que mon modeste wordpress était victime de plusieurs centaine de tentative de connexions infructueuses par jour (en tout cas sur certaine période). Par exemple, le 11/01/2016, mon blog a enregistré 72 tentatives de connexions infructueuses pour une dizaine de blocage temporaire (grâce à Login LockDown).
SF Move Login comme parade ?
Conséquence de ces tentatives de connexions régulières, j’ai installé un plugin qui complique les tentatives des gens mal intentionnés : SF Move Login
Ce plugin WordPress change simplement l’emplacement pour se connecter en tant qu’utilisateur, et également l’emplacement du répertoire d’administration.
Jusqu’à présent pour se connecter à mon blog, il fallait se rendre sur http://blognote.jeremyblaizeau.com/wp-login.php … le « wp-login.php » étant la page de connexion par défaut sur tous les WordPress. Avec SF Move Login, j’ai changé son emplacement (et à priori, ça rend la tâche plus compliqué pour connaitre sa nouvelle URL).
Bien sur, il faut retenir la nouvelle URL de connexion, mais grâce à cela, je n’ai plus aucune tentative de connexion. Du moins pour le moment ?… A suivre.