Guía de seguridad para WordPress

Las estadísticas recientes muestran que más del 28% de los administradores de sitios web utilizan como gestor de contenidos WordPress. Y claro, ante tal popularidad es de prever que cada vez un mayor número de hackers y spammers maliciosos se ceben con este gestor buscando aprovechar los resquicios más inseguros. He aquí la guía de seguridad para WordPress definitiva.

Eso sí, siempre debemos partir de una premisa: el objetivo de esta guía es reducir el riesgo, no la eliminación del mismo que siempre existe. Esta guía elaborada por Sucurin.net está destinada a educar a los administradores de WordPress sobre técnicas de seguridad básicas y pasos accionables que ayudarán a mejorar la posición de seguridad y reducir el riesgo de un ataque.

1. Vulnerabilidades del software

El equipo de seguridad de WordPress trabaja diligentemente para proporcionar importantes actualizaciones de seguridad y parches de vulnerabilidad. Sin embargo, el uso de complementos y temas de terceros expone a los usuarios a amenazas de seguridad adicionales.

Al instalar regularmente las últimas versiones de los archivos y extensiones principales de WordPress, puedes asegurarte de que tu sitio web posea todos los parches de seguridad vigentes.

1.1 Auditar plugins y temas

Los complementos y los temas pueden quedar obsoletos, obsoletos o incluir errores que presentan serios riesgos de seguridad para el sitio web.

Para proteger la instalación de WordPress, te recomendamos que audites tus complementos y temas de forma regular.

1.2. Actualizaciones

– Actualizando WordPress

Cuando hay una nueva actualización disponible, se notifica en el menú Panel> Actualizaciones.

Siempre debes aplicar actualizaciones lo antes posible. Iniciar sesión en el sitio con frecuencia garantizará que estés al tanto de las actualizaciones a medida que se publiquen. Si no puedes actualizar tu sitio por alguna razón, usa un firewall de sitio web para parchear virtualmente el problema y minimizar el riesgo.

Para configurar actualizaciones automáticas en WordPress:

  • Inicia sesión en tu servidor a través de SFTP o SSH.
  • Busca el archivo wp-config.php, que normalmente se encuentra en la carpeta raíz del documento public_html.
  • Agrega el siguiente fragmento al archivo: define (‘WP_AUTO_UPDATE_CORE’, verdadero)

Algunas actualizaciones pueden dañar tu sitio web, por lo tanto, asegúrate de verificar que tu sitio esté en pleno funcionamiento después de aplicar una actualización. Los usuarios avanzados pueden consultar la guía del WordPress Codex sobre actualizaciones usando subversión.

– Actualización de complementos

Es posible que WordPress no pueda actualizar la extensión si se ha descargado de un sitio web de un tercero. Si este es el caso, es posible que debas actualizar manualmente el complemento mediante FTP o utilizar un actualizador incluido.

Para aplicar actualizaciones manualmente para complementos en WordPress:

  • Verifica la compatibilidad entre el complemento y su versión actual de WordPress.
  • Descarga la última versión del complemento desde una fuente oficial y guárdala en tu máquina local.
  • Verifique las instrucciones de actualización especiales del desarrollador o proveedor del complemento. Si no existe ninguno, procede con los pasos 4-9.
  • Inicia sesión en tu servidor a través de SFTP o SSH.
  • Navega a / wp-content / plugins / y descarga esta carpeta a tu pc para servir como copia de seguridad.
  • Ubica el directorio del complemento que deseas actualizar y elimínalo de FTP.
  • Carga la última versión en la misma ubicación.
  • Inicia sesión en WordPress como administrador y hax clic en Panel> Complementos.
  • Ubica el complemento que acaba de actualizar de la lista y haga clic en Activar.

– Actualizando temas

Si no estás utilizando un tema secundario / infantil para personalizaciones, deberás copiar tus modificaciones en una nueva carpeta de temas y luego actualizarlo a FTP.

Para actualizar manualmente temas en WordPress:

  • Conéctate a tu sitio web mediante FTP y vaya a / wp-content / themes /, luego descarga la carpeta del tema actual a tu pc.
  • Visita el sitio web del tema para descargar la última versión del tema y guárdalo en tu máquina local; ahora tendrás dos copias de la carpeta del tema.
  • Copia las personalizaciones y cambios de código de tu tema anterior y agrégalos a los nuevos archivos de tema.
  • Sube la versión más reciente del directorio de temas, completa con personalizaciones para WordPress usando FTP.

2. Control de acceso

Los atacantes frecuentemente explotan las credenciales débiles de los usuarios para obtener acceso a los sitios web de WordPress. Al utilizar contraseñas sólidas y únicas en tu sitio web, restringir los privilegios disponibles para los usuarios a través de funciones asignadas, habilitar la autenticación de dos o más factores y limitar las sesiones de usuario, puedes reducir el riesgo de un compromiso del sitio web por un mal actor.

