Última revisión: 2 de octubre de 2021
Es posible que te hayan infectado, hackeado, atacado… cualquiera de estas opciones es posible si tu sitio tiene un agujero de seguridad por falta de actualización o por disponer activado o no una plantilla o plugin que ha sido mal desarrollada.
Antes de empezar, te recomiendo pasarte por los Foros de Soporte de Seguridad, donde encontrarás problemas y soluciones de otros miembros de la comunidad, además de un interesante documento sobre limpiar un WordPress.
Antes de nada
Haz una copia de seguridad / backup.
Primeros pasos
Cuando tienes un problema de ataque, hackeo o simplemente la sospecha de que algo raro puede estar pasando, uno de los primeros pasos es el de bloquear el acceso a todo el mundo para que no pueda acceder. Puedes «cerrar la web» (ponerla en modo mantenimiento) si consideras que puede ser perjudicial para tus visitas, o simplemente hacer un cierre de la parte interior, impidiendo que otros usuarios hagan inicio de sesión.
Una vez has cerrado el acceso, lo siguiente es proceder a cambiar las principales contraseñas del sitio. Cambiar las contraseñas de todos los administradores del WordPress y las del alojamiento / FTP, e incluso la de la base de datos. Si ha habido una fuga de datos sin duda alguien intentará acceder a ellos y lo principal es que si lo intenta no pueda.
Una vez hemos hecho esto, lo siguiente es reinstalar WordPress. Podríamos plantearnos usar el botón de reinstalar que incluye la propia plataforma, pero en este caso, es mucho mejor hacer la subida directamente por FTP, de forma que tú te descargues WordPress y lo subas poco a poco.
Actualizar todo
El segundo paso es clave. Ya tienes actualizado el núcleo de WordPress, pero ¿tienes actualizado el resto de elementos? Lo primero es entrar en el panel de administración y actualizar todos los elementos que haya. Todos los plugins que no utilices (y estén desactivados), bórralos. Aún habiendo actualizado todo, deberías ir plugin a plugin y plantilla a plantilla buscando la página web de ese plugin (en el repositorio oficial o no) y verificar que la versión que tienes instalada es la misma versión que se indica como última. En el repositorio oficial es sencillo, pero si tienes plugins de sitios como Codecanyon o Themeforest deberías buscar la última versión de los mismos y descargarlas. Si los compraste hace tiempo y no tienes la última versión, hazlo.
Pasar un antivirus
Aquí podemos tratar de trabajar con varias opciones, una de ellas bastante complicada, que es la de pasar el antivirus sobre el servidor o mediante algún plugin o sistema. Por otro lado hay otra opción que suele ser más simple: usar el antivirus de tu ordenador. Lo primero es verificar que tienes un antivirus y comprobar que está actualizado a su última versión.
Una vez hayas verificado esto deberías conectarte por FTP y descargarte todo tu sitio web. Según se vaya descargando el sitio se irá pasando el antivirus por lo que si hay algún virus o malware conocido el sistema lo detectará y tú serás capaz de poder eliminarlo del servidor igualmente.
NOTA: Los virus que se ejecutan en los sitios web, en general, no son virus que afecten a tu ordenador, por lo que si vas con cuidado no debería ocurrir nada indeseado.
Tras la descarga del sitio web, deberías descargarte también una copia de la base de datos. Por norma general tu alojamiento tendrá un panel del tipo phpMyAdmin con el que podrás hacer un Exportar de todo el sitio.
Una vez más
Haz una copia de seguridad / backup. No sobrescribas la anterior, guárdala junto a ella.
Revisión del WordPress
El siguiente paso es el de darse un «paseo» por el WordPress en busca de configuraciones o cosas raras que no deban estar ahí. Haz un repaso en las entradas y categorías para revisar que no encuentres ningún artículo que no deba estar ahí; lo mismo que con las páginas. En los medios revisa la galería para de un vistazo verificar que no haya imágenes, ficheros ZIP o similares que no te suenen.
En las plantillas y plugins, una vez más, elimina aquellos que no utilices, y los que utilices confirma que están actualizados.
Revisa todos los usuarios del sitio. En caso de tener dudas, obliga a que los usuarios tengan que acceder con un sistema de doble verificación. Incluso fuerza un cambio de contraseña y cambia los Security Keys en el wp-config. Aprovecha a revisar en el fichero wp-config que no haya ningún elemento que no creas que deba estar ahí.
Confirma que los textos y configuraciones generales son las correctas. Regenera los enlaces permanentes.
Revisión del servidor
Es posible que habiendo revisado tu WordPress no hayas encontrado nada extraño, y es porque uno de los puntos frecuentes de ataque es el propio servidor, así que deberías darle un vistazo. En caso de no tener conocimientos de administración de sistemas, puedes buscar a uno, o pedirle a tu alojamiento que haga una revisión de algunos elementos.
Para comenzar, de las versiones del sistema operativo, PHP, servidor web… de la misma manera que hay que actualizar WordPress, también hay que actualizar el sistema operativo (como con tu ordenador). Si no lo tienes ya, activa un certificado TLS, para navegar con HTTPS, y así la conexión entre tus visitas y el servidor será segura.
Ahora que tenemos el servidor al día, vamos a revisar la relación entre el servidor y WordPress. Lo primero será revisar los permisos de acceso a los ficheros. Por mucho que te digan que has de usar 777, o que de las tres cifras la última no sea cero, no hagas caso. Si quieres proteger correctamente el sistema, el dueño, tú, ha de tener control completo sobre ellos (7xx en carpetas, 6xx en ficheros), el servidor web ha de tener permisos parciales (x5x en carpetas, x4x en ficheros) y el resto de usuarios del sistema no ha de tener acceso (xx0 en carpetas, xx0 en ficheros). Si tu proveedor de alojamiento no te permite esto, haz un pensamiento porque a lo mejor no estás en el lugar correcto.
De la misma forma que no damos permisos a quién no toca, recuerda que en la carpeta en la que subimos los ficheros multimedia subimos eso, ficheros. Normalmente subimos imágenes, algún PDF, documentos, un ZIP… pero lo que no vamos a subir ahí es código ejecutable (EXE, PHP…). Es por esto que bloquearemos que en esas carpetas se pueda ejecutar cualquier tipo de código. Si tienes otras carpetas donde se suban ficheros (por ejemplo a través de algún plugin), aplica las mismas medidas de seguridad.
Para acabar, el correo. Muchos hackeos lo que aprovechan es que el servidor web también manda correo aprovechando que está activo. ¿Realmente has de enviar el correo desde el mismo lugar en el que tienes tu sitio web? Quizá deberías plantearte externalizar el servicio de envío de correo de la web.
¿Ya hemos acabado?
La respuesta es depende. Desde el punto de vista técnico, en la mayoría de los casos con estos pasos ya deberías tener tu sitio web de nuevo up and running (levantado y funcionando), pero en caso de que no sea así, lo más razonable es que contactes con un experto en limpieza de ataques y hackeos y que le dé una revisión. A veces los ataques son más agresivos y van más allá de tu sitio web.
Recuerda
Aunque hayas limpiado un hackeo, es posible que estés haciendo cosas en tu día a día que no vayan acorde a la seguridad de tu sitio. Recuerda actualizar WordPress, los plugins y plantillas con frecuencia (si no lo vas a hacer, puedes contratar servicios de mantenimiento que lo hacen) y también no instalar plugins y plantillas de sitios desconocidos… si tienes dudas, es mejor que no lo hagas.
Recuerda usar contraseñas seguras (de un mínimo de 12 caracteres y 24 recomendados, con letras, números y símbolos); además, intenta no usar la misma contraseña en dos sitios web (y menos en la de administrador). Haz copias de seguridad con cierta frecuencia… si actualizas mucho tu sitio, pues una copia diaria, y si no la actualizas tanto, pues uno a la semana. Menos no.
Seguir con Seguridad para WordPress
Sobre este documento
Este documento está regulado por la licencia EUPL v1.2, publicado en WP SysAdmin y creado por Javier Casares. Por favor, si utilizas este contenido en tu sitio web, tu presentación o cualquier material que distribuyas, recuerda hacer una mención a este sitio o a su autor, y teniendo que poner el material que crees bajo licencia EUPL.