Hace tiempo que opte por tener un blog en wordpress, entre otra muchas razones, decidí esta tecnología por lo sencillo y rápido que me iba ser montar un simple espacio donde compartir mis conocimientos.

El caso, es que a los meses de subir mi web ya me encontré con el primer problema y es que !me habían hackeado la web! apenas con unos meses de vida.

El caso es que wordpress es uno de los CMS más hackeados del mundo, parte porque es el mas usado y parte porque tiene mucho código «basura» con infinidad de agujeros de seguridad.

El caso es que me tuve que poner las pilas para poder mantener la web siempre actualizado y protegido, y creedme que esto es un trabajo tedioso… sobretodo si quieres tener una web que sea muy visible pero que no te ocupe mucho tiempo personal.

Y en este proceso de aprendizaje, aplique muchos tips que a mi personalmente me fueron de gran ayuda y hoy comparto con vosotros.

1. Un clásico: actualizar o morir

Si, lo sé, parece mas un cliché que un tip, pero es la realidad, tener tus plugins actualizado siempre es una garantía de seguridad para que no te hackeen y es mas, os diría que no es ni recomendable es obligatorio!

Con una de las actualizaciones de wordpress 5 vino una nueva feature que en términos generales venía a ayudar a mantener los sitios de los módulos actualizados de forma automática.

Por lo general funciona perfectamente, te va actualizando los plugins, incluso te actualiza el mismo wordpress y queráis que no esto os quita de tener que estar constantemente revisando los plugins.

El problema, es que no es perfecto, en ocasiones las actualizaciones rompen el sitio, o por ejemplo si teneis algun sistema de cache, hasta que no las limpiamos de forma manual puede que el sitio no funcione como esperamos.

Hay que tener en cuenta que siempre que actualiza te manda un mail y te va avisando de aquellos que por seguridad o por ser premium tienes que actualizar de forma manual.

2. Usa los módulos de seguridad.

Si hacemos una búsqueda de módulos de seguridad en la web de wordpress veremos que hay una cantidad de módulos que nos «ayudan» (unos mas y otros menos) a mantener nuestro sitio seguro, pero existen dos concretamente que siempre instalo en todos los sitios wordpress casi por defecto.

Wordfence Wordfence : Es sin duda, el mejor plugin y mas popular entre esta clase de plugins, tiene dos vertientes la versión gratuita (Que es mas que suficiente) y una versión de pago. Entre sus principales características, encontramos, su cortafuego y bloqueo del tráfico maligno, filtro por ip o región, que para webs que tienen un target cerrado a un país, es perfecto para bloquear países como rusia, pakistán y demás países con grandes nichos de hackers, escaneos de archivos, te compara los archivos locales con los originales y te confirma que los archivos no han sido modificados y un largo etc…
Security Ninja

Security Ninja : Este es para mi otro indispensable, pero funciona de una forma diferente a wordfence aunque es cierto que comparten algunas el objetivo de este plugin es mas el de comprobar que todo, a nivel de seguridad, en tu web está correctamente configurado. Para mi una de las mejores features que tiene este plugin es una especie de checklist que no solo te avisa de lo que tienes mal, si no que además, te explica como solucionarlo.

3. Doble Factor de Autenticación

2FA wpEn cuanto a acceso al backend se refiere, esto es indispensable, ya que los hackers siempre van a intentar acceder a tu backend de cualquier manera, y esta es sin duda una manera de añadir una capa de seguridad mas a tu sistema de registro.

Si usas el módulo wordfence (Que mencionamos antes) ya viene esta funcionalidad disponible para ser activada. Te la recomiendo sin duda alguna sobre todo, aquellos usuarios que tengan un rol mas de administrador.

4. Limita el acceso con Cloudflare

CloudflareSi hay un sistema de seguridad que mas me ha sorprendido, por su eficacia, mas es sin duda alguna el uso de Cloudflare como firewall.

Usando los plugins anteriores te proteges de que el usuario o bot que ya ha accedido a tu sitio-web/app pueda realizar acciones fraudulentas, pero con cloudflare te previenes de que un acceso sospechoso ni siquiera llegue a realizar ninguna petición a tu servidor. 

En esencia, Cloudflare, aparte de ayudarnos como CDN, nos ayuda con su WAF. Su versión gratuita solo te da acceso a la creation de cinco reglas, que son mas que suficientes.

Para poder hacer uso de Cloudflare primero debemos de cambiar nuestro proveedor de DNS a Cloudflare y una vez ya esté confirmada que todo está correcto ya podrás beneficiarte de este sistema de seguridad.

Desde tu cuenta en cloudflare, elige el dominio que quieras configurar y veras un apartado llamado «Security» >> «WAF» y ahi veras un botón «Create firewall rule» yo te recomiendes que te crees los siguientes.

REGLA 1: Permite acceder los bots de las principales redes sociales:

				
					(http.user_agent eq "LinkedInBot") or (http.user_agent eq "Twitterbot") or (http.user_agent eq "facebookexternalhit") or (http.user_agent eq "WhatsApp") or (http.user_agent eq "Mediatoolkitbot")
				
			

REGLA 2: Limita el acceso al backend mediante un captcha te aconsejo que seleccion «Legacy Captcha»:

				
					(http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-admin/admin-ajax.php" and not http.request.uri.path contains "/wp-admin/theme-editor.php")
				
			

REGLA 3: Previene que hagan un ataque masivo al formulario de login de wordpress «wp-login.php» 

				
					(http.request.uri.path contains "/wp-login.php")
				
			

REGLA 4: Prohíbe que puedan ejecutar peticiones a plugins de cualquier sistema que no sea tu sitio web, OJO con esta regla porque si es una API o requieres que otra aplicación realice peticiones tendrás que whitelistearlo aquí.

				
					(http.request.uri.path contains "/wp-content/plugins/" and not http.referer contains "remplazar-por-tu-dominio.com" and not cf.client.bot)
				
			

Una vez funcionando estas reglas podréis ver estadisticas y graficas de la cantidad de peticiones que se realizan y las que pasan el filtro, la verdad que te sirve para comprobar la salud de tu sitios web.

5. Instala un sistema de backup

Este sistema no te va a prevenir de que te hackeen la web, pero te servirá de gran ayuda para volver a poner una version limpia y segura previa de una forma rápida y sencilla.

Como norma general, cuando tu sitio web ha sido hackeado, lo que solemos ver son dos cosas, a grosso modo, una han modificado una gran cantidad de archivos los cuales ejecutan código malicioso una y otra vez para que el hackeo dure toda la vida y dos ponen código malicioso directamente en la base de datos.

Ambos son malos, pero el mas difícil de arreglar sin duda alguna es el de la base de datos, porque no sabes en qué tabla y en qué lugar han puesto ese codigo, asi que por lo general lo mas fácil es volver a una versión anterior.

Yo, os recomiendo que uséis un proveedor de hosting que tenga un servicio de backup automático, hay muchos y suelen tener una versión gratuita, o si usais plesk o cpanel, lo configureis desde el minuto uno. En caso de que no podáis hacerlo de forma externa os aconsejo encarecidamente que uséis alguno de los múltiples plugin que existen en wordpress, no tengo ninguno favorito porque yo lo suelo solucionar con el proveedor o plesk, pero miraos la lista y elegid el que mas os guste.

Conclusión

Desde mi punto de vista, esto sería lo mínimo necesario para tener un sitio-web en wordpress lo mas seguro posible. De todos modos, nunca hay que bajar la guardia, ya que esto no da ningún tipo de garantía, los hackers siempre van a buscar la forma de poder obtener datos de forma fraudulenta.