Sécurité et SSL

Restreindre par IP l'administration de Magento

Vérifié le 3 min de lecture seguridad control de acceso magento

Limiter l'administration de Magento à des adresses connues réduit son exposition. Avant de modifier des règles, confirmez la route d'administration actuelle, faites une copie du .htaccess et gardez un accès alternatif pour annuler la modification.

Dans cet exemple, seule l'adresse 203.0.113.10 est autorisée sur une route d'administration appelée admin :

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(index\.php/)?admin(?:/|$) [NC]
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.10$
RewriteRule ^ - [F,L]

Remplacez l'IP par votre adresse publique exacte, en échappant les points et en conservant ^ et $. Pour autoriser plusieurs IP, ajoutez une condition négative exacte pour chacune :

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(index\.php/)?admin(?:/|$) [NC]
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.10$
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.12$
RewriteRule ^ - [F,L]

Si vous utilisez une autre route, remplacez admin par sa valeur exacte. Ne raccourcissez pas l'expression pour accepter une IP dynamique : vous pourriez autoriser une plage bien plus large que prévu. Dans ce cas, utilisez un VPN avec une sortie fixe ou un autre contrôle géré.

Si Magento se trouve derrière Cloudflare, un répartiteur de charge ou un autre proxy, vérifiez d'abord qu'Apache reçoit l'IP réelle du visiteur dans REMOTE_ADDR ; sinon, vous pourriez autoriser ou bloquer l'IP du proxy. Testez depuis une connexion autorisée et depuis une autre refusée.

Cette restriction complète, sans les remplacer, une route d'administration personnalisée, des mots de passe uniques, la 2FA, un CAPTCHA, la limitation des tentatives et les mises à jour de Magento.

Ajuster la route et vérifier le résultat

L'exemple suppose que la boutique se trouve à la racine du domaine. Si elle est dans /tienda, la condition doit inclure ce préfixe ; s'il existe plusieurs noms ou routes d'entrée, vérifiez-les tous. Dans Magento 2, vous pouvez consulter la route configurée avec bin/magento info:adminuri depuis l'installation, selon la documentation d'Adobe.

Placez la restriction avant les règles générales qui envoient les requêtes au contrôleur de Magento. Testez la route conviviale et sa variante avec index.php, depuis une IP autorisée et depuis une IP non autorisée. Une erreur 500 indique un problème de configuration, pas une restriction correcte.

La règle couvre cette route d'administration, pas toutes les API ni toutes les intégrations de la boutique. Si le serveur n'utilise pas .htaccess, le contrôle doit être configuré dans la couche équivalente. Gardez l'accès à l'hébergement pour restaurer le fichier précédent si vous vous bloquez.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.