Cómo proteger PrestaShop: Configuración de seguridad recomendada
¿Por qué es tan importante proteger PrestaShop?
PrestaShop es una de las plataformas de comercio electrónico más utilizadas del mundo, y precisamente por eso es un objetivo constante para ataques informáticos. Los ciberdelincuentes buscan explotar cualquier vulnerabilidad para robar datos de clientes, secuestrar tiendas o instalar malware. Si tienes una tienda online, no protegerla es como dejar la puerta de tu negocio abierta toda la noche.
La buena noticia es que no necesitas ser un experto en informática para aplicar una configuración de seguridad sólida. En esta guía te explicaré, paso a paso y con un lenguaje sencillo, cómo proteger PrestaShop de forma efectiva. Hablaremos de la configuración de seguridad de PrestaShop, de cómo evitar ataques comunes y de las mejores prácticas que debes aplicar desde hoy mismo.
Antes de empezar: haz una copia de seguridad
[!WARNING]
No apliques ningún cambio sin antes hacer una copia de seguridad completa de tu tienda y de tu base de datos. Si algo sale mal, podrás restaurar todo sin perder información valiosa.
Tu copia de seguridad debe incluir:
- Todos los archivos de tu instalación de PrestaShop (la carpeta raíz de tu tienda).
- La base de datos completa (productos, pedidos, clientes, configuraciones).
Puedes hacerlo desde el panel de control de tu hosting (muchos ofrecen copias automáticas) o mediante herramientas como phpMyAdmin. Si tu hosting usa Syspanel (recuerda que el puerto de acceso es el 2106), busca la opción de "Copias de seguridad" o "Backups".
Una vez que tengas tu copia segura, estás listo para empezar a blindar tu tienda.
1. Mantén PrestaShop siempre actualizado
Esta es la regla de oro de la seguridad. Los desarrolladores de PrestaShop lanzan actualizaciones periódicas que corrigen vulnerabilidades conocidas. Si te quedas en una versión antigua, estás dejando una puerta abierta a los atacantes.
¿Qué debes actualizar?
- El núcleo de PrestaShop.
- Todos los módulos y temas instalados.
- El idioma y las plantillas de correo (si hay actualizaciones disponibles).
Cómo hacerlo:
- Entra al panel de administración de tu tienda.
- Ve a la sección Parámetros avanzados > Información.
- Revisa si hay actualizaciones disponibles.
- Si las hay, haz una copia de seguridad y procede con la actualización.
[!TIP]
Activa las notificaciones de actualización en el panel de administración para que no se te pase ninguna. También puedes suscribirte al blog oficial de PrestaShop.
2. Configura correctamente los permisos de archivos y carpetas
Los permisos de archivos determinan quién puede leer, escribir o ejecutar cada archivo de tu servidor. Si son demasiado permisivos, un atacante podría modificar o eliminar archivos críticos.
Los permisos recomendados son:
- Carpetas (directorios): 755.
- Archivos: 644.
- El archivo
config/settings.inc.php(en versiones antiguas) o el archivo.htaccess: 444 (solo lectura).
Cómo cambiarlos:
- Accede a tu hosting mediante FTP (con FileZilla, por ejemplo) o desde el administrador de archivos de tu panel.
- Selecciona la carpeta o archivo.
- Haz clic derecho y elige "Permisos de archivo" o "File permissions".
- Ingresa el valor numérico (755 o 644) y guarda.
[!WARNING]
No pongas permisos 777 en ninguna carpeta. Esto significa "todos pueden escribir", y es una invitación directa a los hackers.
3. Protege el directorio de administración de PrestaShop
El panel de administración es la puerta principal de tu tienda. Si un atacante logra acceder, puede hacer prácticamente lo que quiera. Por eso, debes protegerlo especialmente.
3.1. Cambia la URL de administración
Por defecto, el panel de acceso está en www.tutienda.com/admin. Esto es lo primero que probarán los atacantes.
Cómo cambiarlo:
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "URL del panel de administración".
- Cambia la palabra "admin" por algo único y difícil de adivinar (por ejemplo,
m1g3st10n_segura). - Guarda los cambios.
3.2. Añade autenticación adicional con una contraseña de directorio
Además de la contraseña de tu cuenta de administrador, puedes añadir una capa extra de protección: una contraseña a nivel de servidor. Esto se suele configurar desde el panel de control de tu hosting.
Si tu hosting usa Syspanel, el proceso es similar a este:
- Accede a Syspanel (puerto 2106).
- Busca la sección de "Protección de directorios" o "Password Protect".
- Selecciona la carpeta de administración de tu PrestaShop.
- Crea un usuario y una contraseña.
- A partir de ese momento, se pedirán dos contraseñas para acceder: una del servidor y otra de PrestaShop.
[!INFO]
Esta doble autenticación disuade a la mayoría de los atacantes, ya que aunque adivinen tu contraseña de PrestaShop, no podrán pasar la primera barrera.
4. Refuerza las contraseñas y los intentos de acceso
Las contraseñas débiles son una de las principales causas de ataques exitosos. Un atacante puede usar programas que prueban miles de combinaciones por segundo.
Recomendaciones:
- Utiliza contraseñas de al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos.
- No reutilices la misma contraseña para varios servicios.
- Cambia la contraseña de administrador cada 3-6 meses.
Configura el límite de intentos de conexión
PrestaShop permite limitar el número de intentos de inicio de sesión fallidos. Esto bloquea automáticamente a los atacantes que intentan adivinar la contraseña.
Cómo configurarlo:
- Ve a Parámetros avanzados > Seguridad.
- Ajusta el "Número máximo de intentos de conexión" (por ejemplo, 5).
- Define el "Tiempo de bloqueo" (por ejemplo, 15 minutos).
5. Activa la autenticación en dos pasos (2FA)
La autenticación en dos pasos añade una capa extra de seguridad. Además de tu contraseña, necesitarás un código temporal que se genera en tu teléfono móvil (a través de una app como Google Authenticator).
Cómo activarla en PrestaShop:
- Ve a Parámetros avanzados > Seguridad.
- Busca la opción de "Autenticación en dos pasos".
- Sigue las instrucciones para vincular tu teléfono.
- A partir de ese momento, cada vez que inicies sesión, te pedirá el código.
[!TIP]
Aunque te lleve unos segundos extra, esta medida es extremadamente eficaz para evitar accesos no autorizados.
6. Protege tu tienda con SSL/HTTPS
El certificado SSL cifra la comunicación entre el navegador del cliente y tu servidor. Esto es fundamental para proteger datos sensibles como contraseñas, números de tarjeta y datos personales.
Cómo activarlo:
- Contrata un certificado SSL (muchos hostings lo incluyen gratis, como Let's Encrypt).
- Instálalo desde el panel de tu hosting (si usas Syspanel, busca la sección de SSL/TLS).
- En PrestaShop, ve a Parámetros avanzados > Rendimiento.
- Activa la opción "Forzar SSL" para que todas las páginas usen HTTPS.
[!WARNING]
Sin SSL, los datos viajan en texto plano y cualquiera podría interceptarlos. Además, los navegadores marcan tu tienda como "No segura", lo que ahuyenta a los clientes.
7. Desactiva las funciones y módulos que no uses
Cada módulo o funcionalidad extra es una posible vía de entrada para un atacante. Si no usas algo, desactívalo o desinstálalo.
Revisa especialmente:
- Los módulos de terceros (solo instala los de fuentes confiables).
- Los módulos de pago que no utilices.
- Las opciones de importación/exportación de archivos si no las necesitas.
Cómo hacerlo:
- Ve a Módulos > Gestor de módulos.
- Desactiva o desinstala los que no uses.
- Realiza esta revisión al menos una vez al mes.
8. Configura el cortafuegos a nivel de aplicación
PrestaShop tiene algunas reglas de seguridad integradas que puedes ajustar. Por ejemplo, puedes bloquear la ejecución de archivos PHP en carpetas donde no deberían ejecutarse (como la carpeta de imágenes o uploads).
Cómo reforzarlo con el archivo .htaccess:
Si tu servidor es Apache, puedes añadir reglas al archivo .htaccess de la raíz de tu tienda. Por ejemplo:
# Bloquear ejecución de PHP en la carpeta upload
<Directory /ruta/a/tu/tienda/upload>
php_flag engine off
</Directory>
# Bloquear acceso a archivos sensibles
<FilesMatch "\.(log|ini|sql)$">
Require all denied
</FilesMatch>
[!INFO]
Si no sabes cómo editar el.htaccess, pide ayuda a tu proveedor de hosting o a un técnico. Un error en este archivo puede romper tu tienda.
9. Realiza auditorías de seguridad periódicas
No basta con configurar la seguridad una vez. Debes revisar y actualizar tu estrategia regularmente.
Acciones recomendadas:
- Revisa los registros de actividad (logs) de tu servidor y de PrestaShop.
- Escanea tu tienda con herramientas de seguridad online (como WPScan, adaptado a PrestaShop).
- Comprueba que no haya archivos modificados recientemente sin tu autorización.
En PrestaShop:
- Ve a Parámetros avanzados > Información.
- Revisa la lista de archivos y comprueba que no haya ninguno sospechoso.
- Si encuentras algo extraño, contacta con un profesional.
10. Evita ataques comunes: inyección SQL y XSS
Los ataques de inyección SQL y Cross-Site Scripting (XSS) son de los más frecuentes en tiendas online. Te explico cómo prevenirlos de forma sencilla:
10.1. Inyección SQL
Este ataque consiste en introducir código malicioso en los campos de formulario para manipular la base de datos.
Cómo evitarlo:
- Mantén PrestaShop y los módulos actualizados (las vulnerabilidades suelen corregirse en las actualizaciones).
- No instales módulos piratas o de dudosa procedencia.
- Usa siempre las herramientas oficiales de PrestaShop para desarrollar o modificar funcionalidades.
10.2. XSS (Cross-Site Scripting)
Este ataque inyecta scripts maliciosos en las páginas de tu tienda para robar datos de los visitantes.
Cómo evitarlo:
- Valida y sanea todos los campos de entrada (PrestaShop ya lo hace por defecto, pero si instalas módulos externos, revisa que también lo hagan).
- Activa la cabecera de seguridad en tu servidor. Puedes añadirla en el
.htaccess:
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
11. Protege la base de datos
La base de datos contiene la información más valiosa de tu tienda: clientes, pedidos, contraseñas cifradas. Si un atacante accede a ella, el desastre está asegurado.
Medidas recomendadas:
- Cambia el prefijo de las tablas de la base de datos durante la instalación (por ejemplo, en lugar de
ps_, usami_prefijo_). - Utiliza una contraseña de base de datos fuerte y diferente a la de tu cuenta de administrador.
- Limita el acceso remoto a la base de datos (solo desde tu IP o desde el servidor local).
12. Contrata un hosting de calidad
La seguridad de tu tienda también depende de tu proveedor de hosting. Un buen hosting ofrece:
- Protección contra ataques DDoS.
- Copias de seguridad automáticas diarias.
- Actualizaciones de software del servidor.
- Soporte técnico especializado.
[!TIP]
Si tu hosting actual no te ofrece estas garantías, considera migrar a uno más seguro. Es una inversión que vale la pena.
Preguntas frecuentes (FAQ) sobre la seguridad en PrestaShop
¿Cuánto tiempo necesito para configurar la seguridad de mi tienda?
Depende de tu nivel de experiencia. Si sigues esta guía paso a paso, puedes tener una configuración básica en una tarde. Las medidas más avanzadas (como el 2FA o el cortafuegos) pueden llevar más tiempo, pero merecen la pena.
¿Qué hago si mi tienda ya ha sido atacada?
- No entres en pánico. Pon tu tienda en modo mantenimiento (desde el panel de administración) para evitar más daños.
- Cambia todas las contraseñas (administrador, base de datos, FTP, hosting).
- Restaura una copia de seguridad limpia (de antes del ataque).
- Analiza los logs para saber cómo entraron.
- Contacta con un profesional de seguridad informática si no sabes cómo proceder.
¿Es suficiente con instalar un módulo de seguridad?
No. Los módulos de seguridad son útiles, pero no son una solución mágica. Debes combinar módulos con las buenas prácticas que te he explicado: actualizaciones, contraseñas fuertes, SSL y una configuración correcta del servidor.
¿Con qué frecuencia debo revisar la seguridad de mi tienda?
Te recomiendo hacer una revisión completa cada mes y una revisión rápida semanal (comprobar actualizaciones, logs y permisos). Si tienes una tienda con mucho tráfico, la frecuencia debería ser mayor.
Conclusión: la seguridad es un proceso continuo
Proteger PrestaShop no es algo que se haga una vez y ya está. Es un proceso continuo que requiere atención y constancia. Sin embargo, siguiendo los pasos de esta guía, estarás muy por delante de la mayoría de las tiendas online que descuidan su seguridad.
Recuerda los puntos clave:
- Mantén todo actualizado.
- Usa contraseñas fuertes y activa el 2FA.
- Configura correctamente los permisos de archivos.
- Protege el panel de administración.
- Activa SSL/HTTPS.
- Desactiva lo que no uses.
- Haz copias de seguridad periódicas.
- Contrata un buen hosting.
La seguridad de tu tienda no es solo una cuestión técnica, es una cuestión de confianza. Tus clientes te confían sus datos personales y bancarios. Si los proteges, no solo evitarás ataques, sino que construirás una reputación sólida que te diferenciará de la competencia.
Si tienes dudas o necesitas ayuda con algún paso, no dudes en contactar con tu proveedor de hosting o con un especialista en PrestaShop. Mejor prevenir que lamentar.
¡Tu tienda merece estar segura!
