DominioZero

Seguridad en WordPress

seguridad-wordpress

El 32% de internet funciona sobre WordPress, según sus propias estadísticas. Siendo una plataforma tan popular, es lógico que los hackers fijen los sitios WordPress como uno de sus principales objetivos. Es una situación similar a la que sufre Windows, que al ser el sistema operativo más utilizado es también el blanco preferido de los piratas informáticos.

En esta pequeña guía veremos los primeros pasos para mejorar la seguridad de tu página en WordPress. Debes tener en cuenta que todos estos consejos mejorarán la seguridad de tu instalación WordPress, pero también que ninguna instalación está 100% protegida ante posibles atacantes. Por este motivo, es importante realizar un mantenimiento periódico de tu instalación. Es decir, la seguridad en una página web no es algo que se configure una vez y nos podamos olvidar; es un proceso constante y acumulativo.

Llegados a este punto, comenzaremos con los frentes a los que tendremos que atender para mejorar la seguridad en WordPress.

Vulnerabilidades de WordPress

Aunque los desarrolladores de WordPress suelen trabajar en actualizaciones que solucionan o mitigan problemas de seguridad, debes saber que el uso de plugins y temas de terceros abren la puerta a otras amenazas. Los desarrolladores de estos plugins y temas no siempre trabajan con la debida rapidez y diligencia, por lo que es importante que estés atento a las alertas de seguridad que periódicamente se van publicando en diferentes webs dedicadas a este tema.

Núcleo, temas y plugins

Asegúrate siempre de tener instalada la última versión de WordPress y de los temas y plugins de tu sitio web.

Los plugins instalados en tu WordPress pueden quedar obsoletos con cierta rapidez, así como incluir bugs y agujeros de seguridad que afectarán a la seguridad de tu WordPress, por lo que es imprescindible estar atento a las últimas actualizaciones que sus desarrolladores vayan publicando.

De la misma manera, puedes decidir si un plugin o un tema son interesantes para tu sitio, vigilando ciertos aspectos. ¿Tiene un gran número de instalaciones? ¿La valoración es positiva? Puedes acceder a esta información desde Plugins > Añadir nuevo. Ahí verás las fichas de los plugins. Cuando busques un plugin, estas fichas te darán cierta información básica, como la valoración media, el número aproximado de instalaciones, la última actualización y si el plugin es compatible con tu versión de WordPress. Haciendo clic sobre «Más detalles» puedes acceder a los comentarios de los usuarios, las respuestas del equipo de desarrolladores, etcétera.

Debes prestar atención a los términos y condiciones del plugin, ya que en ocasiones, estamos aceptando ciertos «extras» que no teníamos en cuenta a la hora de instalar el plugin. Otra cuestión a tener en cuenta es saber si los propietarios del plugin han cambiado. Si antes lo desarrollaba una compañía y ahora lo hace otra, deberías pensar en otra opción.

En ocasiones, desarrolladores malintencionados pueden adquirir un plugin con muchos usuarios para insertar contenido no deseado en tu sitio, desde redirecciones y malware hasta scripts espías.

¿No lo usas? ¡Olvídalo!

Según pasa el tiempo y va cambiando la orientación de nuestro sitio o nuestras necesidades, vamos desactivando plugins o temas y ahí se quedan, acumulando polvo y años de desactualizaciones. Como no los usamos, tendemos a olvidarnos de ellos y suponen un riesgo de seguridad para nuestro WordPress. Así que si no utilizamos un plugin o un tema, desactivarlo no es suficiente, debemos borrarlo.

Actualizaciones, el santo grial

Pues sí, las actualizaciones son tu principal herramienta a la hora de mejorar la seguridad en WordPress. Cada vez que haya una nueva actualización para WordPress, este te lo notificará en la parte superior e inferior de tu panel de control, además de en el Escritorio de WordPress. Para ver las actualizaciones pendientes, ve a Escritorio > Actualizaciones y comprueba las que hay disponibles. En esta sección verás tanto las actualizaciones del núcleo de WordPress como las de los plugins y temas instalados.

En el caso de las actualizaciones del núcleo, puedes automatizar la tarea cambiando una configuración de tu instalación. Ve al directorio de instalación de WordPress y localiza el archivo wp-config.php. Edítalo y añade al final este fragmento de código:

define( 'WP_AUTO_UPDATE_CORE', true );

