🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo proteger el directorio de administración de PrestaShop (carpeta /admin)

Actualizado el 8 de octubre de 2025

¿Por qué es tan importante proteger la carpeta /admin de PrestaShop?

Si tienes una tienda online con PrestaShop, la carpeta /admin es, sin duda, la puerta principal de tu negocio digital. Es donde gestionas productos, pedidos, clientes, módulos y la configuración global de tu tienda. Si un ciberdelincuente consigue acceso a esta carpeta, el daño puede ser devastador: desde robar datos de clientes y tarjetas de crédito, hasta secuestrar tu tienda y pedir un rescate.

Piensa en tu carpeta /admin como la sala de máquinas de un banco. No dejarías esa puerta abierta con solo una cerradura sencilla, ¿verdad? Pues lo mismo aplica aquí. La seguridad de PrestaShop es un pilar fundamental para la confianza de tus clientes y la continuidad de tu negocio.

El problema es que muchos propietarios de tiendas se quedan con la configuración por defecto. La carpeta se llama /admin o /admin123, y el acceso es solo con usuario y contraseña. Esto es un festín para los atacantes que utilizan bots automatizados que escanean internet en busca de estas rutas conocidas para intentar ataques de fuerza bruta.

En esta guía, te voy a explicar paso a paso, y de una forma muy sencilla, cómo puedes blindar tu directorio de administración de PrestaShop. No necesitas ser un experto en informática para seguir estos consejos, solo un poco de paciencia y ganas de proteger tu negocio.

Vamos a ver varios métodos que se complementan entre sí. No se trata de elegir uno solo, sino de aplicar una estrategia de defensa en profundidad. Cada capa de seguridad que añadas hará que la vida del atacante sea mucho más difícil, y lo más probable es que se rinda y busque un objetivo más fácil.

Método 1: Cambiar el nombre de la carpeta /admin

Este es el primer paso y el más sencillo. Es como cambiar la cerradura de tu puerta. Si los atacantes buscan la cerradura estándar y no la encuentran, muchos se irán a otro lado.

### ¿Cómo se hace?

  1. Accede a tu servidor: Tienes que entrar al panel de control de tu hosting (como cPanel, Plesk o Syspanel) o usar un cliente FTP como FileZilla.

  2. Busca la carpeta de PrestaShop: Normalmente estará en una ruta como public_html o www. Dentro, verás muchos archivos y carpetas. Busca la que se llama admin o admin123.

  3. Cambia el nombre: Haz clic derecho sobre la carpeta y selecciona "Renombrar" o "Rename". Ahora viene la parte creativa. Elige un nombre que sea difícil de adivinar. No uses cosas como admin2024 o administrador. Usa una combinación de letras y números sin sentido, como x7k9q2 o gestion_tienda_2024. Evita usar palabras comunes del diccionario.

  4. Actualiza la configuración en PrestaShop: Este paso es crucial. PrestaShop necesita saber que la carpeta ha cambiado de nombre. Debes editar el archivo config/settings.inc.php (en versiones antiguas) o app/config/parameters.php (en versiones más nuevas).

    • Busca una línea que haga referencia a la ruta del admin, normalmente algo como 'ps_admin_dir' => 'admin' o una constante _PS_ADMIN_DIR_.
    • Cambia el valor por el nuevo nombre de tu carpeta. Por ejemplo: 'ps_admin_dir' => 'x7k9q2'.

[WARNING] Si no actualizas esta configuración, al intentar acceder a tu panel de administración con la nueva URL, PrestaShop te dará un error de "carpeta no encontrada". No te asustes, es normal. Solo tienes que volver a editar el archivo de configuración y asegurarte de que el nombre coincide.

Método 2: Restringir el acceso por IP (Lista Blanca)

Este método es como tener un portero en la puerta de tu sala de máquinas que solo deja entrar a personas de una lista de invitados. Solo permitirás que las direcciones IP que tú autorices puedan acceder a la carpeta /admin.

Esto es muy efectivo porque, aunque un atacante adivine tu contraseña, si su IP no está en la lista, no podrá entrar.

### ¿Cómo se hace?

Tienes dos formas principales de hacerlo: desde el panel de control de tu hosting o mediante un archivo .htaccess.

