Si establecemos comparaciones entre VirtueMart 1 y VirtueMart 2 (actualmente la versión 2.0.26d) podemos decir que la seguridad ha sido casi reescrita y tomada muy en serio, pues VirtueMart 2 es mucho más seguro que su predecesor.
Factores como la creación del VM Framework, una capa encima de Joomla donde se implementó el componente para garantizar un nivel adicional de seguridad para las transacciones, un carro de compras más seguro (VM Cart) creado para no permitir modificaciones a través de hacks en precios o cantidades de productos y con más de 1.5 millones de descargas sólo un exploit crítico fue encontrado, lo que demuestra que VirtueMart 2 es mucho más seguro actualmente.
Pero “dejar una tienda online segura” es mucho más que seguir una lista preparada de requisitos a cumplir ya que requiere de toda nuestra atención a los detalles más pequeños. Aunque tampoco nada impide que podamos seguir un checklists para certificar que la tienda sea segura para el cliente.
Los “checklists” son comunes y obligatorios en la disciplina de Pruebas de Software. Aseguran precisamente lo que se ha dicho más arriba: sistema libre de errores (y fallos humanos).
Algunas listas se pueden hacer de forma automática a través de un software como Selenium IDE [1] para Mozilla Firefox, que permite montar un banco de pruebas y estrés de tareas de la Tienda y la web para repetirlo hasta el cansancio.
Otras listas pueden ser hechas a mano, y cada nuevo proyecto se puede mejorar, no sólo probando la navegación y la facilidad de uso, sino también los requisitos que cada proyecto debe tener.
En este artículo abordamos el factor de seguridad para las tiendas virtuales utilizando VirtueMart (pero se puede aplicar a otras plataformas y/o CMS).
Tabla de contenidos
Consideraciones globales a tener en cuenta para una Tienda online:
- Vigilar siempre los comportamientos extraños en la tienda online.
- Prestar atención a los múltiples intentos de hacer el pago de una compra con diferentes usuarios y la misma dirección (o CP).
- Evitar el Spam en formularios o registros protegiéndolos con reCAPTCHA.
- Ver mediante los o mecanismos de monitorización los intentos de acceso a formularios de acceso de usuarios o administradores de la tienda.
- Evitar la ingeniería social (llamadas telefónicas de personas que tratan de hacerse pasar por el administrador de la tienda, que solicita las contraseñas de FTP/WePanel/usuarios).
- Analizar los correos electrónicos sospechosos recibidos de la tienda (o que se hacen pasar por la tienda). No es difícil que tu cuenta de correo pueda ser suplantada y se envíen correos a tu proveedor de Hosting solicitando los datos de acceso o recordatorios de contraseña.
- Prestar atención a los intentos de fraude/chargeback, Trashing, Phishing, Pharming (altamente penalizados por los proveedores de Hosting).
- Para Tiendas que por razones geográficas se vean afectadas por la LOPD, es importante observar la protección de datos de carácter personal de nuestros clientes (nombres, avatares, correos electrónicos, etc.). El incumplimiento de estas leyes puede conllevar a una multa de hasta 60 000€.
- El Libro Blanco del Comercio Electrónico es una buena guía a tener en cuenta antes de iniciarse en la puesta en marcha de un negocio online.
- Observación y cumplimiento de la Ley de Cookies Española. (También en vigor en USA y otros países de la UE).
- Prestar atención a alojamiento de la tienda online en servidores españoles para el cumplimiento de la LOPD.
- Si tu ordenador de trabajo (o de tu domicilio) está infectado, de una forma u otra acabará afectando a tu web y a tu Tienda. Mantén siempre los equipos desde los que accedas a tu servidor y la administración de tu tienda limpios y protegidos contra virus, malware, spyware o keylogers.
Puntos a tener en cuenta en el componente VirtueMart:
- Implementar solo formas de pago que no guarden datos de forma sigilosa o en segundo plano de la tienda online, o de las transacciones que se puedan realizar, tales como tarjetas de crédito.
- Mantener siempre VirtueMart siempre actualizado a la versión estable. (Esta medida requiere que todos los cambios se realicen a través de override de la plantilla).
- Nunca utilizar versiones de prueba o test de VirtueMart en sitios que estén en producción.
- CAPTCHA o mejor reCAPTCHA siempre en VirtueMart.
- Si quieres sobrescribir alguna función de VirtueMart u otro componente, utiliza el plugin “override” de Julio Pontes.
- El usuario administrador de VirtueMart, que gestiona el vendedor, no debe ser el mismo administrador que inicie sesión en la tienda, por razones de seguridad (disponer de al menos 2 usuarios super administrador con datos de acceso distintos).
- Hacer un seguimiento de los logs de acceso a la Tienda. Los logs de VirtueMart están en la carpeta /logs/ de Joomla. Para activar los logs específicos de VirtueMart puedes activar el “modo debug” solo para Super Administradores (en la configuración de VirtueMart).
Puntos a tener en cuenta en Joomla o el servidor donde se aloje la Tienda:
- Siempre CAPTCHA (reCAPTCHA) en todos los formularios de Joomla, no olvidar que Joomla 2.5 ya lo incorpora de forma nativa, solo tienes que habilitarlo.
- Realizar diariamente copias de seguridad (política de copias de seguridad).
- Programar componentes como XCloner o Akeeba Backup, para realizar una copia de seguridad del sitio web o al menos de la base de datos.
- Instalar alguna extensión de seguridad (RSFirewall, etc.) para monitorizar posibles cambios en la tienda diariamente (habitualmente realizados por scripts maliciosos automáticos).
- Vigilar carga y uptime del servidor. ( https://watchful.li – http://www.uptimerobot.com/ ).
- Mantener el CMS siempre actualizado.
- Si se utilizan scripts para la gestión de clientes, etc., como WHMCS, mantenerlo siempre actualizado (si lo utilizas)recientemente se ha visto afectado por serias vulnerabilidades).
- Un certificado SSL es necesario para una tienda online.
- Garantizar que los clientes cuando se registran en nuestro sistema aportan contraseñas seguras (mínimo de 8 caracteres, incluir letras mayúsculas, números y símbolos).
- Credenciales de acceso FTP deben cambiarse con frecuencia y nunca conectarse desde redes abiertas o públicas.
- Mantener un férrea política de contraseñas, sobre todo si son de cuentas bancarias. (Usar aplicaciones web con CiberProtector).
- Nunca almacenar datos de FTP en la configuración de Joomla (evitar el uso de la capa FTP en la configuración global).
- Elegir cuidadosamente las extensiones de terceros adicionales que se vayan a instalar en una Tienda online (siempre de fuentes acreditadas y fiables, en el mercado negro existen muchas extensiones con malware incorporado cuyo objetivo no es sino la obtención de datos de la tienda o el Phishing).
- Incluso las extensiones gratuitas para otros objetivos de la web que alberga la Tienda (tales como sliders, componentes de banners, de vídeo, foros, etc.) se deben elegir con especial cuidado realizando las pruebas pertinentes antes de ponerlas en producción.
- Revisar antes de instalar una extensión si esta es vulnerable. http://vel.joomla.org/
- Especial cuidado con los usuarios y contraseñas de Super Administradores del sitio web.
- Instalar plugins que puedan bloquear los ataques de inyección de SQL a través de php como JhackGuard. Tutorial para el uso de este plugin.
- Utilizar plantillas o themes para VirtueMart solo de desarrolladores conocidos, que cuiden de la seguridad del theme o plantilla y las mantengan siempre actualizadas.
- Bajo ningún concepto usar extensiones “pirata” obtenidas en sitios warez o mercado negro. Además de quitar el sustento a los desarrolladores que las crean, las extensiones pueden contener códigos maliciosos (evals, shells, etc.) que permiten la posterior vulneración del sitio web.
- Proteger el directorio del panel de control /administrator con contraseña mediante protección por .htaccess o mediante autenticación en dos pasos o con Latch.
Esta lista podría incrementarse añadiendo nuevos puntos de control, recomendaciones y medidas a tener en cuenta o a implementar, no obstante el objetivo primordial es llamar la atención sobre la importancia de observar la instalación de una Tienda online con Joomla y VirtueMart no solo como una aplicación web, sino como una serie de mecanismos que deben estar perfectamente engranados para garantizar al usuario (comprador) la confidencialidad de sus datos y de las operaciones que realice en nuestra tienda y mantener en funcionamiento el servicio de forma constante.
Este artículo está basado en la idea original de Luiz Felipe Weber, de weber.eti.br y CEO de VirtueMartPRO en Brasil, el cual desarrollo el artículo en portugués de Brasil, que dio base a este artículo adaptado al español y suplementado con nuevos contenidos, norma española de comercio electrónico y sugerencias de seguridad adicionales a ser tenidas en cuenta. ¡Gracias Luiz Felipe!
Mantener una Tienda online siempre segura, actualizada, optimizada para buscadores y preparada para garantizar la mejor experiencia al usuario o comprador, deberían ser tarea obligatoria para todo administrador o gestor de tiendas con Joomla y VirtueMart que se precie.
¿Te ha resultado útil este artículo?
Miembro del equipo de soporte técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Soporte técnico en CiberProtector. Teacher en Webempresa University