Seleccionar página

WordfenceEncontrarnos con un WordPress hackeado es algo bastante molesto. Es bastante complejo de localizar el problema y erradicarlo. Afortunadamente, existen plugins que nos ayudan en esta ardua tarea. En concreto hoy vamos a hablar de uno: WordFence, que es el que más me ha convencido estos días de pruebas.

WordFence es un plugin que tiene muchísimas opciones de seguridad, y eso solo con la versión básica gratuita. Nos sirve para bloquear conexiones maliciosas entrantes y para detectar archivos del sistema que han sido modificados con código malicioso.

Cómo ayuda WordFence a un sistema WordPress

El plugin actúa por su cuenta en segundo plano, aunque estés escribiendo una entrada, revisando tu configuración, o simplemente, no estés. Registra el tráfico que se mueve en tu web en tiempo real, y puedes verlo en la pantalla de Live Traffic. Esto es extremadamente útil. Por ejemplo, os pongo una captura de lo que he detectado mientras escribía este artículo:

WordFence

¿Qué hace alguien de Ucrania, con la misma IP, intentando acceder a una subpágina “/admin/mysql”, que además, no existe? Evidentemente, nada bueno. Desde aquí podemos bloquear la IP para que no lo pueda volver a intentar.

También nos chiva cuando alguien ha intentado conectar a nuestro administrador de WordPress, lo cual si sois el único administrador es un claro “banea esta IP”. Esto nos demuestra que no debemos esperar a que nos hackeen la web para instalar un sistema como WordFence. Así ocurre en la siguiente vista:

WordFence

Con lo que a mi me gusta Italia…

Como añadido, también nos permite ver cómo llegan a nuestra página los lectores y qué leen, no es un gestor de estadísticas como Google Analytics, pero es curioso verlo. Se puede configurar Wordfence para que, si detecta conexiones desde IPs sospechosas, las bloquee inmediatamente, sin preguntar. Tiene varios niveles de seguridad, que van desde desactivar la protección (nivel 0) hasta blindar totalmente la web (nivel 4). Por supuesto es personalizable y no tenemos que activar siempre todo.

Podemos bloquear el acceso a nuestra web por países, de forma que evitaremos cualquier conexión entrante de países que raro sería que algo tuviesen que leer en nuestra web, o desde los que recibimos muchos ataques. También nos permite bloquear rangos de IPs completos, o bots. Y no tenemos que preocuparnos por actualizar el plugin: ante nuevas versiones, se actualizará él solito, si lo configuramos.

También tenemos muchas opciones de pago anuales, como el escaneo programado periódico, filtros de spam avanzados para los comentarios, o comprobar si nuestro sitio está marcado como sitio malicioso en Internet, cosa que no nos conviene.

Qué hacer si nos hackean nuestra web

Lo primero, no perder la calma. Esto suena un poco a tópico, pero es así. Subid WordFence a nivel 4 de seguridad para cerrarla en lo que examináis qué está pasando. En las opciones de WordFence, vamos a elegir las siguientes opciones, además de las que ya vienen por defecto:

  • Scan theme files against repository versions for changes: Esto comprueba que nuestro Theme no ha sufrido modificaciones. Comprueba nuestros archivos con los archivos que hay en el repositorio de Themes de WordPress. Evidentemente, esto sólo es útil si nuestro Theme es gratuito y descargado de WordPress.org. No os preocupéis si tenéis un Theme comercial de pago, se van a revisar igualmente los archivos por si tuvieran código malicioso, y si WordFence sospecha que es así, nos alertará.
  • Scan plugin files against repository versions for changes: Lo mismo que antes, pero para comprobar los Plugins.
  • Scan files outside your WordPress installation: Esta es opcional, permite que WordFence analice no solo la instalación de WordPress, si no también el resto de archivos que no corresponden a WordPress en vuestro servidor Web, en busca de código malicioso.
  • Scan image files as if they were executable: En ocasiones, el malware se introduce en forma de archivo de imagen. Seleccionando esta opción, WordFence las examinará también.
  • Enable HIGH SENSITIVITY scanning. May give false positives: Modo paranoico total, WordFence hace un escaneo muy a fondo. Eso sí, podría dar falsos positivos, es decir, podría decir que un archivo tiene código malicioso cuando no es así. Aunque esto puede pasar también incluso sin activar esta opción. Si vuestra web está bajo ataque, seleccionadla. Es mejor filtrar falsos positivos que dejar pulular a sus anchas el malware.

