Si vous avez une adresse IP statique, chez vous ou au bureau, ou peut-être votre propre VPN, vous avez la chance de pouvoir augmenter votre sécurité. La technique consiste à restreindre les accès à l’admin de wordpress par une ou plusieurs ip.
Nous allons voir comment le mettre en place sur Nginx.
1. Création d’un bloc map
Nous allons créer un bloc map pour y inclure la liste des adresses ip autorisées.
map $remote_addr $allowed_ip { 1.2.3.4 1; 1:: 1; 5.6.7.8 1; default 0; }
On assigne la valeur 1 aux adresses ip que l’on veut autoriser et 0 pour le reste.
2. Modification du bloc server
Nous allons modifier notre « bloc server » pour y inclure nos conditions. Nginx ne supporte pas les opérateurs logiques dans les bloc if , nous allons donc devoir contourner le problème en mettant plusieurs if.
server { ... set $check ''; #initialisation de la variable if ( $allowed_ip = 0 ) { set $check "A"; } if ( $request_uri ~ ^/wp-(login\.php|admin/) ) { set $check "${check}B"; } if ( $check = "AB" ) { return 403; } ... }
Donc si l’adresse n’est pas dans la liste du bloc map « check = A » et si l’uri correspond à /wp-login.php ou wp-admin/ « check = AB ». Si nous avons $check = AB nous retournons une 403 ( forbidden ).
Laisser un commentaire