2.1. Cuentas de usuario Administración

Una gran mayoría de los ataques se dirigen a los puntos de acceso wp-admin, wp-login.php y xmlrpc.php mediante una combinación de nombres de usuario y contraseñas comunes.

Al usar un nombre de usuario único y eliminar la cuenta de administrador predeterminada en tu instalación de WordPress, haces que sea mucho más difícil para los atacantes adivinar tu acceso hacia tu sitio web.

Crea un alias que sea diferente de tu nombre de usuario existente y configúralo como tu nombre público para mostrar. Esto hará que sea más difícil para los atacantes forzar sus credenciales de inicio de sesión.

Sigue estas recomendaciones de control de acceso para reducir tus riesgos de seguridad: Crea nuevas cuentas de usuario en el nivel más bajo de permiso. Concede permisos temporales y revoca el acceso cuando ya no los necesite. Elimina cuentas que ya no se utilizan. Asegúrate de que la función de usuario predeterminada esté configurada en Suscriptor. Inicia sesión en WordPress como administrador. Verifica que los permisos de suscriptor incluyen solo la posibilidad de iniciar sesión y actualizar un perfil. Desde el Tablero, selecciona Configuración> General. Establece el nuevo rol predeterminado del usuario al suscriptor.

2.2. Contraseñas

Las listas de contraseñas a menudo son utilizadas por los atacantes a los sitios web de WordPress. Es por eso que siempre debes usar contraseñas sólidas y únicas para todas tus cuentas.

Las contraseñas seguras deben cumplir con los siguientes estándares:

  • Al menos 1 carácter en mayúscula
  • Al menos 1 carácter minúsculo
  • Al menos 1 dígito
  • Al menos 1 personaje especial
  • Al menos 10 caracteres, con no más de dos personajes idénticos en una fila

La autenticación de dos factores brinda un segundo nivel de protección para tu cuenta. Esta característica requiere que el usuario apruebe un inicio de sesión a través de una aplicación y protege su cuenta en caso de que alguien adivine su contraseña.

2.3. Limita los intentos de inicio de sesión.

WordPress permite a los usuarios intentar un inicio de sesión ilimitado de forma predeterminada, pero esto deja tu sitio vulnerable a los ataques maliciosos ya que los piratas informáticos intentan combinaciones de contraseñas diferentes.

Puedes agregar una capa adicional de seguridad al limitar la cantidad de intentos de inicio de sesión contra una cuenta a través de un complemento o mediante el uso de un Servidor de seguridad de aplicaciones web (WAF).

2.4. Captchas previos a la conexión

El acrónimo significa Prueba de Turing pública completamente automatizada para distinguir computadoras y humanos. Esta característica es extremadamente útil para evitar que los bots automatizados accedan a tu WordPress, así como para enviar spam no deseado a través de los formularios.

Los complementos populares que agregan un CAPTCHA a su página de inicio de sesión de WordPress incluyen Captcha y Captcha realmente simple.

2.5. Restringir el acceso a las URL autenticadas

Limita el acceso a tu página de inicio de sesión solo a las direcciones IP autorizadas evitarás las entradas no autorizadas.

Hay complementos disponibles que pueden hacer esto. Si está utilizando un WAF basado en la nube como el Servidor de seguridad Sucuri, puede restringir el acceso a estas URL a través del tablero sin tener que perder el tiempo con los archivos .htaccess.

3. Seguridad proactiva de WordPress

No existe una solución 100% completa capaz de proteger totalmente. He aquí una serie de soluciones que puede emplear en tu sitio web para proporcionar una estrategia de defensa eficaz en profundidad. Al poner en capas estos controles defensivos, podrás identificar y mitigar los ataques contra tu sitio web.

3.1. Complementos de seguridad

Si vas al repositorio oficial de WordPress y realizas una búsqueda rápida de Seguridad, encontrarás más de 4.298 complementos con distintas categorizaciones y conjuntos de características.

3.2. Alojamiento

La seguridad del alojamiento de sitios web ha madurado en los últimos años, y es un tema complejo. La mayoría de los hosts brindan la seguridad que necesitas en varios niveles, pero no para el sitio web en sí. Hay una serie de proveedores de hosting que brindan seguridad por una tarifa adicional pero, a menos que hayas comprado un producto de seguridad de ellos, es poco probable que resuelvan problema específico para ti.

Hay cuatro entornos de alojamiento principales que se pueden utilizar parat instalación de WordPress:

  • Entornos de alojamiento compartido
  • Entornos de servidor privado virtual (VPS)
  • Entornos gestionados de alojamiento
  • Servidores dedicados

En teoría, los entornos que eliminan la mayor parte de la dependencia del usuario ofrecerán la mayor seguridad. Si tienes el tiempo y la habilidad para asegurar tu propio entorno, entonces tiene más opciones pero también más responsabilidades.

Si tienes poco conocimiento de cómo funcionan los sitios web, entonces lo mejor para ti es ir con un entorno administrado.

