En fonction du système de gestion de contenu lui-même (CMS), nous recommandons de limiter l'accès à la section administrative du site au niveau du service du serveur Web.
En utilisant l'exemple du CMS Laravel, où la section administrative existe séparément du site lui-même, la conception de configuration suivante dans nginx fonctionne bien
...
location /myadmin {
try_files $uri $uri/ /index.php?$query_string;
allow 77.xx.80.xxx;
allow 89.xxx.71.xx;
deny all;
}
...
Où:
/myadmin est l'emplacement du dossier avec la section administrative (comme https://domain.tld/myadmin)
Dans notre exemple, nous avons répertorié une liste d'adresses IP à partir desquelles ce chemin sera résolu, où vous pourrez obtenir une autorisation supplémentaire à l'aide de votre identifiant et de votre mot de passe. À partir des autres adresses IP qui ne figurent pas dans la liste, le message suivant s'affichera : Interdit.
Cette règle augmente considérablement la sécurité de votre site ; gardez à l'esprit que chaque CMS doit être vérifié séparément, car certaines sections administratives avec une telle restriction peuvent perturber le fonctionnement de l'ensemble du site.
Pour appliquer les paramètres, n'oubliez pas de redémarrer le service en vérifiant la configuration dans son ensemble.
nginx -t
service nginx restart
Pour une autorisation toujours à partir de la même adresse IP statique, utilisez un serveur VPS, par exemple avec le service squid configuré.