L'attaque "brut force" est la plus simpliste qui
soit : un pirate va essayer les noms d'utilisateurs et les mots de passe les
plus courants, tels que par exemple le login ADMIN ou le mot de passe 123456.
Le pirate envoie un grand nombre de requêtes sur le serveur
pour casser le mot de passe du fichier wp-login.php, ce qui vont
considérablement ralentir la fluidité de votre site. Pour le contrer, voici les
prérogatives à suivre :
Etape 1 : Jamais utiliser le login ADMIN
Les premières versions de Wordpress déterminaient par
défaut le login sous la dénomination ADMIN.
Si vous êtes toujours sous ce nom d'utilisateur, il vous est
fortement conseiller de créer un nouveau compte, transférer tous les messages
de ce compte, et de modifier le login sous une autre appellation.
Etape 2 : Utiliser un mot de pass
"compliqué"
Plus votre mot de passe sera long et compliqué (mélange de
caractère alphanumérique, plus les chances de le décoder sont basses.
De plus, pour vous aider, voici les erreurs à éviter lors de
l'élaboration du mot de passe :
- Toute
permutation de votre vrai nom, nom d'utilisateur, nom de l'entreprise, ou
le nom de votre site web.
- Un
mot d'un dictionnaire, dans n'importe quelle langue.
- Un
mot de passe court.
- Toute
exclusivement numérique ou alphabétique seule passe (un mélange des deux
est le meilleur).
Etape 3 : Mettre à jour la version de word press
La mise à jour de Wordpress permet de corriger les failles
de sécurité. Veiller toujours à vous procurer la dernière version disponible.
Etape 4 : La mise en place de plug in
Les plugins peuvent être utilisés pour limiter le nombre de
tentatives de connexion effectuées sur votre site et ainsi de bloquer l'accès
au fichier wp-login.php
Le plugin LOCK DOWN permet par exemple de désactiver la connexion à une adresse IP qui tenterait à plusieurs reprises pendant un certain laps de temps de se connecter en bruteforce.
Il est possible de modifier selon la convenance la paramétrage dans le pannel Administrator (nombre de tentatives de connexion maximale, durée d'interdicton).
Ci-dessous le lien du téléchargement : https://wordpress.org/plugins/login-lockdown/installation/
Etape 5 : Vérouiller l'accès les fichiers
wp-login.php ou wp-admin
En verrouillant l'accès à ces fichiers, les pages qui
s'afficheront pourront porter le message d'erreur 401 ou 404. Pour éviter
celle-ci, il faut que vous rajoutiez la ligne suivant à votre fichier
.htaccess :
ErrorDocument 401 par défaut
Pour Nginx vous pouvez utiliser la ligne
suivante :" error_page " mais vous devez fournir une URL à caractère
"interdit".
Etape 5.1 Modifier l'URL de connexion à l'Administration Wordpress
Par défaut, l'accès à son back office se fait à l'adresse suivante : www.monsite.com/wp-admin ou/wm-login.php
Cela rend votre site plus vunérable aux attaques. Mais vous avez la possibilité de changer l'accès.
Pour se faire, il faut que vous modifier le fichier .htaccess se trouvant sur le compte FTP mais dans les fichiers cachés.
Ensuite, éditer le fichier et rajouter en haut de celui-ci la ligne de code suivante :
RewriteRule ^login$ http://NOM_DU_SITE.com/wp-login.php [NC,L]
Etape 6 : Protéger le fichier wp-login.php
Le fait de protéger le fichier wp-login.php donnera
une sécurité supplémentaire dans la protection de votre site.
La manipulation consiste à créer un fichier .htpasswds (voir
dans le faq).
Une fois le fichier .htpasswd crée et transférer sur votre
espace personnel, il faut que vous déterminiez son emplacement dans le fichier
.htaccess. Si le fichier .htpasswd est dans le répertoire de votre
compte utilisateur et que votre compte utilisateur est par exemple nommé "MONSITE",
voici la manipulation à effectuer :
# Stop
Apache from serving .ht* files
Order
allow,deny Deny from all
# Protect
wp-login
AuthUserFile
~/.htpasswd
AuthName
“Private access”
AuthType Basic
require user monsite
Si vous utilisez Nginx, vous pouvez protéger votre fichier wp-login.php en
utilisant HttpAuthBasicModule . Ce
bloc doit être à l'intérieur de votre bloc de serveur.
Si vous utilisez Nginx vous pouvez mot de passe protéger
votre fichier wp-login.php utilisant le HttpAuthBasicModule . Ce
bloc doit être à l'intérieur de votre bloc de serveur.
location
/wp-login.php {
auth_basic
"Administrator Login";
auth_basic_user_file
.htpasswd;
}
Le chemin du fichier est relatif au répertoire de fichier de
configuration nginx nginx.conf Le fichier doit être au format suivant:
user: pass
user2: pass2
utilisateur3: pass3
Les mots de passe doivent être codés par la fonction crypt
(3). Vous pouvez utiliser une ligne générateur de htpasswd pour
crypter votre mot de passe.
Etape 7 : Restreindre l'accès via l'adresse IP
Si vous êtes la seule personne qui a besoin de vous
connecter à sur l'espace client et vous avez une adresse IP fixe, vous pouvez
restreindre l'accès à wp-admin à tous les utilisateurs, excepté vous-même via
le fichier .htaccess.
Créez un fichier dans un editieur de texte et nommer le
.htaccess et ajouter la ligne suivante en mettrevotre adresse IP (pour
l'obtenir, saisir "votre adresse IP" dans Google ; des sites pourront
vous la communiquer) :
# Block
access to wp-admin.
order deny,allow
allow from votre
adresse IP
deny from all
Etape 8 : Refuser l'accès au requêtes non-référencées
Utilisé contre le spam au sein des commentaires, celui-ci
est efficace pour toutes les requêtes n'ayant pas de "nom
d'utilisateur". Voici la marche à suivre :
# Stop spam attack logins and comments
RewriteEngine
On
RewriteCond %{REQUEST_METHOD}
POST
RewriteCond %{REQUEST_URI}
.(wp-comments-post|wp-login).php*
RewriteCond %{HTTP_REFERER} !.*example.com.*
[OR]
RewriteCond %{HTTP_USER_AGENT}
^$
RewriteRule
(.*) http://%{REMOTE_ADDR}/$ [R=301,L]
Etape 8.1 - Blocklists
ll est constaté que la plupart des attaques par force
brute proviennent de Russie, Kazachstan et l'Ukraine. Vous pouvez choisir
de bloquer les adresses IP en provenance de ces pays. Il existe des listes
de blocage disponible sur le web que vous pouvez télécharger.
Cependant, cette méthode n'est pas complètement efficace car
elle pourrait interdire l'accès à des utilisateurs légitimes.
Outre les listes de blocage par pays, il existe des listes
avec les adresses IP des spammeurs connus. Vous pouvez également les
utiliser pour les bloquer.