¿Cómo hacer mi WordPress más seguro?

Carlos García
6 minutos
¿Cómo hacer mi WordPress más seguro?

WordPress es sin lugar a dudas uno de los sistemas más utilizados para gestionar contenido y eso hace que al mismo tiempo sea también objetivo de fallos de seguridad y ataques. A diferencia de lo que muchos consumidores de este famoso gestor de contenido piensan, se trata de una plataforma muy segura y el hecho de que sea de código abierto lo facilita. En este artículo me gustaría mostraros algunos consejos prácticos y sencillos de implementar que te permitirán proteger de forma más efectiva tu web.

Evidentemente, vamos a obviar algunas prácticas fundamentales y completamente recomendadas tales como:

  • 🔒 Instalar un certificado SSL, que además debería de ser gratuito en la mayoría de planes de alojamiento y si no es así, cámbiate de hosting.
  • ✅ Mantener nuestro WordPress, tema y plugins actualizados. Tener al día el sistema que le da vida a nuestro blog es imprescindible ya que en muchos casos contienen soluciones a fallos de seguridad.
  • ⛔ Si quieres hacer un proyecto serio y tener un resultado profesional, no utilices software que no sea original. Así de simple. No solo por las actualizaciones y el soporte, si no por el propio riesgo de usar software pirateado.
  • 💾 Hacer copias de seguridad de WordPress, que te permitirán restaurar tu web en caso de cualquier fallo.

Al crear una web con WordPress, gestionar su seguridad debería de ser una de nuestras prioridades y vamos a descubrir cuales son los consejos y trucos que os traigo recién salidos del horno:

Desactivar la edición de archivos

Además de que no es cómodo editar archivos desde el editor integrado, es una fuente de posibles problemas. Por defecto esta opción no está añadida en la configuración, que la encontraremos en la carpeta raíz de nuestro blog en el archivo wp-config.php.

Lo más interesante es que el propio WordPress te lo desaconseja:

Aviso de seguridad de WordPress

Vamos a solucionar esto, lo único que tenemos que hacer es buscar WP_DEBUG y añadir en la línea siguiente este código:

define("DISALLOW_FILE_EDIT", true);

¡Y listo! Ya no será posible editar archivos desde el panel de administración.

Asegúrate de que ningún usuario se llame «admin»

Algo que puede parecer inofensivo a primera vista puede suponer un verdadero problema de seguridad. El hecho de utilizar nombres por defecto (no únicamente admin) y contraseñas genéricas o poco seguras permitirá que ciertos robots poco deseables eventualmente puedan accedar al panel de administración.

Los robots de ataques fuerza bruta, comprueban además otros nombres de usuario y contraseñas habituales. Webs sin aparentes fallos de seguridad son víctimas cada día por el uso de este tipo de nombres y claves «de las que hay que pensar poco».

Lo único que tenemos que hacer es eliminar o modificar este usuario en el caso de que exista, y por supuesto, asignarle una contraseña segura.

Desactiva los índices de directorios

Si utilizas WordPress, tu hosting probablemente te permitirá utilizar .htaccess. Este fichero se encarga de poner lo más óptimas posibles tus URLs, pero lo que mucha gente no sabe es que se puede utilizar para mejorar la seguridad de tu web.

Oculta la versión de WordPress

A día de hoy me sigo llevando las manos a la cabeza cuando veo que en las últimas versiones de WordPress se sigue enviando una meta tag llamada Generator. Sin posibilidad de ser desactivada sencillamente, indica la versión en la que corre el sistema.

Ocultar la versión de WordPress

En un mundo perfecto nos serviría para saber de un vistazo rápido que versión utilizamos, pero por desgracia no es el caso y es inadmisible que demos información que lo único que podría provocar es facilitar a un posible atacante obtener con una búsqueda en Google todos los fallos de seguridad vinculados a la versión que utilizamos.

Sin necesidad de buscar mucho he encontrado una página web bastante conocida (de la cual no pondré el nombre) que muestra esta etiqueta con una versión además, desactualizada y que tiene asignada aproximadamente unas 18 vulnerabilidades.

Para solucionarlo, simplemente tenemos que ir a la carpeta de nuestro tema y editar el archivo functions.php. Después de la primera línea, añadiremos este código que la ocultará por nosotros:

remove_action("wp_head", "wp_generator");

Elimina los archivos license.txt, licencia.txt y readme.html

Si bien es cierto que a priori no pueden causar ningún problema ya que se trata de ficheros estáticos pero ofrecen información vital a un potencial atacante: ¡se está usando WordPress! 🚨. Soy partidario de eliminar toda esta información de cara al usuario.

Para ello, únicamente tienes que ir la carpeta de instalación de tu blog y eliminar los siguientes archivos: license.txtlicencia.txt, y readme.htmlRecuerda que se crean cada vez que se actualiza tu WordPress.

¿Facil, verdad? ¡Seguimos!

