La seguridad de WordPress no es sólo asunto de WordPress

La seguridad de un sitio WordPress no es sólo asunto de WordPress

El siguiente escenario, aunque imaginario en esta ocasión, es más real de lo que suponemos.

Nuestra instalación de WordPress, o la de un cliente, para el caso es lo mismo, es hackeada y es convertida en un sitio atacante durante un fin de semana.

El cliente nos llama el domingo por la tarde. El sitio no es visible debido a que se muestra una advertencia que llena de terror: Este sitio ha sido hackeado by …

Al revisar el sitio y ubicar el problema, encontramos que hay porciones de código incorporado en la página principal.

Otros dos archivos dentro del directorio de wp-includes también fueron modificados al mismo tiempo, por lo que los eliminamos y los reemplazamos con versiones frescas de respaldo.

Al tratar de acceder al sitio nuevamente con navegador y aunque ya funcionaba bien, dos archivos de malware fueron descargados a la computadora que usamos –por lo que notamos que habían infectado más archivos que los tres encontrados y ya corregidos.

EL siguiente paso fue desinfectar el equipo de cómputo, ahora infectado con malware, de manera que tuviéramos la posibilidad de utilizar la computadora nuevamente sin arriesgar a terceros. Eso nos tomó al menos de una a dos horas.

El siguiente paso, ya con el equipo desinfectado, fue entrar vía FTP al sitio y eliminar la base de datos y toda la instalación de WordPress.

Posteriormente instalamos una nueva base de datos y la versión limpia de WordPress. En este proceso se tomaron las siguientes medidas de seguridad:

  1. Creación de usuarios y passwords no relacionados para la base de datos –con una mezcla de mayúsculas, minúsculas, signos y números, lo suficientemente largos.
  2. Se cambió el prefijo por defecto de las tablas de la base de datos. wp_ pasó a ser otra cosa.
  3. Se cambió el usuario por defecto «admin» a otro usuario  –más largo y complejo, incorporando signos y números en el nombre de usuario.
  4. Creamos passwords largos y complejos.
  5. Se instaló el Plugin Wp Security Scan y se revisaron todos los permisos sobre los archivos.
  6. Se aseguró que la versión de WordPress no estuviera visible.
  7. Se instaló algún plugin de candado, como Plugin Lockdown para bloquear cualquier intento no autorizado y repetitivo de acceso a WordPress.
  8. Se instaló un archivo index.html (en caso no existir ya) en blanco en los directorios wp-content/plugins y wp-content/themes para prevenir que cualquiera pudiera ver los plugins y temas instalados.

Y después de dos horas de terminar la limpieza del sitio, estaba nuevamente hackeado.

¿Y esto por qué?

No se requiere pensar mucho para ubicarlo. Ya tenían en su poder los datos de acceso FTP, por lo que podían utilizarlos cuando quisieran.

El primer paso antes de cualquier recuperación y saneamiento de un sitio afectado es cambiar las credenciales de acceso vía FTP. Y es también el último. Es decir, al finalizar la limpieza y recuperación de un sitio, es mandatorio cambiar nuevamente los datos de acceso vía FTP. Es decir, de todo acceso FTP existente en ese hospedaje web. Esta fue una primera lección.

Una segunda sin embargo, y más general, es que tienes que tomar en cuenta no sólo el sitio afectado, sino también tu equipo de cómputo y los accesos FTP y de panel al sitio, es decir, tu ambiente online completo.

No tienes certeza de cómo lograron obtener los datos de acceso al sitio. Sin embargo, algunas de las posibles vías son:

  1. Interceptaron un correo (o hackearon la cuenta) con los datos de acceso para ese hospedaje web o sitio.
  2. Utilizaron un keylogger, conocido en general como malware, instalado en una computadora donde utilizaste los datos de acceso. El keylogger capturó los datos y los envió.
  3. Interceptaron los datos al tiempo que te conectabas durante la transferencia en el FTP.

Adicionalmente a tomar todas las precauciones de seguridad necesarias que hemos mencionado en la instalación de tu WordPress en sí mismo, asegúrate que tu computadora (y red) está limpia, no contaminada (y permanece así). Si de manera regular utilizas conexiones FTP para enviar archivos, trata de utilizar SFTP en lugar de FTP.

No está de más recomendar que en lugar de las versiones gratis de seguridad para antivirus, si realmente aprecias tu negocio o actividad, utilices una versión pagada de las de mayor reputación (Internet Security de Avast! es ligera y protege muy bien).

Y un punto clave para tener la posibilidad de recuperar tu sitio una vez ha sido afectado es: respalda tu sitio, respalda de manera frecuente si tu sitio se actualiza frecuentemente. No hay forma de regresar a lo que tenías si no cuentas con un respaldo confiable.

…tienes que tomar en cuenta no sólo el sitio afectado, sino también tu equipo de cómputo y los accesos FTP y de panel al sitio, es decir, tu ambiente online completo.