Cómo proteger el directorio de administración de PrestaShop (admin)
¿Por qué es tan importante proteger la carpeta admin de PrestaShop?
Si tienes una tienda online con PrestaShop, el directorio /admin es, sin duda, la puerta principal de tu negocio digital. Es el panel desde el que gestionas productos, pedidos, clientes y configuraciones. Pero, precisamente por eso, es también el primer objetivo que buscan los atacantes automatizados y los hackers para intentar colarse en tu tienda.
Piensa en tu carpeta admin como la cerradura de la puerta de tu casa. Si dejas una cerradura estándar y conocida, cualquier ladrón con un poco de maña puede intentar abrirla. Proteger PrestaShop implica poner varias capas de seguridad para que esa puerta sea prácticamente impenetrable.
En este artículo, te voy a explicar paso a paso, y de una forma muy sencilla, cómo proteger el directorio de administración de PrestaShop para que tu tienda y los datos de tus clientes estén a salvo. No necesitas ser un experto en informática, solo seguir estas recomendaciones al pie de la letra.
La regla de oro: Cambiar el nombre de la carpeta admin
El primer paso, y el más básico, es cambiar el nombre de la carpeta admin por defecto. Cuando instalas PrestaShop, la carpeta de administración suele llamarse admin o admin12345 (con un número aleatorio). Sin embargo, muchos usuarios no la renombran o la dejan con un nombre fácil de adivinar.
¿Por qué es tan crítico?
Porque los bots y los atacantes rastrean Internet en busca de rutas conocidas. Probarán automáticamente direcciones como tutienda.com/admin, tutienda.com/administrator o tutienda.com/backoffice. Si tu carpeta se llama igual que la de millones de tiendas, les estás dando la bienvenida.
Cómo cambiar el nombre de la carpeta admin manualmente
Este proceso es más sencillo de lo que parece. Solo tienes que seguir estos pasos:
- Accede a tu hosting a través de un administrador de archivos (como cPanel, Syspanel o FTP) y busca la carpeta raíz donde está instalada tu tienda PrestaShop.
- Localiza la carpeta que actualmente contiene tu panel de administración (por ejemplo,
adminoadmin12345). - Haz clic derecho sobre ella y selecciona "Renombrar".
- Elige un nombre nuevo que sea difícil de adivinar. Evita nombres como
admin,panel,backoffice,gestion, etc. Te recomiendo usar una combinación de letras y números sin sentido, comox7k2p9qotienda_gestion_2024. Cuanto más aleatorio, mejor. - Guarda el cambio.
[WARNING] Después de renombrar la carpeta, la URL de tu panel de administración cambiará. Asegúrate de guardar la nueva URL en un lugar seguro, como tu gestor de contraseñas, porque será la única forma de acceder a tu tienda.
Actualizar la referencia en la base de datos
Renombrar la carpeta no es suficiente. PrestaShop guarda la ruta del directorio admin en su base de datos. Si no la actualizas, la tienda no sabrá dónde está su panel y te dará un error.
Para actualizarla, puedes hacerlo de dos maneras:
- Desde el archivo de configuración: Busca el archivo
config/settings.inc.php(en versiones antiguas) oapp/config/parameters.php(en versiones modernas). Dentro, encontrarás una línea que define la URL del admin y el nombre del directorio. Debes cambiar el valor antiguo por el nuevo. - Desde la base de datos (phpMyAdmin): Si te resulta más cómodo, accede a phpMyAdmin desde tu panel de control (Syspanel, cPanel, etc.), busca la tabla
ps_shop_url(el prefijops_puede variar) y actualiza el campophysical_uricon el nuevo nombre de tu carpeta, por ejemplo,/x7k2p9q/.
[INFO] Si no te sientes seguro editando archivos o la base de datos, alterna la opción de renombrar la carpeta desde el propio panel de administración de PrestaShop. Ve a Parámetros avanzados > Rendimiento y activa la opción "Forzar la compilación de plantillas". Luego, en Parámetros avanzados > Información podrás ver la ruta exacta. Aún así, el método manual es el más fiable.
Añade una capa extra: Proteger con contraseña a nivel de servidor
Cambiar el nombre es un gran paso, pero podemos ir más allá. Podemos proteger la carpeta admin de PrestaShop con una contraseña adicional a nivel de servidor. Esto significa que, antes de que aparezca la pantalla de acceso a PrestaShop, el navegador te pedirá un usuario y una contraseña HTTP (también conocido como autenticación básica).
Esta es una barrera formidable, porque aunque un atacante adivine tu nueva ruta, se encontrará con un muro infranqueable antes de siquiera ver la pantalla de login.
Protección con cPanel o Syspanel
La mayoría de los paneles de control de hosting incluyen una herramienta llamada "Protección de directorios" o "Password Protect Directories". El proceso es muy similar en todos:
- Accede a tu panel de control (Syspanel, recuerda que el puerto de acceso es el 2106, o cPanel, según tu proveedor).
- Busca la sección de "Seguridad" o "Archivos".
- Selecciona "Protección de directorios" o "Password Protect Directories".
- En la lista, navega hasta la carpeta raíz de tu tienda y selecciona la carpeta admin que acabas de renombrar (por ejemplo,
x7k2p9q). - Marca la casilla para "Proteger este directorio" y ponle un nombre (puede ser "Zona privada" o similar).
- Crea un usuario y una contraseña fuerte. No uses el mismo usuario y contraseña que tu panel de PrestaShop.
- Guarda los cambios.
Ahora, cuando intentes acceder a tutienda.com/x7k2p9q, el navegador te pedirá primero estas credenciales HTTP y, después, las de tu tienda.
[TIP] Anota estas credenciales en tu gestor de contraseñas. Son una capa adicional que deberás recordar para entrar a tu tienda.
Protección mediante archivo .htaccess (para servidores Apache)
Si tu hosting usa Apache (lo más común), puedes crear o editar el archivo .htaccess dentro de la carpeta admin. Este método es más técnico, pero igual de efectivo.
- Con un administrador de archivos, entra en tu carpeta admin renombrada.
- Busca un archivo llamado
.htaccess. Si no existe, créalo con un editor de texto. - Pega el siguiente código:
AuthType Basic
AuthName "Acceso restringido"
AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
Require valid-user
Importante: Debes cambiar /ruta/absoluta/a/tu/archivo/.htpasswd por la ruta real en tu servidor donde vas a guardar el archivo .htpasswd. Este archivo contendrá el usuario y la contraseña encriptada.
- Ahora, crea el archivo
.htpasswd. Puedes generarlo en herramientas online o desde la terminal de tu hosting. La línea debe tener el formatousuario:contraseña_encriptada. - Sube el archivo
.htpasswda la ruta que especificaste en el.htaccess.
[WARNING] Si te equivocas en la ruta del archivo .htpasswd, te bloquearás el acceso a tu panel. Asegúrate de que la ruta sea absoluta y correcta. Si no estás seguro de cómo hacerlo, es mejor que uses el método del panel de control.
Refuerza la seguridad de PrestaShop desde su configuración interna
Además de proteger el directorio, PrestaShop tiene opciones internas que debes configurar para blindar tu tienda.
Cambiar el nombre de usuario del administrador
El usuario por defecto en PrestaShop es "admin@admin.com" o similar. Es la primera combinación que probarán los atacantes. Cámbialo por un correo electrónico único y difícil de adivinar.
Para hacerlo:
- Entra en tu panel de administración.
- Ve a Administración > Empleados.
- Haz clic en tu perfil de administrador.
- Cambia el correo electrónico y, si es posible, el nombre de usuario.
- Guarda los cambios.
Utiliza una contraseña robusta para el panel
Parece obvio, pero es la asignatura pendiente de muchos. Tu contraseña de acceso a PrestaShop debe ser larga (mínimo 12 caracteres), con mayúsculas, minúsculas, números y símbolos. No reutilices contraseñas de otros sitios.
[TIP] Usa un gestor de contraseñas como LastPass, 1Password o Bitwarden para generar y almacenar contraseñas complejas. Así no tendrás que memorizarlas.
Activa la autenticación de dos factores (2FA)
PrestaShop 1.7 y versiones posteriores permiten activar la verificación en dos pasos. Esto añade un código temporal (enviado a tu móvil o generado por una app) que se te pedirá después de introducir tu usuario y contraseña. Es una barrera casi infalible contra accesos no autorizados.
Para activarla:
- Ve a Administración > Empleados > Tu perfil.
- Busca la opción de "Autenticación de dos factores" o "2FA".
- Sigue las instrucciones para vincular tu aplicación de autenticación (Google Authenticator, Authy, etc.).
- Guarda los cambios.
A partir de ahora, para entrar a tu panel necesitarás el código que genera la app en tu móvil.
Mantén tu PrestaShop y sus módulos siempre actualizados
Una de las mayores brechas de seguridad no son los ataques sofisticados, sino las vulnerabilidades conocidas en versiones antiguas del software. Los desarrolladores de PrestaShop lanzan parches de seguridad constantemente. Si no actualizas, dejas la puerta abierta.
- Actualiza el núcleo de PrestaShop: Ve a Parámetros avanzados > Información y verás si hay una nueva versión disponible. Haz una copia de seguridad completa antes de actualizar.
- Actualiza los módulos y temas: Los módulos de terceros son otro punto débil. Desinstala los que no uses y mantén los demás al día.
[WARNING] Antes de cualquier actualización, realiza siempre una copia de seguridad completa de tu tienda (archivos y base de datos). Si algo sale mal, podrás restaurarla sin perder datos.
Preguntas frecuentes (FAQ) sobre la seguridad del admin
¿Qué pasa si ya he sido hackeado?
Si sospechas que tu tienda ha sido comprometida, actúa rápido:
- Cambia todas tus contraseñas (hosting, base de datos, PrestaShop).
- Restaura una copia de seguridad limpia de una fecha anterior al ataque.
- Escanea tu servidor en busca de archivos maliciosos.
- Contacta con tu proveedor de hosting para que te ayuden a limpiar el servidor.
¿Es necesario cambiar el nombre de la carpeta admin si tengo un certificado SSL?
Sí. El SSL protege la transmisión de datos entre el navegador y el servidor, pero no oculta la ruta de tu panel. Cambiar el nombre y añadir contraseña HTTP son medidas complementarias que debes implementar siempre.
¿Puedo usar el mismo nombre de carpeta para varias tiendas?
No, cada tienda debe tener un nombre de carpeta admin único y aleatorio. Usar el mismo en varias instalaciones facilita que, si un atacante descubre una, pueda acceder a todas.
¿Cómo sé si mi hosting usa Apache o Nginx?
Puedes preguntar a tu proveedor de hosting o mirar en la configuración de tu panel de control. Si usas Syspanel, generalmente la información del servidor está disponible en la sección de "Información del sistema". La mayoría de los hostings compartidos usan Apache, por lo que el método .htaccess funcionará.
Conclusión: La seguridad es un proceso continuo
Proteger el directorio de administración de PrestaShop no es una tarea de una sola vez, sino un hábito continuo. Cambiar el nombre de la carpeta, añadir una contraseña extra, usar contraseñas robustas, activar el 2FA y mantener todo actualizado son los pilares fundamentales para proteger PrestaShop.
Recuerda que la seguridad de tu tienda online es la confianza de tus clientes. Implementa estas medidas hoy mismo y duerme tranquilo sabiendo que has puesto varias cerraduras en la puerta de tu negocio. No dejes la puerta abierta por pereza o desconocimiento. Tu tienda y tus clientes te lo agradecerán.