Algunos puntos clave que deben abordarse:

  • ¿Qué precauciones de seguridad estás tomando para proteger tu sitio web (no solo su servidor)?
  • ¿Qué acciones tomarás si identificas malware en uno de tus sitios web?
  • ¿Con qué frecuencia buscan malware?
  • ¿Ofrecen servicios de respuesta a incidentes?
  • ¿Necesitarás contactar a un tercero si tu sitio es pirateado?

– Conexiones SFTP / SSH

La transferencia segura de archivos hacia y desde tu servidor es una faceta importante de la seguridad del sitio web en tu entorno de alojamiento. El cifrado garantiza que los datos enviados estén protegidos de las miradas indiscretas que pueden estar olfateando el tráfico de tu red.

Como bien sabes:

SSH: Secure Socket Shell es un protocolo de red seguro y la forma más común de administrar de forma segura los servidores remotos. Con Secure Socket Shell, cualquier tipo de autenticación, incluida la autenticación de contraseña y las transferencias de archivos, está completamente encriptada.

SFTP: SSH File Transfer Protocol es una extensión de SSH y permite la autenticación a través de un canal seguro. Si estás utilizando FileZilla o algún otro cliente FTP, a menudo puede seleccionar SFTP en su lugar: el puerto predeterminado para SFTP en la mayoría de los servicios FTP es 22.

3.3. Copias de seguridad

Mantener las copias de seguridad del sitio web debe ser una de las tareas recurrentes más importantes para el administrador de un sitio web. Un buen conjunto de copias de seguridad puede guardar tu sitio web cuando absolutamente todo lo demás ha salido mal. Si un atacante malintencionado decide que quiere borrar todos los archivos det sitio o corrompe los archivos de tu sitio con sus scripts con errores, el daño puede deshacerse restaurando su sitio desde sus copias de seguridad.

3.4. Detección

Hay una serie de herramientas que puede usar para ayudar a identificar cuándo algo salió mal en tu sitio web.

Las comprobaciones de integridad son un aspecto importante de la auditoría de tu instalación de WordPress y puedes darle una advertencia temprana de una intrusión en tu sitio web.

Las herramientas de supervisión de integridad de archivos normalmente se instalan en un servidor donde crean una suma de comprobación criptográfica de referencia de los archivos críticos y las entradas de registro. Si un archivo o registro se modifica de alguna manera, recibirás una notificación de los cambios

4.  Recomendaciones de Endurecimiento

4.1. Configuraciones básicas de .htaccess

El archivo .htaccess es lo que la mayoría de los proveedores modificarán cuando digan que están reforzando su entorno. Este archivo de configuración crítico es específico para servidores web que se ejecutan en Apache. Si estás ejecutando WordPress en una pila LAMP utilizando Apache, te recomendamos que fortalezcas tu sitio al actualizar tu archivo .htaccess con lo siguiente.

4.2. Configuraciones de la aplicación

El archivo wp-config.php es un archivo de configuración muy importante que contiene información confidencial sobre tu sitio de WordPress, incluidas las conexiones de bases de datos.

Si el archivo wp-config.php no existe en la carpeta raíz, WordPress buscarás automáticamente este archivo en la carpeta que se encuentra sobre el directorio raíz. Mover este archivo fuera de la carpeta raíz evita que se pueda acceder a wp-config.php desde Internet.

El archivo wp-config incluye una sección dedicada a sales y claves de autenticación. Estas sales y claves mejoran la seguridad de las cookies y contraseñas que están en tránsito entre tu navegador y el servidor web.

5. Servicios de seguridad

Hay una serie de servicios profesionales que se encargan de las necesidades de seguridad de tu sitio web. No todos los servicios son iguales: algunos cobran más por solucionar problemas complejos y otros ofrecen conjuntos de funciones por niveles diferentes. Debe elegir el que mejor se adapte a tus necesidades.

Si tu host proporciona servicios de seguridad, tómate un tiempo para investigar exactamente qué características incluyen. Normalmente asesoran sobre cómo puede complementar sus conjuntos de características iniciales con servicios adicionales.

El beneficio de emplear un servicio de seguridad basado en la nube como Sucuri es que brinda seguridad integral de sitio web completo. Esto significa que los servicios de protección, detección y respuesta se incluyen con una plataforma todo en uno y sin cargos ocultos.

6. Implementando SSL y HTTPS

El SSL se ha vuelto cada vez más importante en los últimos años, no solo para transmitir de forma segura información desde y hacia tu sitio web, sino también para aumentar la visibilidad y reducir las posibilidades de ser penalizado.

SSL permite el acceso a un sitio web a través de HTTPS, que encripta los datos enviados entre los visitantes y los servidores web. Desde 2014, SSL ha sido una señal de clasificación para SEO y Google ahora ha comenzado a marcar sitios web que no son HTTPS que transmiten contraseñas y datos de tarjetas de crédito.