Malgré la réputation du système de gestion de contenu WordPress dépassant toutes les attentes en termes de publication de contenu sans faille et de contrôle d'accès utilisateur transparent, il existe encore des failles de sécurité inquiétantes qui nécessitent un traitement prioritaire.
Deux points d'accès importants sur un site WordPress doivent être protégés à tout prix. Le premier est le wp-login.php page chargée d'accueillir les utilisateurs normaux et privilégiés.
[ Vous pourriez également aimer :Comment réinitialiser le mot de passe administrateur WordPress via MySQL ]
Le second est le wp-admin/ page chargée d'accueillir les utilisateurs administrateurs du site. La protection de ces deux pages de site WordPress décourage les attaques par force brute.
Bloquer l'accès à wp-admin et wp-login dans Apache
Configuration du serveur Web Apache environnement pour communiquer avec votre WordPress le site, à quelque titre que ce soit, nécessite d'abord l'accès au fichier de configuration principal de l'hôte.
Ouvrez votre fichier de configuration WordPress vhost apache.
De mon côté, il s'agit du fichier de configuration personnalisé associé à mon site WordPress. Nous allons utiliser le <location></location>
balises dans ce fichier pour bloquer l'accès à wp-admin et wp-login.php Pages WordPress.
<location /wp-admin> deny from all </location> <location /wp-login.php> deny from all </location>
Redémarrez maintenant le serveur Apache.
$ sudo systemctl restart apache2 [On Ubuntu, Debian & Mint] $ sudo systemctl restart httpd [On RHEL/CentOS/Fedora & Rocky Linux/AlmaLinux]
Le rechargement de la page après le redémarrage d'Apache a conduit à l'affichage suivant.
Autoriser l'accès à l'administrateur WordPress par adresse IP
Si vous souhaitez uniquement vous accorder l'accès à ces deux pages, vous pouvez spécifier l'adresse IP que vous utiliserez via la clause allow from, comme illustré dans la capture d'écran suivante.
<location /wp-admin> allow from 127.0.0.1 allow from 192.168.2.9 allow from 10.32.15.7 deny from all </location> <location /wp-login.php> allow from 127.0.0.1 allow from 192.168.2.9 allow from 10.32.15.7 deny from all </location>
Refuser l'accès à l'administrateur WordPress par adresse IP
<location /wp-admin> deny from 192.168.2.9 deny from 10.32.15.7 allow from all </location> <location /wp-login.php> deny from 192.168.2.9 deny from 10.32.15.7 allow from all </location>
Assurez-vous de redémarrer le serveur Apache après avoir apporté des modifications à la configuration.
Bloquer l'accès à wp-admin et wp-login dans Nginx
Avec Nginx , l'approche pour bloquer l'accès des utilisateurs à wp-admin et wp-login.php Les pages WordPress sont presque similaires à la technique d'Apache. Tout d'abord, accédez au fichier de configuration Nginx associé à votre site WordPress.
Le location
les balises à utiliser avec Nginx ont une syntaxe légèrement différente, comme illustré ci-dessous :
location { }
Pour bloquer tout accès aux deux pages WordPress :
location /wp-admin { deny all; } location = /wp-login.php { deny all; }
Après avoir apporté des modifications, redémarrez le serveur Nginx.
$ sudo systemctl restart nginx
Le rechargement de la page après le redémarrage de Nginx a entraîné l'erreur d'affichage suivante.
Restreindre l'accès à l'administrateur WordPress par adresse IP
location /wp-admin { allow 192.168.2.9; allow 10.32.15.7; deny all; } location = /wp-login.php { allow 192.168.2.9; allow 10.32.15.7; deny all; }
Blocage de l'accès à WordPress Admin par adresse IP
location /wp-admin { deny 192.168.2.9; deny 10.32.15.7; allow all; } location = /wp-login.php { deny 192.168.2.9; deny 10.32.15.7; allow all; }
Assurez-vous de redémarrer le serveur Nginx après avoir apporté des modifications à la configuration.
[ Vous pourriez également aimer :Comment bloquer XML-RPC dans WordPress à l'aide de Nginx/Apache ]
En tant qu'administrateur WordPress, avoir le pouvoir de décider qui a accès à quelle section de votre site WordPress sauve la réputation du site des utilisateurs à risque ou des accès qui peuvent compromettre son intégrité et sa réputation pour de bon.