Seguridad y SSL
Restringir por IP el administrador de 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
- Alerta histórica de 2022 sobre una cadena de ataque en PrestaShop Resume la alerta de PrestaShop de julio de 2022, aclara las condiciones de explotación y explica cóm...
- Aviso histórico sobre registros masivos en PrestaShop 1.6 y 1.7 Documenta el fallo corregido en PrestaShop 1.6.1.24 y 1.7.5.2 y explica cómo actuar si todavía se lo...
- Cambiar la URL de acceso con WPS Hide Login Muestra cómo cambiar la ruta de acceso con WPS Hide Login, sus límites como control de seguridad y c...
- Configurar la seguridad de cookies de sesión en GLPI Comprueba HTTPS y la configuración PHP efectiva de GLPI para resolver avisos de cookies Secure, sin...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.