Opción A: Usando el Panel de Control de tu Hosting (Syspanel, cPanel, etc.)

  1. Accede a tu panel de control (por ejemplo, Syspanel, que se accede normalmente por el puerto 2106).

  2. Busca la herramienta de "Protección de Directorios" o "Directory Privacy". En Syspanel suele estar en la sección de "Archivos" o "Seguridad".

  3. Selecciona la carpeta /admin (o el nuevo nombre que le hayas puesto).

  4. Activa la protección y añade las direcciones IP que quieras permitir. Para saber cuál es tu IP actual, puedes buscar en Google "¿cuál es mi IP?".

Opción B: Editando el archivo .htaccess

Esta es una forma más manual pero igual de efectiva.

  1. Navega a tu carpeta /admin (o la que hayas renombrado) usando el administrador de archivos de tu hosting o FTP.

  2. Busca el archivo .htaccess. Si no existe, tendrás que crearlo. Es un archivo oculto, así que asegúrate de que tu programa de FTP muestre los archivos ocultos.

  3. Añade el siguiente código al final del archivo:

    <Files "*">
    Order Deny,Allow
    Deny from all
    Allow from 123.456.789.000
    Allow from 987.654.321.000
    </Files>
    

    Es muy importante que reemplaces 123.456.789.000 y 987.654.321.000 con tus direcciones IP reales. Puedes añadir tantas líneas Allow from como necesites. Cada una debe ser una IP diferente que quieras autorizar (por ejemplo, la de tu ordenador de casa, la de tu móvil, etc.).

[WARNING] Si añades una IP incorrecta o tu IP dinámica cambia, podrías quedarte fuera de tu propio panel de administración. Si esto pasa, no te preocupes, puedes acceder a tu hosting por FTP y borrar o editar el archivo .htaccess para arreglarlo.

[TIP] Si tu IP es dinámica (cambia de vez en cuando), este método puede ser un poco incómodo. Tendrás que actualizar la lista cada vez que cambie. Una buena práctica es usar una IP estática o una VPN con IP fija para acceder a tu administración.

Método 3: Añadir una Contraseña Adicional a Nivel de Servidor

Este es otro nivel de seguridad muy potente. Es como tener una segunda cerradura en la puerta. Además de la contraseña de PrestaShop, el servidor web (Apache o Nginx) te pedirá otra contraseña antes de siquiera mostrar el formulario de login de PrestaShop.

### ¿Cómo se hace?

Este método se conoce como Autenticación HTTP y se configura creando un archivo .htpasswd y modificando el .htaccess.

  1. Crea un archivo de contraseñas: Necesitas crear un archivo llamado .htpasswd. Puedes usar herramientas online para generar el hash de tu contraseña o usar la línea de comandos de tu servidor. Este archivo debe estar en un lugar seguro, fuera de la carpeta pública de tu sitio web (fuera de public_html) si es posible.

  2. Coloca el archivo .htpasswd: Por ejemplo, en Syspanel, puedes crear una carpeta llamada private fuera de public_html y guardar ahí el archivo.

  3. Edita el .htaccess de tu carpeta /admin: Añade el siguiente código al archivo .htaccess que está dentro de tu carpeta de administración:

    AuthType Basic
    AuthName "Acceso Restringido"
    AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
    Require valid-user
    

    Es crucial que cambies /ruta/absoluta/a/tu/archivo/.htpasswd por la ruta real donde has guardado el archivo. Por ejemplo, en Syspanel, podría ser algo así: /home/usuario/private/.htpasswd.

  4. Añade el usuario y la contraseña: El archivo .htpasswd debe contener una línea por usuario con el formato usuario:hash_de_contraseña. Puedes generar el hash fácilmente con herramientas online buscando "htpasswd generator".

[INFO] Este método añade una capa extra de seguridad muy efectiva, ya que el atacante no solo tiene que saber tu usuario y contraseña de PrestaShop, sino también la contraseña del servidor. Es una barrera formidable.

Método 4: Configurar la Autenticación de Doble Factor (2FA) en PrestaShop

PrestaShop, en sus versiones modernas (1.7 y 8.x), incluye la opción de activar la autenticación de doble factor (2FA) para el panel de administración. Esto es como tener un guardia de seguridad que te llama al móvil para confirmar que eres tú. Aunque alguien robe tu contraseña, no podrá entrar sin el código que se envía a tu teléfono.

### ¿Cómo se activa?

  1. Entra en tu panel de administración de PrestaShop.

  2. Ve a "Avanzado" -> "Administración" -> "Seguridad".

  3. Busca la opción de "Autenticación de doble factor" o "2FA" y actívala.

  4. Escanea el código QR con una aplicación de autenticación como Google Authenticator o Authy.

  5. Introduce el código que te da la aplicación para confirmar la activación.

