La seguridad en WordPress es uno de los temas que más tratamos con nuestros clientes en nuestra empresa de diseño web.
Ningún software es completamente seguro y, como no podía ser de otra manera, WordPress no es la excepción.
WordPress es la plataforma de la que se nutren un cuarto de las páginas web del mundo por lo que ha sido el objetivo de hackers y por lo tanto puesta a prueba a lo largo de los años.
Lejos quedaron los problemas de seguridad descubiertos en 2009, por lo que la creencia popular de que WordPress es inseguro ha pasado a mejor vida.
Por cada pequeño atisbo de vulnerabilidad que pueda causar problemas, hay docenas – si no cientos – de ataques cogidos a tiempo gracias a una combinación de factores que se pueden resumir en: reportes de usuarios, equipo de seguridad de WordPress y en esfuerzo de desarrolladores independientes.
[easy-tweet tweet=»Es imposible eliminar el riesgo, pero podemos reducirlo a la mínina expresión.» user=»@zaragozawebs» hashtags=»#wordpress, #seguridad»]
En éste artículo vamos a analizar las cinco medidas esenciales que deberíamos tomar para mantener nuestra web asegurada y recomendaremos varios plugins para tal fin.
1. Contrata un hosting de calidad
El primer factor diferenciador para impulsar nuestro proyecto es el hosting donde está alojado. Es por ello que escoger proveedores que ofrecen medidas anti-hackers y que realizan copias de seguridad diarias es de vital importancia.
El 90% de nuestros proyectos están alojados en Webempresa o Raiola Networks, empresas españolas consagradas en el sector y que cuentan con medidas de seguridad adecuadas, soporte técnico en español y un grupo de expertos dispuestos a solucionar cualquier problema que pueda surgirnos.
[av_notification title=» color=’red’ border=» custom_bg=’#444444′ custom_font=’#ffffff’ size=’large’ icon_select=’yes’ icon=’ue800′ font=’entypo-fontello’ av_uid=’av-8jvvn’]
Consigue un 20% de descuento en cualquier pack de Webempresa siguiendo este link y aplicando el código gracias20.
[/av_notification]
2. Utiliza contraseñas fuertes y cambia el nombre de usuario
El probablemente el error más común (y el más fácil de solucionar también). Debemos evitar usar “admin” como nombre de usuario. La razón es sencilla: si alguien intenta hackear tu web mediante un ataque de fuerza bruta, sólo tendrá que averiguar una variable de la ecuación: la contraseña.
Desde el lanzamiento oficial de wordpress 3.0, los usuarios pueden elegir su propio nombre de usuario durante la instalación. Si no lo hiciste en su día y has estado ignorando las alertas del dashboard, éste puede ser un buen momento para cambiarlo.
Simplemente crea un nuevo usuario (Usuarios -> Añadir nuevo) con perfil de administrador y elimina el usuario «admin». WordPress te dará la opción de asignar todo su contenido al usuario previamente creado.
Enhorabuena, tu WordPress ahora es bastante más seguro.
Tu contraseña es tu segunda línea de defensa y sí, ya sé que estas cansado de oír que es necesario escoger una contraseña segura y única para cada lugar, ¿pero sabes qué? Es algo que tienes que hacer y no está de más recordarlo.
Hay que reconocer que puede resultar tedioso tener (y actualizar) una contraseña para cada sitio, pero el esfuerzo es trivial comparado con la molestia de recuperar una página web comprometida.
Un generador de contraseñas puede ser la solución para los que manejáis varias páginas web. LastPass, Roboformand o 1Password son opciones excelentes que deberías tener en cuenta.
Para una capa de seguridad adicional, deberías considerar habilitar un factor doble de login mediante el uso de plugins como ithemes security (que analizaremos más adelante). Sentirás una sensación de alivio cuando el plugin te alerte por primera vez de un intento de identificación fallido desde un lugar desconocido.
3. Asegura tu pantalla de identificación
Incluso si tu combinación de usuario y contraseña es más segura que Fort Knox, un hacker competente podría conseguir el acceso a tu dashboard si le dedica el tiempo suficiente. Vamos a ponérselo difícil protegiendo la pantalla de inicio de sesión contra ataques de fuerza bruta.
Una forma sencilla de solucionarlo es mediante la instalación de un plugin que limite el número de intentos de inicio de sesión en un periodo de tiempo dado.
Si desde la misma IP alguien está intentando identificarse sin éxito puede atribuirse a un usuario con poca memoria, si por el contrario están intentando acceder mediante la combinación de diferentes nombres de usuario y contraseñas, la historia cambia.
Tu pantalla de inicio no debería informar de qué campo (usuario o contraseña) es incorrecto en caso de error de identificación. Como hemos comentado anteriormente, no debemos facilitar información que pueda facilitar a los atacantes el asalto a nuestra página web.
Los Captchas pueden ser una buena herramienta para protegernos de los bots. A pesar de que hay soluciones para saltarse la protección (farming captcha solution out to actual humans) que ofrecen los captchas, no está de más su implementación, además son muy sencillos de añadir a cualquier web.
Otra medida de seguridad a tener en cuenta es la configuración de notificaciones de intentos de inicios de sesión desde lugares poco comunes, como por ejemplo, desde ips de otro país.
Instalar un firewall que bloquea IPs previamente incluidas en una lista negra puede ser una buena idea. Veremos cómo hacerlo al final del artículo.
4. Entender los permisos de ficheros y directorios
En la gran mayoría de casos, no deberías toquetear demasiado las configuraciones por defecto de WordPress, pero merece la pena que tengas unas nociones mínimas acerca de los permisos de los archivos en WordPress.
En los sistemas de computación, los permisos determinan el grupo de reglas que gobiernan cada fichero o directorio (por ejemplo, quien puede leerlo, modificarlo o acceder a él).
Los modos más comunes son el 644 y el 755.
Los ficheros y directorios categorizados bajo el modo 644 permiten la modificación y lectura al propietario, pero sólo la lectura para el resto de usuarios. Este es el estado ideal para la mayoría de ficheros.
El modo 755 es utilizado por carpetas que permiten a todos los usuarios modificar dentro de ese directorio. Ocasionalmente te encontrarás con plugins que requieren que ciertas carpetas sean cambiadas a modo 755.
Este apartado puede ser objeto de un post muy detallado. Para no extendernos demasiado, deberías tener en cuenta que hay que evitar configurar cualquier plugin que requiera dar un permiso para cambiar una carpeta o archivo al modo 777, a menos, claro está, que sepas qué estas haciendo, ya que permite a cualquier usuario leer, escribir o borrar directorios.
5. Backups (copias de seguridad)
Las copias de seguridad son una forma simple, a la vez que efectiva, de cubrirnos las espaldas en Wordpress.
En caso de catástrofe estarás realmente orgulloso de conservar una copia de seguridad reciente de tu sitio web.
Si tus copias de seguridad son antiguas (o inexistentes), los pasos para recuperar tu sitio web como lo conocías pueden ser realmente lentos y dolorosos.
Dependiendo de las necesidades de tu sitio web tendrás que hacer copias de seguridad con más o menos frecuencia.
Un backup semanal o quincenal suele ser suficiente para la mayoría de los proyectos y pueden ser automatizados y guardados en la nube mediante plugins.
Con el precio actual del alojamiento online, no hay excusas para no tener nuestras copias de seguridad (online y offline) al día.
6. Manten tu WordPress actualizado
Somos conscientes de lo molestas que son las notificaciones de actualización, tanto de los plugins instalados como del mismo WordPress. Sin embargo hay una razón por la que los equipos de desarrolladores nos bombardean con actualizaciones constantes, y no siempre es la de incluir nuevas características.
A pesar de lo sencillo que es usar WordPress, no deja de ser un complejo CMS. Si añadimos la instalación de plugins y la interacción entre ellos, estamos favoreciendo sin querer la aparición de ciertas vulnerabilidades. Es por ello que los desarrolladores están en costante alerta para protejer a sus usuarios.
Saltarse la última actualización puede significar la diferencia entre tener un proyecto vulnerable a los hackers o un sitio dificilmente atacable.
Estate al tanto también del registros de cambios (changelog) o te perderás información importante sobre incompatibilidades entre los plugins y tu versión de wordpress.
Plugins de seguridad para WordPress
Ahora que tenemos conocimientos básicos sobre seguridad en WordPress podemos pasar a leer información más detallada y ampliar nuestros conocimientos sobre el tema en la misma página, más concretamente en la sección del codex.
Nuestra atención a partir de ahora se enfocará en el análisis de los plugins disponibles para ayudarnos a proteger nuestra página web.
Como siempre decimos, la instalación de cualquier plugin puede ocasionar ciertos problemas en nuestra página web, por lo que tener una copia reciente del sitio antes de la instalación de cualquier extensión es altamente recomendable.
Echemos un vistazo a nuestra selección de los mejores plugins de wordpress para seguridad.
1. Wordfence Security
Compatible oficialmente hasta: 4.6.1
Última actualización: 14-09-2016
Puntuación: 4.8 sobre of 5 estrellas (más de un millón de instalaciones)
El plugin de seguridad más famoso de todos. Dispone de dos versiones, una gratuita y otra de pago. Ofrece bloqueos desde fuentes maliciosas, inicios de sesión seguros, scaner de malware, firewall, soporte multisitio, y muchas otras características útiles.
Sus opciones de monitorización te permiten escanear todo el tráfico de tu WordPress en tiempo real.
Al ser un plugin de uso masivo, su gigante base de datos le permite actuar de forma eficaz ante intentos de penetración, bloqueando las fuentes poco fiables. Es por ello que el software se vuelve más eficaz a medida que crece su base de datos.
2. iThemes Security
Compatible oficialmente hasta: 4.6.1
Última actualización: 18-09-2016
Puntuación: 4.7 sobre of 5 estrellas (más de un millón de instalaciones)
El plugin conocido hasta hace realmente poco como Better WP Security ofrece, como la opción anterior, una alternativa gratuita y otra de pago y nos ofrece características como inicios de sesión seguros con google, authenticator o Authy, scaner de malware, análisis de ficheros, etc.
Otra característica de utilidad es la opción de asignar ciertos privilegios a determinados usuarios, además de mostrar logs detallados de las acciones de los mismos.
3. All In One WP Security & Firewall
Compatible oficialmente hasta: 4.3.1
Última actualización: 14-09-2015
Puntuación: 4.9 sobre of 5 estrellas (más de un millón de instalaciones)
Un plugin que hace honor a su nombre, . All In One WP Security & Firewall tiene un interfaz bastante amigable que muestra métricas de seguridad, una cuenta atrás de puntos de seguridad y el estado de características críticas como nombres de usuario por defecto, permisos de archivo y un firewall.
Sus características estan divididas entre dos secciones, básica y avanzada, aptas tanto para los usuarios que se conforman con la configuración por defecto como para los que quieren profundizar más en el uso del plugin.
4. BulletProof Security
Compatible oficialmente hasta: 4.6.1
Última actualización: 14-08-2016
Puntuación: 4.7 sobre of 5 estrellas (más de 100.000 de instalaciones)
Bulletproof Security es un plugin que abarca algunos de los problemas de seguridad más comunes que se presentan en los proyectos WordPress. Incluye seguridad de inicio de sesión, copias de seguridad automáticas, logs de errores HTTP y muchas otras características útiles.
Tambien tienen una versión profesional al precio de 59.95 $ que añade monitorización en tiempo real, detección de intrusos y prevención de sistemas, firewall, medidas anti spam y 16 plugins independientes para cubrir la seguridad de forma modular.
La instalación puede realizarse de forma manual o a través de sencillas pantallas de configuración.
5. Sucuri Security
Compatible oficialmente hasta: 3.2
Última actualización: 09-06-2016
Puntuación: 4.9 sobre of 5 estrellas (más de 200.000 de instalaciones)
Otra solución «todo en uno», la cual nos ofrece una auditoría general, modificación de archivos y permisos, escaner de malware, listas negras, firewall y notificaciones de seguridad.
Las notificaciones son enviadas por email, pudiendo configurar su frecuencia. Define un límite de accesos fallidos desde la misma IP antes de considerarlo un ataque, y alerta de los intentos de inicio de sesión fallidos e incluso de las modificaciones de los artículos.
Soluciones específicas.
Los plugins mencionados anteriormente ofrecen un pack de medidas de seguridad que combaten prácticamente todas las amenazas a las que el usuario de WordPress está expuesto.
No obstante, puedes estar interesado en cubrir de manera expresa un determinado aspecto de seguridad.
A continuación analizamos una serie de plugins especificos que pueden sernos de gran utilidad.
1. WP-DB-Backup
Compatible oficialmente hasta: 4.3.1
Última actualización: 14-09-2015
Puntuación: 4.6 sobre of 5 estrellas (más de 400.000 de instalaciones)
WP-DB-Backup es un sencillo plugin que, como su nombre indica, realiza copias de seguridad de tu base de datos.
Necesitarás phpMyAdmin para restaurar la base de datos. Tendrás que asegurarte de que tu proveedor de hosting la incluye, ya que en pleno 2016 hay quien no lo hace.
2. Login Security Solution
Compatible oficialmente hasta: 4.4.5
Última actualización: 24-06-2016
Puntuación: 4.4 sobre of 5 estrellas (más de 20.000 de instalaciones)
Login Security Solution. Plugin sencillo que nos permite, como su nombre indica, incrementar la seguridad de nuestra pantalla de identificación. Esta desarrollado para detectar anomalías en los inicios de sesión. Además puede analizar la fuerza de tu contraseña y fuerza a los usuarios a cambios constantes de su password.
3. BBQ: Block Bad Queries
Compatible oficialmente hasta: 4.3.1
Última actualización: 2-08-2016
Puntuación: 5 sobre of 5 estrellas (más de 10.000 de instalaciones)
Es el único miembro de la lista con una puntuación perfecta – algo tiene que ver que solo tenga 46 reseñas ;) – pero nos podemos hacer una idea de que cumple con su cometido perfectamente. ¿Cuál es su función? Monitorizar tu tráfico y bloquear consultas maliciosas y peticiones de URL de dudosa procedencia.
Conclusión
Debemos entender que, si bien la seguridad de nuestra página ha de ser tenida en cuenta, no debemos entrar en pánico.
Existen herramientas que nos proporcionan, una vez configuradas correctamente, protección ante cualquier amenaza.
Hagamos un breve resumen de lo que hemos aprendido:
- Contrata un hosting de calidad (Webempresa VS Raiola Networks)
- Utiliza nombres de usuario y contraseñas fuertes
- Asegura tu pantalla de acceso
- Entiende los permisos de archivos y carpetas
- Haz copias de seguridad de tu página
- Mantén tu WordPress actualizado
Como propietario, diseñador o desarrollador web, has de ser consciente de que a pesar de existir vulnerabilidades, nunca fue tan sencillo mantener una instalación de WordPress segura.
¿Algún consejo de seguridad que quieras compartir? ¡Hazlo en los comentarios!
Gran artículo! Yo puedo recomendar Sucuri ;)
Gracias!
Creo recordar que Sucuri y Yoast trabajan en conjuntamente.