Seguridad y SSL

Restringir por IP el administrador de Magento

Revisado el 3 min de lectura seguridad control de acceso magento

Limitar el administrador de Magento a direcciones conocidas reduce su exposición. Antes de cambiar reglas, confirma la ruta administrativa actual, crea una copia del .htaccess y conserva un acceso alternativo para revertir el cambio.

En este ejemplo se permite únicamente 203.0.113.10 sobre una ruta administrativa llamada admin:

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

Sustituye la IP por tu dirección pública exacta, escapando los puntos y manteniendo ^ y $. Para permitir varias IPs, añade una condición negativa exacta por cada una:

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 utilizas una ruta distinta, sustituye admin por su valor exacto. No recortes la expresión para acomodar una IP dinámica: podrías autorizar un rango mucho mayor del previsto. En ese caso usa una VPN con salida fija u otro control administrado.

Si Magento está detrás de Cloudflare, un balanceador u otro proxy, confirma primero que Apache recibe la IP real del visitante en REMOTE_ADDR; de lo contrario podrías autorizar o bloquear la IP del proxy. Prueba desde una conexión permitida y otra denegada.

Esta restricción complementa, pero no sustituye, una ruta administrativa personalizada, contraseñas únicas, 2FA, CAPTCHA, limitación de intentos y las actualizaciones de Magento.

Ajustar la ruta y comprobar el resultado

El ejemplo presupone que la tienda vive en la raíz del dominio. Si está en /tienda, la condición debe incluir ese prefijo; si hay varios nombres o rutas de entrada, comprueba todos. En Magento 2 puedes consultar la ruta configurada con bin/magento info:adminuri desde la instalación, según la documentación de Adobe.

Coloca la restricción antes de las reglas generales que envían peticiones al controlador de Magento. Prueba tanto la ruta amigable como su variante con index.php, desde una IP autorizada y otra no autorizada. Un error 500 indica un problema de configuración, no una restricción correcta.

La regla cubre esa ruta administrativa, no todas las APIs o integraciones de la tienda. Si el servidor no usa .htaccess, el control debe configurarse en la capa equivalente. Mantén el acceso al hosting para restaurar el fichero anterior si te bloqueas.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.