Recuerda que es muy importante realizar copias de seguridad periódicas de tu sitio, ya que en ocasiones las actualizaciones pueden corromper partes de la instalación, dejando tu sitio inutilizable. Si tu servidor te lo permite, configúralo para que realice copias automáticas una vez a la semana.

Todo lo anterior se aplica también a las actualizaciones de plugins y temas. Antes de actualizar cualquier plugin, fíjate en la ficha, ya que ahí podrás ver si la nueva versión es compatible con tu instalación de WordPress.

Si lo que vas a actualizar es un tema, además de todo lo anterior, debes tener en cuenta las personalizaciones que hayas realizado hasta ese momento. Si utilizas un tema hijo (Child theme) no debería haber ninguna complicación, pero si has editado directamente sobre el tema (que no es lo más aconsejable), copia el código de todas esas personalizaciones para volver a introducirlas cuando acabe la actualización.

Control de acceso ¡Cierra la muralla!

Este es otro de los aspectos fundamentales a tener en cuenta en la mejora de la seguridad de tu WordPress. Los hackers a menudo aprovechan unas claves débiles para acceder a instalaciones de WordPress. La mejor manera de hacer frente a este riesgo es utilizar contraseñas fuertes, únicas para ese sitio y restringir los privilegios de cada rol. Otras formas de reforzar la seguridad incluyen implementar la autenticación en dos factores, limitar el número de sesiones simultáneas y el número de intentos de acceso fallidos.

Usuarios

Si has investigado un poco sobre el tema, sabrás que los principales objetivos de los hackers son los archivos wp-admin.php, wp-login.php y xmlrpg.php. El proceso que siguen consiste en intentar acceder con nombres de usuario y contraseñas utilizados habitualmente. Otra posibilidad es que hayan tenido acceso a un listado de correos y claves que se haya podido filtrar en algún fallo de seguridad, como los ya famosos de Facebook. Utilizando ese listado como base, un bot puede probar multitud de usuarios y claves en un solo panel de acceso.

En muchas ocasiones la instalación por defecto de WordPress creará un usuario administrador genérico, llamado «admin». Los hackers suelen utilizar este usuario como primera opción para intentar acceder a tu escritorio. Para evitarlo, lo primero es deshacernos de esta cuenta por defecto. A continuación te decimos cómo:

¿Privilegios? ¡Sólo los necesarios!

La idea es muy sencilla: Utiliza los mínimos privilegios necesarios para realizar cada acción.

Es conveniente que cada usuario tenga su propia cuenta y que cada cuenta tenga solo los privilegios necesarios para el trabajo que va a realizar. Si en algún momento uno de los usuarios debe realizar una tarea que está por encima de sus privilegios, puedes aumentarlos durante el tiempo que realice esa tarea, pero recuerda devolver a ese usuario a su rol original cuando finalice el trabajo. Estos son los roles básicos de WordPress:

  1. Administrador
    Este rol está en lo más alto de la jerarquía de la web. Puede realizar todas las funciones y acceder a todos los contenidos del WordPress.
  2. Editor
    Los editores pueden crear, editar, borrar y publicar tanto páginas como entradas. También pueden moderar comentarios y gestionar las categorías y los enlaces.
  3. Autor
    Los usuarios con este rol pueden crear, editar, borrar y publicar sus propias entradas. No pueden gestionar páginas ni modificar el contenido de otros autores.
  4. Colaborador
    Un colaborador puede leer todos los posts, borrar y editar sus propios posts. No pueden publicar entradas ni subir medios.
  5. Suscriptor
    Los suscriptores pueden leer todos los posts del sitio. En muchos sitios este rol no es necesario.

Contraseñas: difícil combinación

Los usuarios suelen ser un poco (bastante) vagos a la hora de crear contraseñas. Ante la decisión de elegir entre una contraseña fácil de recordar y una segura, la mayoría se inclinan por la primera. Es por esto que debemos definir unos estándares mínimos a la hora de crear las contraseñas. Todas deberían cumplir con estos requisitos:

Autenticación de dos factores

La autenticación de dos factores añade una capa adicional de seguridad a nuestros WordPress. Mediante este sistema, el usuario que quiera acceder al escritorio deberá confirmar su identidad mediante una app o un mensaje al teléfono. Existen varios sistemas para implementar la autenticación de dos factores, aunque el más habitual es el de Google. Existen varios plugins en el repositorio de WordPress que nos permitirán añadir esta funcionalidad a nuestra intalación de WordPress.