Añade cabeceras de seguridad

Quizás esto te suene a cuento chino, pero te explico: Cuando accedes a cualquier página web, se envía una petición HTTP que contiene cierta información que envía el usuario y el servidor al responder. Esto se conocen como cabeceras, en inglés, HTTP Headers.

Desde hace no mucho, existen las llamadas cabeceras de seguridad que el servidor envia al visitante de tu página web, y el navegador de este último las respetará.

Pese a que es un tema demasiado extenso para hablarlo en este mismo artículo, especialmente si no tienes conocimientos muy avanzados, te resumo algunos ejemplos:

  • Se puede forzar al navegador a que no envíe información de la página de procedencia si accede a otra página web enlazada desde tu blog.
  • Podrás definir si solo quieres aceptar peticiones seguras con HTTPs o una mezcla de ambas.
  • Puedes definir si se usará la cámara, el micrófono, el GPS de un móvil…

Implementarlas manualmente puede ser tedioso, por lo que te dejo dos recomendaciones:

  • Instalar un plugin que las añada por tí, como este.
  • Contacta con nosotros, y te ayudaremos a incluir todas las cabeceras de seguridad requeridas para conseguir una puntuación A+.

Si quieres comprobar si una página web cumple con las cabeceras de seguridad recomendadas, puedes utilizar esta página web. Para saber todas las cabeceras de seguridad que existen puedes acceder al blog de Scott Helme (en inglés). Es experto en estas cuestiones, creador de la aplicación que te hemos dejado antes y con un contenido verdaderamente útil para los más curiosos.

¿Necesitas una página web para tu empresa?

No te la juegues. Contacta con nosotros y nuestro equipo de profesionales se pondrá manos a la obra.

Limita los intentos de inicio de sesión

Los ataques de fuerza bruta son por desgracia, muy habituales. Como hemos visto antes, en ocasiones robots automatizados son usados con diferentes propósitos y tratan de «adivinar» la contraseña y usuario que utilizas para acceder ilícitamente a tu web. Para evitarlos o, al menos minimizarlos al máximo, tienes dos opciones:

  • Una de ellas, la habitual, es instalar del repositorio oficial el plugin más usado para este propósito: Limit Login Attempts.
  • Otra opción es utilizar algún plugin de seguridad que no sea demasiado pesado: seguridad que ayudará a proporcionar una capa extra contra atacantes.
  • Por último, y la menos recomendable si no sabes cómo funciona el fichero .htaccess, sería directamente bloquear el acceso a /wp-admin.

El funcionamiento de esta funcionalidad es sencillo, «únicamente» evitará que se realicen múltiples intentos de inicio de sesión en un periodo corto de tiempo y por ende, bloqueará los ataques de fuerza bruta.

Utiliza permisos correctos para archivos y carpetas

Es esencial que tengamos los permisos de nuestros archivos y carpetas de la manera correcta, son los siguientes:

  • Para las carpetas y subcarpetas será suficiente con establecer los permisos en 755.
  • Todos los archivos deben de ser 644.
  • Para el archivo wp-config.php usaremos 440.

Para esto tendremos que tener acceso al panel de nuestro hosting o lo más recomendable, acceder mediante algún gestor FTP como Filezilla.

Ejemplo de editar los permisos de wp-config.php de WordPress

Accederemos a nuestro servidor y en la carpeta raíz podremos establecer los permisos haciendo clic derecho en la carpeta o archivo deseado y seleccionando la opción Permisos de archivo.

Verifica los checksums de tu instalación

Los checksums se podrían definir como los DNI de los ficheros. Si un fichero en concreto recibe un cambio por mínimo que sea, como añadir un espacio en blanco, su checksum cambiará.

WordPress hace públicos todos los checksums de los archivos de cada una de las versiones mediante su API. Como te puedes estar imaginando, esto implica que podemos verificar automáticamente si los ficheros que tenemos de la instalación original han sido modificados, comparando los checksums de cada uno de los ficheros con los originales.

Conclusiones finales

Pese a que éstos consejos no podrán hacer de tu blog una fortaleza inexpugnable, son realmente prácticos y relativamente sencillos de añadir que te evitarán más de un susto y harán de tu web un lugar más seguro para ti y tus visitantes.

En todas las páginas que he revisado hasta la fecha, siempre repaso todos los puntos anteriores uno por uno y con el tiempo hemos llegado a desarrollar soluciones propias para ayudarte a limpiar y optimizar la seguridad de tu WordPress.

En cualquier otro caso… ahora que ya sabes cómo se realizan cada uno de los cambios, si eres atrevido te animamos a probar. Si por el contrario eres de los que no les gusta tocar código o simplemente prefieres evitar la molestia de tener que revisarlo contacta con nosotros y evita revisar manualmente estos puntos, recibe una auditoría completa.

Espero que te haya gustado, ¡déjame tus comentarios!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *