Hola Wecindario, hoy vamos a ver como solucionar el malware en el WordPress.
La desinfección
1. Ponemos el "modo mantenimiento"
Con esto vas a evitar lo más importante, que los motores de búsqueda detecten que tiene malware. Y esto se puede hacer instalando el plugin WP Maintenance Mode o, editando código, y para hacerlo de forma manual, puede hacerlo así:
1.1. Crea un fichero llamado "mantenimiento.php".
1.2. Editarlo y ponerlo a tu gusto. Para simplificar, un ejemplo de código simple sería este:
<html>
<h1>Estamos de mantenimineto.</h1>
<h2>Por favor, vuelva a intentarlo más tarde. Disculpe las molestias.</h2>
</html>
1.3. Edita functions.php del tema WordPress y añade el siguiente código:
function modo_mantenimiento() {
global $pagenow;
if ( $pagenow !== 'wp-login.php' && ! current_user_can( 'manage_options' ) && ! is_admin() ) {
header( $_SERVER["SERVER_PROTOCOL"] . ' 503 Service Temporarily Unavailable', true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
if ( file_exists(ABSPATH . 'mantenimiento.php') ) {
require_once(ABSPATH . 'mantenimiento.php');
}
die();
}
}
add_action( 'wp_loaded', 'modo_mantenimiento' );
Con esto evitaremos que nuestros visitantes vean cosas extrañas en nuestra web y, por otro lado, podremos acceder sin problemas al Wp-Admin.
2. Localizar el problema
Vamos a identificar el problema. ¿Cómo lo hacemos? Puedes visitar la web de diagnóstico de Google y ver si tu sitio está infectado. Puedes usar la herramienta gratuita Sucuri.
Al ya tener más información, te pones en contacto en la empresa de hosting y sigue sus instrucciones. En nuestro caso, lo servidores llevan el ImunifyAV, la cuál detecta de inmediato los archivos infectados y esto te puede ser de mucha ayuda.
3. Revisar el ordenador
El hecho de que tu web esté infectada suele ser casi al 100% porque tu ordenador ya lo está. Ten siempre un antivirus actualizado y seguro. Si es de pago, paga la licencia, y haz un escaneo completo al ordenador. Yo recomiendo los más utilizados de todos los tiempos, en este caso: Antivirus Kaspersky, Panda Global Protection, etc. Y además, usa algo para detectar el malware, como Malwarebytes Anti-Malware.
4. Haz una copia completa
Antes de hacer nada, siempre realiza una copia. Puedes hacer copia usando algún plugin o de forma manual como podrás ver en este documento.
5. Modifica todas las contraseñas
Es necesario que cambies todas las contraseñas a menudo, pero en este caso especial es más aún, para que los atacantes siga editando tu web.
- El acceso de WordPress: cambia la contraseña de los usuarios. Asegúrate de que no se hayan añadido usuarios Admin que NO debería estar. Evidentemente, elimina cualquier usuario que sea sospechoso.
- Los datos de Plesk.
- Los datos de FTP.
- Los datos de la BD.
Al modificar el usuario y contraseña de la BD, debes editar el fichero wp-config.php y poner el usuario y contraseña nuevo, sino tu sitio te dará error de Conexión en la base de datos.
6. Cómo limpiar archivos y directorios
Ahora ya vamos con la limpieza.
6.1. Si utilizas algún plugin de caché, deshabilítalo y limpia la caché.
6.2. Instala el plugin WordFence o Anti-Malware Security and Brute-Force Firewall para chequear tu web. Así podrás ver qué los ficheros infectados o qué líneas de código se han insertado y dónde.
6.3. Descarga el tema, que está en /wp-content/ y ve revisando según las indicaciones del plugin de seguridad. Así tendrás un tema limpio. Para asegurarte, puedes analizar el tema en tu antivirus y tu herramienta antimalware. Y si es un tema comercial, no hagas eso, simplemente descárgate de nuevo el tema de la web oficial.
6.4. Ahora vamos a plugins y anótate los plugins que tienes activos. Descárgate de cada web el plugin más actualizado de nuevo en tu ordenador para actualizarlo en el WordPress.
Perfecto, pues ya tenemos el tema y los plugins limpios.
Revisa el contenido de toda tu web y busca Iframes en lso archivos, códigos raros, enlaces internos, htaccess que suelen editar añadiendo códigos maliciosos e incluso crear htacces en cada carpeta. ELÍMINALOS.
6.5. Ahora por FTP, ordena los ficheros por fecha de modificación. Revisas los más recientes, que seguro que tiene código malicioso. Descarga la última versión del WordPress, siempre de la web oficial Descomprime. Compáralo en tu estructura, así verás archivos htacces que sobran, o carpetas, en su caso.
6.6. Y OJO, no siempre vas a poder eliminar el código malicioso, por mucho que lo limpies algo quedará. Así que no te calientes la cabeza, como ya tienes el WordPress recién descargado utiliza ese.
Pasos a seguir
⭐ Elimina todo menos la carpeta /wp-content/, el fichero .htaccess y el fichero robots.txt, que debes que revisar que no contengan nada raro.
⭐ En la carpeta /wp-content/ verás esto:
- Plugins: debes eliminar todos los plugins e insertar las versiones nuevas que descargaste en tu equipo anteriormente.
- Themes: debes quitar todos los temas y subir única y exclusivamente tu tema ya limpio que tienes en tu ordenador.
- Uploads: mira que no haya ficheros ejecutables .php. Si los hubiera, elimínalos.
- Index.php: mira que no contenga códigos maliciosos.
⭐ Llegado aquí , sube la copia de WordPress que descargaste, sin la carpeta /wp-content/ y los ficheros wp-config.php y .htaccess, que ya tienes listos en tu servidor.
⭐ Comprueba que todo funcione correctamente y, para finalizar, elimina o deja comentada la función que creaste al comienzo del artículo y así desactivar el "modo mantenimiento".
6.7. Para terminar con esta tarea, accede a las herramientas para Webmasters de Google y solicita que realicen una revisión de tu sitio web. Si no sabes cómo hacerlo, puedes consultar la ayuda de Google.
¿Cómo prevengo futuros ataques?
Ya está todo el trabajo hecho y la web limpia, ¿cómo puedo evitar que me pase esto de nuevo?
7.1. Tenemos que cambiar el prefijo de tu base de datos. Puedes utilizar el plugin Change DB Prefix. Recuerda: haz copia siempre antes de cualquier cambio.
7.2. Cambia los permisos de los ficheros alojados en tu servidor a 755 y los directorios a 644. Prohibidísimo usar los de 777.
7.3. Crea archivos index.php vacíos para evitar que los directorios sean accesibles a través del navegador.
7.4. Revisa que no exista el usuario "admin".
7.5. Crea el fichero .htaccess con el siguiente código:
<Files *.php>
deny from all
</Files>
7.6. Y por último, ponlo en la carpeta /wp-content/uploads. De esta manera, evitarás que se ejecuten ficheros .php dentro de la carpeta "uploads", algo que suelen intentar muchos atacantes.
Bueno Wecindario, hasta aquí llegamos hoy con toda la información sobre malware. ¿Alguna sugerencia para mejorar este blog? ¿Os ha servidor de ayuda?
Podéis ponerme comentarios, toda idea será aceptada siempre y cuando sea para mejorar.
¡Hasta la próxima!
Accede a más contenido
En Hoswedaje, te ofrecemos más información acerca de cómo añadir una tabla de contenido a WordPress, y otro sobre mejores plugins para testimonio en WordPress. Ante cualquier consulta, no dudes en contactar con nosotros, para solucionarlo.