Seguridad de Magento: checklist para proteger tu tienda

La seguridad es un proceso, no un producto.

Según las últimas previsiones de eMarketer, las ventas de comercio electrónico de empresa a consumidor (B2C) en todo el mundo aumentarán un 20,1 % este año hasta alcanzar los 1500 billones de dólares. El mundo del comercio electrónico está creciendo rápidamente, y es natural que miles de servidores dedicados que funcionan las 24 horas del día, los 7 días de la semana o la información privada, incluidos los datos financieros, sean un señuelo para los piratas informáticos. Y estos datos pueden caer fácilmente en manos de los villanos si no se apega a las reglas de seguridad de Magento.

En este artículo profundizaremos en los puntos de seguridad más relevantes y oportunos para Magento.

Los piratas informáticos violan los sitios web de comercio electrónico:

  • usarlo para phishing;
  • para usarlo para el spam de correo electrónico;
  • para desfigurar o dañar su sitio:
  • para robar información que pueden utilizar en su beneficio.

La razón más importante por la que necesita proteger su tienda Magento es que también debe proteger los datos de los clientes . Por supuesto, los piratas informáticos pueden querer tener su propia información por varias razones (y también por espionaje industrial), pero lo primero es lo primero, no debe proporcionarles los datos privados de sus clientes, incluidos los detalles de pago . Si estos datos se ven comprometidos debido al ataque de un pirata informático, puede afectar seriamente su reputación y credibilidad , así como dañar a sus clientes.

Bienvenido a usar esta lista de verificación de seguridad de Magento en su tienda.

1. Actualización a tiempo

Las actualizaciones de software le brindan no solo nuevas funciones, sino también correcciones de errores y errores y eliminación o eliminación de vulnerabilidades. Por eso es extremadamente importante utilizar las últimas versiones de software disponibles en este momento. Funciona tanto para Magento como para el software del servidor (¿recuerdas ShellShock ?).

Para actualizar su sistema operativo, use los siguientes comandos:
RHEL / CentOS

actualización mmm

Debian/Ubuntu

apt-obtener actualización
apt-obtener actualización

2. Haz una copia de seguridad de tu tienda Magento regularmente

No puede estar 100 % protegido contra los piratas informáticos, pero hay una cierta manera de sentirse más seguro: las copias de seguridad periódicas pueden salvarlo de muchos problemas . Guarde periódicamente copias de seguridad, ni siquiera intente almacenarlas en el mismo servidor que el sitio web original y restaure periódicamente sus copias en una caja de arena para asegurarse de que funcionan bien. Tener sus archivos de respaldo en el mismo servidor con el sitio web original es inseguro no solo porque necesita que su copia esté segura si su servidor falla, sino también porque si un hacker obtiene acceso a su servidor, también tendrá en sus manos el copia de seguridad, que es, sin duda, muy no deseada.

Para descargar la secuencia de comandos de copia de seguridad gratuita y leer más consejos sobre la copia de seguridad de Magento, no dude en leer este artículo: Cómo hacer una copia de seguridad de una tienda Magento: tutorial + secuencia de comandos

3. Usa contraseñas seguras para tu tienda Magento

¿Sabías que 123456 fue la contraseña más popular en 2013, según SplashData? La contraseña de administrador es la última medida de seguridad de su tienda Magento . ¡Y necesitas que sea fuerte! Las contraseñas fáciles pueden forzarse por fuerza bruta, así que use más de 10 caracteres, incluidas mayúsculas y minúsculas, y caracteres especiales como $%! #^ también, de esta manera su contraseña no será pirateada, ya que incluso con equipos modernos tomará años. para encontrar una coincidencia.

Uso KeePass , PWGen y APG para generar contraseñas.

4. No uses tu contraseña de Magento en ningún otro lugar

De hecho, este problema de seguridad de Magento funciona con cualquier información protegida por contraseña que posea. Según passwordresearch.com, más del 15% de los usuarios eligen contraseñas idénticas para más de un servicio. Demasiadas personas no saben que el uso de contraseñas idénticas para varios inicios de sesión conlleva el riesgo de perder todas sus cuentas a la vez. Nuevamente: todas sus contraseñas deben ser únicas . No seas perezoso, deja de leer un momento y cámbialas si no lo son. ¡No se lo diremos a nadie!

5. No guarde ni almacene contraseñas en su computadora

Una parte importante del software troyano roba contraseñas guardadas. Debe tener cuidado con los clientes FTP y los navegadores, ya que las contraseñas se roban a través de estas aplicaciones con más frecuencia. Nunca guarde contraseñas usando este software sin la contraseña maestra (una contraseña que encripta el resto de las contraseñas mientras guarda los detalles de acceso). Ignorar este consejo puede provocar fugas de datos de inicio de sesión.

Prefiero usar KeePass para guardar contraseñas.

6. Cambia las contraseñas regularmente

Las contraseñas no deben ser de larga duración. Aconsejo cambiar las contraseñas cada 3-6 meses . Incluso si sus contraseñas se han filtrado (e incluso si el pirata informático no las ha utilizado), los cambios regulares harán que los datos filtrados anteriores sean inútiles. Asegúrese de que también se cambien las contraseñas de todas las personas que utilizan el sitio web.

7. Utilice la autorización de dos factores

Incluso la contraseña más segura es inútil si puede ser robada. Para aumentar el nivel de seguridad de su tienda, se recomienda utilizar cualquier segundo factor de autorización, por ejemplo, la dirección IP . Para restringir el acceso de back-end, agregue las siguientes líneas a la sección VirtualHost de la configuración del servidor web Apache (tenga cuidado: si agrega estas líneas al archivo .htaccess, se producirá un error):

    Orden Denegar, Permitir
    Negar todo
    Permitir desde 192.168.100.182

