Sitio marcado como peligroso por Google: cómo limpiarlo
Si Chrome o los resultados de Google avisan que tu sitio es peligroso, casi siempre alguien le metió código malicioso aprovechando un plugin desactualizado o una clave robada. Confirmalo en Search Console, en el informe Problemas de seguridad, que muestra el tipo de problema y páginas de ejemplo. Guardá una copia del sitio tal como está, restaurá un respaldo limpio o limpialo, actualizá el CMS y sus plugins y cambiá todas las claves. Recién ahí pedí la revisión desde el mismo informe: tarda de unos días a unas semanas.
Confirmá qué encontró Google
Entrá a Search Console y abrí Seguridad y acciones manuales › Problemas de seguridad. Ahí figura el tipo de problema, como software malicioso, código o contenido inyectado o páginas engañosas, y direcciones de ejemplo donde Google lo encontró. Son tu punto de partida.
Si tu sitio todavía no está en Search Console, agregalo y verificalo, con un registro TXT en la zona DNS o con un archivo que se sube a la carpeta pública. Sin eso no vas a poder pedir la revisión.
Para una consulta rápida y sin cuenta está el estado de Navegación segura, en el Informe de transparencia de Google (transparencyreport.google.com/safe-browsing/search). Chrome, Firefox y Safari usan esa misma lista: por eso el aviso aparece en todos.
Qué suele haber detrás
La puerta de entrada suele ser el sitio y no el servidor. Estos son los hallazgos más comunes y dónde buscarlos.
| Qué | Dónde mirar | Por qué importa |
|---|---|---|
| Código inyectado | Los archivos .php y .js del sitio, y el contenido de la base de datos. | Un script o un iframe que carga cosas de otro dominio o desvía al visitante. |
| Plugins o temas desactualizados | La lista de plugins y temas del CMS, también los desactivados. | Sus fallas conocidas se atacan en forma automática. Uno desactivado sigue en el servidor y se puede atacar igual. |
| Plugins o temas de origen dudoso | Todo lo que no bajaste del repositorio oficial ni del sitio del autor. | Las copias pirateadas de plugins pagos ("nulled") suelen traer una puerta trasera. |
| Administradores desconocidos | Los usuarios del CMS con rol de administrador. | Son la forma de volver a entrar después de que limpiás. |
Redirecciones en el .htaccess | El .htaccess de la carpeta pública y el de cada subcarpeta. | Suelen desviar solo a quien llega desde Google o desde el celular. Por eso vos no las ves. |
| PHP donde no va | La carpeta de subidas (en WordPress, wp-content/uploads). | Ahí solo debería haber imágenes y documentos. |
Buscá el código malicioso
Empezá por las páginas de ejemplo del informe. Si tenés acceso por consola, estos comandos acotan la búsqueda en un hosting con DirectAdmin; cambiá tudominio.com.ar por tu dominio. Las dos últimas líneas son de WP-CLI: sirven si tu sitio es WordPress y lo tenés instalado.
cd ~/domains/tudominio.com.ar/public_html
find . -name "*.php" -mtime -15
find wp-content/uploads -name "*.php"
grep -rlF "eval(base64_decode" .
wp core verify-checksums
wp user list --role=administrator- El primer
findlista los PHP modificados en los últimos 15 días. Ajustá el número según cuándo empezó el problema. - El segundo busca PHP en la carpeta de subidas de WordPress, donde no debería haber ninguno.
grepbusca una forma típica de esconder código. Una coincidencia es una pista y no una condena: algunos plugins legítimos la usan.wp core verify-checksumscompara los archivos de WordPress con los originales, ywp user listmuestra los administradores.
Limpiá o restaurá un respaldo sano
- Si tenés un respaldo de antes del ataque, restaurarlo suele ser lo más rápido. Elegí uno anterior a los primeros archivos modificados, no el último, que puede estar infectado.
- Si no tenés uno limpio, reemplazá los archivos del CMS por una copia bajada del sitio oficial y reinstalá plugins y temas desde su origen. A mano quedan solo tus archivos: la configuración, las subidas y el tema propio, si lo tenés.
- Revisá también la base de datos: el código inyectado puede estar en entradas, opciones o widgets, no solo en archivos.
- Borrá los plugins y temas que no usás. Desactivarlos no alcanza.
- Actualizá el CMS, los plugins y los temas. Si restauraste un respaldo, hacelo enseguida: tiene la misma falla por la que entraron.
- Borrá los administradores que no reconozcas y las reglas del
.htaccessque no pusiste.
Cambiá todas las claves
Si entraron con una clave, limpiar no alcanza: van a volver con la misma. Cambialas desde una computadora que sepas limpia, porque hay programas que roban las claves guardadas en el navegador y en el cliente de FTP.
- Panel de control: la clave de DirectAdmin.
- FTP y SFTP: todas las cuentas, no solo la principal. Conectate siempre con cifrado, por SFTP o por FTP con TLS.
- Base de datos: cambiá la clave del usuario en DirectAdmin y actualizala en la configuración del sitio (en WordPress,
DB_PASSWORDenwp-config.php). Si no, el sitio deja de conectarse a la base. - Administradores del CMS: todos. En WordPress, cambiar las claves secretas de
wp-config.phpcierra todas las sesiones abiertas, también la del intruso.
Pedí la revisión en Search Console
Pedila recién cuando no quede nada en ninguna página. Si Google vuelve a encontrar el problema, la próxima revisión tarda más y el sitio puede quedar marcado como reincidente. Cada revisión lleva de unos días a unas semanas.
- Volvé a Seguridad y acciones manuales › Problemas de seguridad y tocá Solicitar revisión.
- Contá en pocas líneas qué encontraste, qué hiciste y qué cambiaste para que no se repita: qué plugin estaba desactualizado, qué borraste y qué claves cambiaste.
- La respuesta llega por correo y queda en el mismo informe. Si la rechazan, revisá otra vez las páginas de ejemplo antes de volver a pedirla.
Preguntas frecuentes
¿Por qué yo no veo nada raro en mi sitio?
Porque el código malicioso suele esconderse: aparece solo para quien llega desde Google, desde un celular o por primera vez, y no para quien entra como administrador. Para ver lo que ve Google, usá la inspección de URLs de Search Console con la prueba en vivo: muestra el HTML de la página tal como lo recibe.
¿Cuánto tarda en irse el aviso?
La revisión de Google lleva de unos días a unas semanas. Cuando la aprueban, el aviso deja de aparecer en los resultados de búsqueda, y los navegadores lo quitan a medida que actualizan su lista.
¿Y si el aviso lo da un antivirus y no Google?
Cada fabricante de antivirus tiene su propia lista y su propio formulario para pedir que revisen un sitio. Limpialo igual, con los mismos pasos, y después pedí la revisión en el sitio de ese fabricante.
¿El problema puede estar en el servidor?
Puede pasar, pero es lo menos común: casi siempre la puerta de entrada es el sitio, por un plugin o un tema desactualizado o por una clave robada. Si limpiaste, actualizaste y cambiaste las claves y el código vuelve a aparecer, escribinos por ticket con las direcciones afectadas y lo que encontraste.
Seguí leyendo
Cómo respaldar y restaurar tu hosting en DirectAdmin
Crear un respaldo desde el panel, elegir qué incluir, bajarlo, programarlo y restaurarlo. Y por qué una copia que queda en el mismo servidor no alcanza.
Cómo importar una base de datos MySQL grande por consola
Cuando phpMyAdmin corta la subida: cómo llevar el volcado al servidor, crear la base e importarla por consola, comprimida y con avance, y los errores comunes.
Firewall y fail2ban en tu VPS con ufw o firewalld
Cómo activar ufw o firewalld sin quedarte afuera de tu VPS, qué puertos abrir y cómo frenar con fail2ban los intentos de entrar por SSH.