A día de hoy, la seguridad tiene un lugar prioritario en la actividad online de cualquier empresa, incluyendo el comercio electrónico. Entre las diferentes plataformas de comercio electrónico, el más extendido es Magento, por lo que vamos a dar ciertas pautas que nos ayudarán a fortificar nuestro comercio.

1- Tables Prefix

Uno de los datos que se solicita en el proceso de instalación es Tables Prefix. Este campo será el prefijo que se añadirá a todas las tablas que se van a crear en el proceso de instalación de la tienda. Este campo en principio estaba pensado para tener varias instalaciones de Magento en una misma base de datos.

Aunque este campo es opcional, se recomienda su uso. Si se decide no utilizar este parámetro, se corre el riesgo de ser vulnerable a ataques de inyección de código o consultas que pudiesen explotar alguna vulnerabilidad de Magento o de su entorno al tener una configuración típica. Para disminuir la probabilidad de ser vulnerable, es recomendable usar un prefijo aleatorio de una combinación de al menos 4 caracteres alfanuméricos.

 

2- Nombre de administrador y contraseña

Magento esta formado por dos secciones, la publica en la que el usuario entra a realizar la compra, y el backend en el que el administrador de la tienda realiza la configuración y demás tareas de gestión de su comercio. A esta última parte se accede introduciendo un nombre de usuario y contraseña. Es importante que estas sean lo más seguras posibles. Para ello evitar nombres de usuario tales como “admin” o “administrador”, tampoco el nombre de nuestra tienda. Son demasiado predecibles para los ataques. En lo referente a las contraseñas, que éstas sean fuertes, combinando mayúsculas, minúsculas, número y caracteres especiales.

Ya que suele ser difícil recordar este tipo de contraseñas, es recomendable utilizar programas que nos permitan acceder a nuestras contraseñas como LastPass, Keepass o 1Password.

Para cambiar la password en Magento debemos ir a Sistema > Mi Cuenta y editar la información de nuestro account.

 

3- Cambiar la URL para acceder al login del panel de control

Por defecto el acceso al panel de control de Magento se realiza desde mitienda.com/admin. Este es el punto de partida de cualquier atacante que quiera acceder al panel de control de nuestra tienda. Conviene no dejárselo tan fácil y modificar esta ruta.

Para ello accedemos a Sistema > Configuración y nos vamos a Administrador dentro de Avanzado.
En Admin Base URL le ponemos Use Custom Admin Path “SI” y en “Custom Admin Path” escribimos lo que nos parezca más necesario como por ejemplo: mipaneldecontrol.

Pero, si todavía estamos instalando Magento, es posible indicarle en el proceso de instalación cual es la ruta que se le quiere asignar. Esto se hace asignando al campo “Admin Path” la ruta deseada para acceder al panel de control de administración de Magento. Esta ruta se le añade a la Base URL.

 

4- Eliminar la clave secreta para las URL

Es importante no más información que lo estrictamente necesario. Para ello evitaremos que en la URL se muestre la clave secreta de Magento. Esta clave determina una clave única en cada sesión en la que nos conectamos al backend.

Para cambiar este funcionamiento por defecto, accederemos a “Seguridad”, y asignaremos el valor NO a “Add Secret Key to URLs” .

 

5- Copia de seguridad

Las copias de seguridad nos permitirán poder volver a un estado o una versión anterior en caso de cualquier incidencia. Es por ello que resulta necesario realizar copias de seguridad periódicas, tanto del código como de la base de datos de Magento.

 

6- Actualizar

Es conveniente actualizar la versión de Magento siempre que sale una versión estable de la misma. Nos aseguramos la corrección de posibles bugs en las versiones anteriores y nuevas y mejores medidas de seguridad.

 

7- Módulos externos

A través de las extensiones, Magento proporciona un método para añadir y ampliar funcionalidades a la tienda electrónica de forma sencilla. Este método facilita que terceros, como empresas o desarrolladores independientes, puedan incorporar nuevas funcionalidades a esta plataforma.

Estas extensiones o módulos pueden tener acceso a toda la información de la tienda, incluyendo datos sensibles como número de tarjetas de crédito de los clientes, el historial de ventas de la tienda o su stock. Es por ello que es recomendable instalar sólo aquellas extensiones que tengan una considerable difusión, que el vendedor o desarrollador sea, dentro de lo posible, confiable, y que ofrezca un soporte y tasa de actualizaciones aceptable.

 

8- Permisos de archivos

Comprobar que los archivos y carpetas no tengan accesos más permisivos que el necesario. Los archivos deben de tener permisos 644 y los directorios 755.

Magento Connect Manager22 es la aplicación encargada de instalar nuevas extensiones en Magento de una forma automatizada. Sin embargo, esta aplicación otorga permisos de escritura global (777) a todas las carpetas y ficheros que instala. Debido a esto, se recomienda reducir los
permisos de los ficheros y de las carpetas después de cada instalación o actualización del sistema según los parámetros anteriormente descritos.

 

9- Utiliza un sistema SSL para el login

El protocolo SSL (Secure Sockets Layer) se utiliza para cifrar la transmisión de datos entre el servidor y el cliente. Esto evita posibles escuchas y la exposición de información. Magento permite este tipo de conexiónes, pero primero es necesario obtener un certificado SSL privado. Esto se puede contratar en una empresa de hosting.

Una vez obtenido el certificado SSL, hay que acceder al panel de administración de Magento en el cual se puede optar por utilizar SSL para el backend y/o de la interfaz.