Si está buscando una solución de autenticación de dos factores de Magento, no dude en consultar la extensión de Amasty .

8. Utilice un cortafuegos

Configure el firewall para denegar el acceso público a todo excepto al servidor web. Si no tiene una dirección IP permanente para dar acceso a través del firewall, use la tecnología VPN o Port Knocking .

En RHEL/CentOS, la configuración del firewall se puede encontrar en /etc/sysconfig/iptables; cuando se trata de Debian/Ubuntu, use iptables-persistent (/etc/iptables-persistent/rules.v4) .

También puede instalar un firewall de aplicaciones web (como Naxsi) para proteger su tienda de inyecciones de SQL. Aunque Magento tiene una gran cantidad de código dedicado a protegerlo de las inyecciones, es mejor prevenir que curar.

9. Busque errores o actividad sospechosa en los registros

Audite regularmente los registros del servidor web principal de Magento y busque errores o actividad sospechosa. Es posible que desee utilizar la extensión Admin Actions Log Magento para ese propósito, y se actualizó recientemente con las siguientes características extremadamente importantes para la seguridad web:

    • Puede configurar una notificación para un intento de inicio de sesión exitoso desde un país inusual en comparación con los inicios de sesión anteriores.

    • Puede configurar una notificación para muchos intentos de inicio de sesión fallidos durante la última hora, lo que puede ser una señal de intento de incumplimiento

  • El estado «403 Prohibido» devuelto por la página de inicio de sesión fallida en el backend, lo que facilita la integración con las herramientas de seguridad del servidor.

También hay una buena herramienta llamada Fail2ban . Escanea los archivos de registro y prohíbe las IP que muestran signos maliciosos (intentos de inicio de sesión fallidos, búsqueda de exploits, etc.). Generalmente, Fail2Ban se usa para actualizar las reglas del firewall para rechazar las direcciones IP durante un período de tiempo específico. La herramienta reduce la tasa de intentos de autenticación incorrectos.

10. Cambiar la URL del servidor

Este método tiene más que ver con la seguridad por oscuridad , pero puede ser útil como medio adicional para luchar contra los bots y los ataques de fuerza bruta. Para cambiar la URL del backend, edite app/etc/local.xml (sección admin / routers / adminhtml).

        
            
                
                    <!--[CDATA[your-secure-location]]>
                
            
        

[infobox icon="exclamation"]No recomendamos cambiar la URL de administración predeterminada usando la interfaz nativa del panel de administración de Magento.[/infobox]

Asegúrese de que la nueva URL sea bastante difícil de adivinar. También es posible que desee borrar su caché después de estos pasos.

Luego verifique su nueva URL y asegúrese de que la URL anterior devuelva la página de error 404.

11. Usa HTTPS/SSL para backend

Al usar un punto de acceso público en una cafetería o un centro comercial, corre el riesgo de sufrir un ataque MitM . Para evitar eso, emplee conexiones seguras para la autorización . Para comenzar a usar SSL, ¡ni siquiera necesita comprar un certificado! Simplemente genere un certificado autofirmado y conviértalo en uno de confianza en su navegador.

12. Olvídate del FTP

El protocolo FTP se creó cuando Internet era un bebé recién nacido y la seguridad no era un problema en ese momento. Hoy en día, el uso de FTP es muy poco deseado porque la autorización se realiza con texto sin formato y se puede interceptar fácilmente. Use el protocolo SFTP , ya que también lo aliviará de los problemas con la transmisión de IP (NAT), ya que no todos tienen una IP pública para el uso de Internet. Para configurar SFTP para Magento, siga esta guía .

13. Establecer permisos de acceso mínimos de referencia

Establezca siempre permisos de acceso mínimos para las actividades del servidor web. En Magento necesita registros en app/etc , media y var solamente, además de include/ en caso de que use compilación. Es posible que se necesiten derechos extendidos solo para el uso de Magento Connect.

La mejor combinación desde el punto de vista de la auditoría de seguridad de magenti será la siguiente: deje que el código fuente del sitio web pertenezca al primer usuario (digamos, administrador), y el servidor web ejecutará el código con el segundo usuario (digamos, apache). Aquí hay un ejemplo de configuración de acceso para esta combinación:

chown -R admin:apache /ruta/a/su/magento
find /path/to/your/magento -type f -print0 | xargs -r0 chmod 640
find /path/to/your/magento -type d -print0 | xargs -r0 chmod 750
chmod -R g+w /ruta/a/su/magento/{aplicación/etc,media,var}
# Solo si se usa compilación
chmod -R g+w /ruta/a/su/magento/incluye

14. Usa software antivirus

Utilice un software antivirus confiable y actualícelo regularmente a la última versión, ya que todos los días agregan información actualizada sobre nuevo scumware a sus bases de datos. Esto se sumará a la protección de sus datos y lo mantendrá a salvo del malware que roba información y la envía a los piratas informáticos.

15. Bloquea países no deseados

Si no realiza envíos a todo el mundo, piense en bloquear otros países.

Hay una buena herramienta llamada GeoIP Legacy Apache Module que ayuda a permitir, bloquear o redirigir a los usuarios según el país. Si realiza envíos solo a EE. UU., de esta manera puede protegerse de cualquier ataque; por ejemplo, una gran cantidad de tráfico malicioso proviene de China y, al bloquearlo, evita cualquier intento de violación de las IP chinas.

Esperamos que estos consejos de seguridad de Magento mantengan sus datos sanos y salvos. ¿Tiene alguna pregunta o simplemente quiere compartir su experiencia con la protección de la tienda Magento? Además, para problemas avanzados de seguridad de Magento, no dude en consultar Magento Security Suite de Amasty.