Restreindre par adresse IP l’accès à la page d’authentification de WordPress avec Nginx |
Notre WordPress étant fonctionnel, il faut le sécuriser a minima.
Un des conseils qui revient souvent c’est la sécurisation de la page d’administration, Apache s’appuie sur un .htaccess, pour Nginx il faut ajouter un bloc dans le vhost.
Éditer le et ajouter entre location et https les lignes ci dessous ,
remplacer les xx.xx.xx.xx par le ou les ip’s publics.
1 |
$ sudo vim /etc/nginx/sites-available/wordpress |
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="font-size: 10pt; color: #808080;">location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|eot|otf|woff|woff2|ttf|ogg)$ {</span> <span style="font-size: 10pt; color: #808080;"> expires 10d;</span> <span style="font-size: 10pt; color: #808080;"> }</span> location ~ ^/(wp-admin|wp-login.php) { allow xx.xx.xx.xx; allow xx.xx.xx.xx; allow xx.xx.xx.xx; deny all; } <span style="color: #808080; font-size: 10pt;">HTTPS ####</span> |
Tester puis redémarrer les services
1 |
$ sudo nginx -t |
1 2 |
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful |
1 |
$ sudo systemctl restart php5-fpm && sudo systemctl restart nginx |
Tout autre IP essayant de se connecter sur la page d’admin aura un 403 Forbidden