Límite de intentos fallidos

Como se suele decir, «si me engañas una vez, es culpa tuya; si me engañas dos veces, es culpa mía». Por defecto nuestro sitio WordPress no impone ningún límite al número de intentos de acceso, lo que hace que el sitio sea vulnerable ante ataques de fuerza bruta que intentarán adivinar la contraseña simplemente intentándolo muchas veces. Igual que con la autenticación en dos factores, existen numerosos plugins que te permitirán implementar esta medida de seguridad en tu sitio. Ve a Plugins > Añadir nuevo y busca «limit login attempts» para ver las principales opciones disponibles. Recuerda tener en cuenta los criterios que indicamos al principio de esta guía para elegir el plugin más adecuado.

CAPTCHAs y ReCAPTCHAs

Los CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans Apart en inglés) son, como su acrónimo indica un mini test de Turing que permite al sistema distinguir (en teoría) entre humanos y máquinas o bots que intentan acceder a nuestro sitio. Aunque los bots cada vez son más sofisticados y pueden superar algunos CAPTCHAs antiguos, las últimas versiones suelen ir mejorando la fiabilidad y la protección que ofrecen. En el repositorio de WordPress puedes encontrar varias opciones.

Para mantener la efectividad de este método no olvides actualizar el plugin que lo controla. Algunos de los servicios CAPTCHA que se ofrecen (es el caso de Google reCAPTCHA) necesitan una clave API para poder funcionar. En cada plugin deberías encontrar las instrucciones que debes seguir para obtener tu clave API.

Restricción de acceso a IPs autorizadas

Vale, quizá este punto puede resultar un poco extremo, pero si tienes una IP fija y estás seguro de que no vas a acceder al escritorio de tu sitio WordPress desde otra ubicación, esta es la medida de seguridad definitiva. El firewall de tu servidor puede implementar esta medida sin demasiados problemas. De todas formas, si no tienes acceso a esta herramienta, existen plugins que crean un firewall para aplicaciones web (WAF) que realizará la misma función.

Pasando a la ofensiva: Defensa activa

Además de los consejos anteriores que nos proporcionan una defensa pasiva, hay ciertas acciones que nos proporcionarán lo que llamamos defensa activa o proactiva. En resumen, estas prácticas nos permitirán analizar nuestras defensas, evaluar las amenazas y prevenir los ataques. No olvides que en lo que a seguridad en internet se refiere, estamos en un estado de guerra constante. Las vías por las que podemos defendernos de manera activa están divididas en tres vertientes: nuestro hosting, nuestra web y servicios externos. Veamos cómo enfrentarnos a esta parte…

Hosting: la base de todo

Nuestro hosting o alojamiento define un gran número de las políticas de seguridad de nuestra web. Desde bloqueos de IP automáticos para impedir ataques de fuerza bruta, hasta análisis de virus y malware, son opciones que muchos servicios de alojamiento ofrecen para incrementar la seguridad. Si eres tú quien gestiona tu propio alojamiento tendrás más herramientas a tu disposición, pero también una mayor responsabilidad sobre las políticas de seguridad. Si no tienes los conocimientos o el tiempo necesarios, es siempre preferible que recurras a servicios de hosting gestionados por el proveedor. A continuación te damos algunas pistas sobre qué tener en cuenta y sobre qué preguntar a tu proveedor en caso de que sean ellos quienes gestionen el servicio.

En caso de que gestiones tu propio servidor con cPanel, la herramienta ModSecurity™ puede ayudarte enormemente a analizar y bloquear las posibles amenazas. Eso sí, ten cuidado con las reglas que activas, ya que pueden dejar tu sitio inaccesible.

Por otra parte, cada vez que nos conectamos a nuestro servidor (ya sea gestionado por el proveedor o por nosotros) mediante FTP, es importante utilizar el protocolo SFTP (Secure File Transfer Protocol). Del mismo modo, si por cualquier razón debemos utilizar el shell, recuerda hacerlo mediante SSH (Secure Socket Shell). Estos dos protocolos encriptados evitarán que algún agente malintencionado pueda interceptar los datos enviados o recibidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Salir de la versión móvil