El comercio electrónico ha adquirido un mayor peso y cada vez son más las personas que se deciden a hacer sus compras en internet, lo que ha hecho que proliferen muchas tiendas online creadas en diferentes plataformas, como Magento, Opencart o PrestaShop. Y si hay una característica definitoria para los futuros clientes, es la seguridad de los e-commerce. Por ello, hemos elaborado esta guía de seguridad en PrestaShop, para ayudarte a reforzar la seguridad de tu tienda online y ganarte la confianza de tus clientes.
En este artículo hablamos de:
Principales amenazas de seguridad en PrestaShop
Si bien, PrestaShop cuenta con sus propias medidas de seguridad, que podemos configurar a través de la propia interfaz de nuestra tienda online creada en esta plataforma, lo cierto es que para reforzar la política de seguridad de PrestaShop, es necesario que llevemos a cabo diferentes acciones, que nos ayudarán a garantizar una mayor seguridad para la información confidencial que manejamos a través de la tienda (como son, por ejemplo, los datos de las tarjetas bancarias y resto de datos personales de nuestros clientes).
Pero para saber qué medidas de seguridad podemos aplicar en nuestra tienda online, lo primero es conocer cuáles son las amenazas más habituales para la seguridad de PrestaShop:
- Inyección SQL
La inyección de SQL es una de las vulnerabilidades a las que nuestra tienda online en PrestaShop puede estar expuesta. Para ello, los ciberatacantes utilizan un campo rellenable de la web (como pueden ser los formularios de suscripción) para añadir un código que les permita acceder, modificar o borrar los datos almacenados en una base de datos.
De esta forma ganan acceso a la información que tenemos en el backend, como nombres de usuario, contraseñas, números de tarjeta, etc.
En el pasado se han reportado también vulnerabilidades de inyección SQL en algunos módulos de PrestaShop, como, por ejemplo, Responsive Mega Menu
- Scripting entre sitios
El XSS o scripting entre sitios es otra vulnerabilidad sufrida por PrestaShop, en concreto en el software instalado en el servidor, que permite a los ciberatacantes acceder a la tienda e inyectar sus propios códigos, sin que el administrador de la tienda sea consciente de ello.
En este caso, el objetivo de los ataques XSS es hacerse con los datos y contraseñas de los clientes e incluso con sus sesiones, para lo que se ejecuta un código en el navegador del cliente y se le redirige a una URL maliciosa.
- Ejecución remota de código
El módulo Responsive Mega Menu fue también objetivo de otra vulnerabilidad, en este caso de ejecución remota de código o RCE. En este caso, la vulnerabilidad permitía a los atacantes ejecutar código PHP de manera arbitraria en el servidor, lo que les permitía leer y modificar archivos sensibles y aumentar privilegios para ejecutar comandos como administrador.
- Escalada de privilegios
PrestaShop tampoco se ha librado de los ataques de escalada de privilegios; en el pasado la vulnerabilidad denominada CVE-2018-13784, que afectada al cifrado Blowfish / ECD o AES permitía a los atacantes alterar el contenido de la cookie para obtener privilegios de administrador y, por tanto, conseguir la sesión de cualquier cliente, robar información confidencial u obtener acceso al panel de administración y llevar a cabo la ejecución remota de código.
- Hack de redireccionamiento
A menudo, los agentes malintencionados intentan inyectar código JavaScript de redireccionamiento malintencionado. Por lo tanto, cuando los clientes visitan el sitio, generalmente los redirige a sitios para adultos. Aunque en ocasiones podrían ser otros sitios que vendan productos. O tal vez incluso recolectando clics para el atacante. Especialmente las tiendas pequeñas son las más afectadas.
Por lo tanto, un truco de redireccionamiento de PrestaShop puede:
-
- Incluir a la tienda en la lista negra de los motores de búsqueda.
- Redirigir hasta el 90 % del tráfico de usuarios.
- Pérdida de confianza del usuario en la tienda.
- La disminución de las ventas debido a la redirección de malware.
- Convierte tu tienda PrestaShop en un garaje de spam.
- Admin Hack
El tablero o interfaz del administrador de PrestaShop suele ser también un objetivo habitual de los cibercriminales, puesto que permite, entre otras acciones:
-
- Crear múltiples cuentas de administrador nuevas.
- Cambiar la interfaz de usuario del panel de administración.
- Desactivar los complementos de seguridad para facilitar nuevos ataques.
- Que el área de administración muestre una página en blanco o una lista de archivos.
- Hack de palabras clave de Google
Otro de los ataques que pueden poner en riesgo no solo la seguridad en PrestaShop, sino la adquisición de visitas y las ventas de una tienda online, es un ataque que tiene como objetivo la inyección de spam, que en la práctica lo que hace mostrar productos que originalmente no estaban en la web, para redireccionar a los usuarios a una página de spam.
Dado que los buscadores tienen filtros de spam y malware, es muy posible que si nuestra tienda está afectada, sea incluida en una lista negra y, por tanto, perdamos visitas y ventas.
Son ejemplo de estos ataques el hack de Viagra Cialis y el Japanese Keyword Hack.
- Hack de tarjetas de crédito
El hack de tarjetas de crédito es otro problema de seguridad en PrestaShop que debemos tratar de evitar, adoptando medidas de seguridad como las que veremos más adelante.
Este «robo» de tarjetas se puede llevar a cabo mediante programas maliciosos o scripts inyectados en la página de la tienda, así como mediante phishing.
Otros problemas de seguridad de PrestaShop
Otros problemas habituales de seguridad en PrestaShop tienen que ver con la configuración del servidor, como, por ejemplo:
- Credenciales débiles: El uso de contraseñas débiles es vulnerable a los ataques de fuerza bruta, que son bastante habituales en PrestaShop.
- Puertos abiertos: Al instalar y configurar el servidor, es posible que algunos puertos se hayan dejado abiertos. Se trata de una invitación abierta a los piratas informáticos. Algunos motores de búsqueda como Shodan rastrean Internet en busca de configuraciones erróneas. Los atacantes pueden infectar la tienda desde estos puertos abiertos. Por lo tanto, se recomienda bloquear o filtrar los puertos.
- Mala configuración de DNS: A veces, los servidores DNS pueden permitir transferencias de zona. O, a menudo, algunos subdominios no se utilizan. Los atacantes están constantemente al acecho de tales vulnerabilidades.
- Módulos obsoletos: No solo se trata de instalar módulos de confianza, sino también mantenerlos actualizados; un módulo obsoleto o desactualizado puede convertirse en una puerta de entrada para los cibercriminales, ya que puede tener vulnerabilidades no resueltas que estos pueden aprovechar.
¿Cómo mejorar la seguridad de mi tienda en PrestaShop?
El riesgo cero en ciberseguridad no existe, pero sí que podemos reforzar la seguridad de nuestra tienda online en PrestaShop, aplicando las medidas de seguridad que vamos a describir a continuación.
- Actualiza PrestaShop, los módulos, tu navegador y tu equipo
Como ocurre con cualquier área de informática, una de las primeras medidas de seguridad que debemos tener en cuenta es mantener actualizado tanto la versión de PrestaShop que estemos utilizando (puesto que cuando se detectan vulnerabilidades o problemas de seguridad en la plataforma, se lanzan parches o actualizaciones de seguridad que debemos instalar sin dilación), así como de los módulos que empleemos.
También es necesario que limitemos los posibles vectores de ataque manteniendo actualizados nuestro equipo y navegador, de esa forma, minimizaremos las probabilidades de determinados ataques centrados en la explotación de vulnerabilidades.
- Cambia la URL de administrador predeterminada
Cuando creamos una tienda en PrestaShop, se genera una URL de administrador predeterminada, que nos permite gestionar la tienda desde el backend. Esta dirección tiene un nombre genérico más un número, por ejemplo, «admin158», por lo tanto, no cambiarlo crea un punto débil que cualquier ciberatacante puede aprovechar.
Para evitarlo, una vez hayas creado tu tienda online, lo primero que debes hacer es cambiar esa URL predeterminada, personalizándola para evitar que nadie pueda acceder al backend de la tienda.
- Contraseñas seguras
Usar contraseñas seguras para el acceso a la interfaz o panel de administración de la tienda es fundamental, puesto que cuanto más segura sea, menos probabilidades habrá de romperla. Por ello, debes emplear contraseñas que combinen varios caracteres (en torno a ocho o 12) y que estos mezclen mayúsculas y minúsculas, números, letras y símbolos.
Además, es recomendable tener contraseñas separadas para FTP, el tablero de control, etc.
- Permisos limitados
Los archivos y carpetas de PrestaShop deben protegerse de accesos arbitrarios. La forma más sencilla de hacerlo es configurando los permisos correctos de archivos y directorios para los archivos de tu tienda. El permiso recomendado para los archivos de la tienda PrestaShop es 644 y el mismo para las carpetas es – 755.
- Certificados SSL
Habilitar SSL da un impulso significativo a la seguridad de PrestaShop. Es un protocolo estándar para garantizar que las comunicaciones entre la tienda PrestaShop y los usuarios sean seguras, ya que cifra la información que viaja entre la tienda y el usuario. Además, es una de las señales de seguridad que siempre se indica que se busquen a la hora de navegar seguros.
Así mismo, los certificados SSL también influyen en el posicionamiento en buscadores.
Conseguir estos certificados no es complicado, puesto que pueden comprarse, y se pueden habilitar de manera sencilla en PrestaShop.
- Configurar las preferencias
Configurar ciertas preferencias en PrestaShop, en concreto las cookies, puede ayudar a mejorar la seguridad de la tienda.
El uso de una cookie puede facilitar la identificación de usuarios originales de usuarios falsos, así como detectar inicios de sesión falsos. Pero recuerda que usar cookies en tu tienda online, implica adaptarlas a la normativa de protección de datos y cumplir el RGPD en PrestaShop.
También encontrarás la función «Aumentar la seguridad de Front Office» en el apartado «General» de «Preferencias». Esta función garantiza que se asigne una URL de sesión única a cada usuario. De esta forma, se detienen los ataques de escalada de privilegios.
- Módulos de seguridad de PrestaShop
También podemos reforzar la seguridad en PrestaShop instalando módulos dedicados a ello, y que podemos encontrar en el propio marketplace de la plataforma, como por ejemplo: Block Bots/Users, Private Shop Module o Protect My Shop.
Estos módulos de seguridad de PrestaShop pueden:
-
- Proteger la tienda de ataques conocidos.
- Bloquear el acceso a la oficina principal. Permitir solo usuarios autorizados.
- Crear claves únicas para cada compra.
- Comprobar si los pedidos fueron realizados por bots.
- Captcha agregado para bloquear bots.
- Bloquea bots maliciosos y direcciones IP de spam.
- Segunda contraseña con fichero .htaccess
Es posible habilitar una segunda contraseña para acceder al backend de la tienda a través del fichero .htaccess. Con esta medida crearemos un segundo nombre de usuario y contraseña, que se nos solicitará antes de poder acceder a la página de conexión.
Así mismo, el fichero .htaccess también permite ocultar archivos principales, para que no estén a la vista públicamente y prohíbe las direcciones IP de spam.
- Instala firewall y antivirus
Contar con un firewall y un antivirus, o una solución de seguridad que combine ambos instalados en nuestro ordenador y en la plataforma, ayudará también a reforzar la seguridad de PrestaShop.
- Realizar copias de seguridad
Como hemos dicho, el riesgo cero no existe y, por tanto, para evitar problemas mayores en el futuro y poder recuperarnos cuanto antes de un ciberataque a nuestra tienda en PrestaShop, debemos realizar de manera periódica copias de seguridad, algo que podemos realizar tanto manualmente como usando alguno de los módulos para copias de seguridad disponibles en el marketplace de PrestaShop (aunque estos son de pago).
Auditoría de seguridad en PrestaShop
Finalmente, para asegurarnos de que hemos adoptado las medidas de seguridad necesarias para nuestra tienda online en PrestaShop, es recomendable someterla a auditorías y pentesting de seguridad de manera periódica, ya que de esa manera podremos descubrir vulnerabilidades o problemas de seguridad y solucionarlos antes de que comprometan nuestra tienda y la información que almacenamos en ella.