Guardamos los cambios y es el momento de escanear nuestro sitio. WordFence tardará unos minutos en hacerlo, más cuantas más opciones hayamos marcado. Una vez que termine, aparecerán abajo los distintos problemas que ha detectado, en forma de error crítico o de aviso.

Antes de decidir si borrar un archivo que WordFence sospecha que es malicioso, es ideal ver el código de ese archivo. Probablemente necesitaréis que un experto os diga si ese código es malo o no. Veamos un ejemplo.

WordFence

En este caso, WordFence nos indica que el archivo wp-includes/version.php ha sido modificado con respecto al archivo original de una instalación limpia de WordPress. Para asegurarnos y no borrar al tuntún, vamos a darle a “See how the file has changed” (ver los cambios en el archivo).

WordFence

Nos muestra el archivo original de WordPress a la izquierda, y el archivo que hay en nuestro servidor a la derecha. Normalmente lo hará en colores diferentes: verde, si no representa un riesgo a priori, amarillo, si no está seguro, y rojo, si cree que es código malicioso (no siempre tiene por qué serlo, ojo). En este caso, en realidad, sólo se define el idioma es_ES, así que no es un riesgo, y podemos Ignorar este problema pulsando en “Ignore until the file changes“, es decir, ignorar hasta que el archivo cambie. ¿Por qué no ignorar para siempre? Porque si en algún momento ese archivo vuelve a cambiar por motivos de hacking, y sí se vuelve malicioso, el sistema lo ignorará, y no es lo que queremos.

Por supuesto, también puede ocurrir… esto.

WordFence

En versiones de WordPress no inglesas, WordFence detectará ciertos archivos que no coinciden con los originales. Es obvio: están traducidos. El sistema no podía ser tan perfecto. Aun así, lo ignoramos hasta que el archivo cambie.

WordFence

¿No has actualizado tu Theme? Mal hecho. Los Themes y Plugins de WordPress siempre tienen que estar actualizados. Esto es algo que se encargará de recordarnos WordFence. Pero por supuesto recordad una cosa: en ocasiones, nuestros Themes y Plugins han sido modificados por programadores que hemos contratado para ampliar su funcionalidad, y una actualización eliminará estas modificaciones para siempre, de forma irrecuperable. Así que antes de actualizar un Theme, aseguraos de que no tiene cambios propios. Y por supuesto, la próxima vez que queráis cambiar un Theme, considerad la idea de crear un Theme Child para evitar estos problemas.

En ocasiones habrá trozos de código muy raros, con muchas cifras y letras sin orden ni sentido. Suelen ser maliciosos, y WordFence nos lo dice marcándolo en rojo. Pero si no sois desarrolladores ni entendéis de código (todos los trozos os parecerán raros), lo mejor es que confiéis en un experto y no actuéis a la ligera, pues podríais borrar un archivo importante de sistema y vuestra página dejaría de verse correctamente.

Después del escaneo, ¿Cómo prevenir nuevos ataques?

El código inactivo no deja de ser código al fin y al cabo, y puede usarse en vuestra contra. No creáis que porque un plugin o un theme esté desactivado ya es seguro y no sirve como coladero para hackers, si tiene algún problema de seguridad. Lo más recomendable es que eliminéis de vuestro WordPress todos los plugins y themes inactivos que no vayáis a utilizar.

Hecho todo esto, contactad con vuestro proveedor de hosting y notificadles el problema, para que estén al corriente y revisen si han tenido algún problema de seguridad recientemente. Cambiad todas las contraseñas: Panel de Control, FTP, Administrador de WordPress… Todo. Realizad escaneos periódicos a vuestra página, al menos una vez por semana si vuestro sitio ha sido atacado, ya que por lo general vuelven a atacar a los mismos sitios. Incluso una vez al día si vuestro sitio está recibiendo muchos ataques.

Por último, no olvidéis que no existe ningún sistema 100% infalible y seguro. Todos los días surgen nuevos agujeros de seguridad que hay que tapar, ni siquiera el antivirus más caro del mercado puede protegeros al 100%.