Para ello hay que ir a Sistema > Configuración, luego poner a SI en Web en Seguro “Usar URLs seguras en el Frontend”.

 

10- Limitar el acceso a la zona de administración

Una forma de limitar el acceso a la zona de administración de Magento a un conjunto limitado de direcciones IP es a través de la configuración de .htaccess. Este archivo permite definir de forma local los parámetros de configuración que afectan al directorio donde esté localizado y a sus respectivos subdirectorios, sin necesidad de tener que modificar el archivo de configuración principal de Apache.

El siguiente ejemplo redirigiría a la dirección principal de Magento a todas las peticiones que recibiera el servidor a Apache desde una IP distinta a 192.168.56.102 y que la URL contuviese la cadena “admin”.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.56\.102
RewriteCond %{THE_REQUEST} ^.*(admin).* [NC]
RewriteRule (.*) /
</IfModule>

En caso de haber seguido los consejos en la instalación de Magento, y haber cambiado por otra el Admin Path, que por defecto es admin, habría que modificar esta ruta por la elegida.

 

11- ROBOTS.TXT

Robot.txt, también llamado The Robots Exclusion Protocol, es un archivo de configuración que indica a los bots que analizan los sitios Web en Internet qué áreas deben indexar y cuáles no. Aunque este estándar es una recomendación, que puede ser adoptado o no, es recomendable
acotar las regiones de la web que se quiera que sean indexadas. Al propietario de la tienda electrónica con Magento le interesa que se indexe toda la información relativa a los productos o servicios que se venden, pero no le interesará que se indexe nada relativo a las páginas de configuración o de administración de Magento.

12- Extensiones de seguridad en Magento
En esta sección se describe brevemente una serie de extensiones disponibles enfocadas a mejorar la seguridad de Magento.

 

ET IP SECURITY
Descripción: Permite restringir el acceso a la página web de visitantes por IP o usando máscaras IP.

Compatible con: 1.3, 1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7

Precio: gratis

 

IMPROVED ADMIN SECURITY
Descripción: Mejora la seguridad del acceso a la sección administrativa de la tienda, incorporando la verificación de dos pasos mediante Google        Authenticator29

Compatible con: 1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7, 1.8

Precio: $39.00

 

IMPROVED ADMIN SECURITY
Descripción: Permite utilizar la autenticación de dos factores basada en la aplicación Google Authenticator.

Compatible con: Magento CE 1.4.1, Magento CE 1.4.2, Magento CE 1.5, Magento CE 1.6, Magento CE 1.7, Magento CE 1.8

Precio: $89.00

 

MAGEPIM PHPIDS SECURITY INTEGRATION
Descripción: Módulo que integra Magento con PhpIDS.

Compatible con: 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7

Precio: $60.00

 

ENHANCED ADMIN SECURITY: TWO-FACTOR AUTHENTICATION
Descripción: Extensión que utiliza la autenticación en dos pasos de XTENTO, información adicional de seguridad que será necesaria cuando se quiera iniciar sesión en el backend de Magento. Además del nombre de usuario y la contraseña, es necesario un código de seguridad para poder identificarse. Este código de seguridad es generado a través de un smartphone, siendo válido únicamente durante 30 segundos.

Compatible con: 1.3, 1.4, 1.5, 1.6, 1.7, 1.8

Precio: $49.00

 

ADMIN LOGGER
Descripción: Admin Logger es una extensión de Magento que registra las acciones realizadas en el backend de la tienda Magento. Con esta                extensión queda registrado qué administrador esta registrado, qué páginas visita y qué modificaciones realiza. Esta información supone por tanto        un histórico detallado de los datos modificados y la fecha de su realización de utilidad en la supervisión, investigación o labores de auditoría que
resultasen necesarias.

Compatible con: 1.3, 1.4, 1.5, 1.6, 1.7, 1.8

Precio: $49.00

 

MAGEBACKUP – BACKUP SOLUTION LITE
Descripción: MageBackup Lite es la versión gratuita de la extensión de Magento MageBackup. Esta versión proporciona la funcionalidad para          realizar copias de seguridad del sitio web. Las principales características son:

– Backup rápido: la extensión está optimizada para un mejor rendimiento en servidores Linux y Windows.

– Copia de seguridad de archivos, base de datos o ambas cosas: posibilidad de realizar copias de seguridad de archivos, base de datos o                        archivos y base de datos.

– Exclusión de carpetas: posibilidad de poder excluir carpetas de la copia de seguridad.

– Auto Backup: MageBackup es compatible con Magento cron para realizar copias de seguridad automáticamente.

– Administración de Backup: funcionalidad para añadir y editar las copias de seguridad.

Compatible con:1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7

Precio: gratis

 

AUTOBACKUP
Descripción: Extensión que permite la programación de backups automáticos de la base datos.

Compatible con 1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7

Precio: $50.00

 

MAGEPLACE BACKUP EXTENSION
Descripción: Extensión para realizar copias de seguridad de la tienda web de Magento a un servidor externo independiente. En este caso, las copias de seguridad pueden ser almacenadas fuera del servidor en servicios de almacenamiento como Google Drive, Box.com, Dropbox o Amazon, pero manteniendo un acceso fácil y rápido para que en caso emergencia su utilización pueda ser ágil. Extensión que permite la programación de backups automáticos de la base datos.

Compatible con: 1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7, 1.8

Precio: $149.00