A partir de ese momento, cada vez que inicies sesión, después de poner tu usuario y contraseña, te pedirá un código de 6 dígitos que se genera en tu móvil. Este código cambia cada 30 segundos, por lo que es imposible de adivinar.

Método 5: Mantén tu PrestaShop y sus Módulos Siempre Actualizados

Esto puede parecer un consejo de sentido común, pero es sorprendente cuántas tiendas se quedan desactualizadas. Los desarrolladores de PrestaShop y de los módulos lanzan actualizaciones constantemente para corregir vulnerabilidades de seguridad que han descubierto.

Si no actualizas, es como dejar una ventana rota en tu tienda. Los atacantes conocen las vulnerabilidades de las versiones antiguas y las explotan sin piedad.

### ¿Qué debes actualizar?

  1. El núcleo de PrestaShop: Ve a la página de "Parámetros Avanzados" y verás si hay una nueva versión disponible.

  2. Los módulos y plantillas: Todos los módulos que tengas instalados deben estar actualizados. Las versiones antiguas de módulos populares son un punto de entrada muy común para los atacantes.

  3. El servidor: Asegúrate de que el sistema operativo y el software de tu servidor (PHP, MySQL, Apache) también estén actualizados. Esto lo suele gestionar tu proveedor de hosting, pero es bueno saberlo.

[TIP] Antes de hacer cualquier actualización importante, siempre haz una copia de seguridad completa de tu tienda (archivos y base de datos). Así, si algo sale mal, puedes volver a la versión anterior.

Preguntas Frecuentes (FAQ)

Para finalizar, voy a resolver algunas de las dudas más comunes que surgen al intentar proteger la carpeta admin de PrestaShop.

### ¿Qué hago si olvido la contraseña adicional que puse con .htpasswd?

No hay una forma de recuperarla, solo de resetearla. Tendrás que acceder a tu servidor por FTP, subir un nuevo archivo .htpasswd con un nuevo hash de contraseña y guardarlo. Es un proceso sencillo, pero requiere acceso al servidor.

### ¿Puedo usar todos estos métodos a la vez?

Sí, y de hecho es lo más recomendable. Cada método protege contra un tipo de ataque diferente. Combinarlos crea una barrera casi infranqueable. Es como tener una puerta blindada, con dos cerraduras, un portero y una cámara de seguridad.

### Mi IP cambia constantemente, ¿puedo usar el método de restricción por IP?

Puedes, pero tendrás que actualizar la lista de IPs permitidas en tu .htaccess cada vez que cambie tu IP. Esto puede ser un poco tedioso. Una alternativa es usar una VPN con una IP estática para acceder siempre desde la misma dirección.

### ¿Es obligatorio cambiar el nombre de la carpeta /admin?

No es obligatorio, pero es altamente recomendable. Es una de las primeras cosas que los bots buscan. Cambiarla reduce drásticamente los intentos de acceso no autorizado.

### ¿Qué hago si mi hosting usa Syspanel? ¿Es diferente?

Syspanel es un panel de control como cPanel o Plesk, pero con su propia interfaz. La lógica es la misma. Busca las secciones de "Administrador de archivos" o "FTP" para cambiar el nombre de la carpeta. Para la protección de directorios, busca una opción llamada "Protección con contraseña" o "Seguridad de directorios". Recuerda que el acceso a Syspanel suele ser a través del puerto 2106 (por ejemplo, https://tu-servidor:2106).

### ¿Estos métodos ralentizan mi tienda?

No de forma perceptible. La restricción por IP y la contraseña adicional se procesan en milisegundos en el servidor. El impacto en el rendimiento es insignificante en comparación con la seguridad que aportan.

### ¿Y si mi tienda ya ha sido hackeada? ¿Qué hago?

Si sospechas que tu tienda ha sido comprometida, actúa rápido. Cambia todas las contraseñas (admin, FTP, base de datos), restaura una copia de seguridad limpia de antes del ataque y contacta con tu proveedor de hosting para que te ayude a limpiar el servidor. Después de limpiarla, aplica todas las medidas de seguridad que te he explicado en este artículo.

Proteger tu tienda es una tarea continua, no un evento de una sola vez. Si implementas estas capas de seguridad, estarás dando un paso gigante para mantener tu negocio a salvo de las amenazas del mundo digital.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel