Que .htaccess cambie no significa automáticamente malware. WordPress, plugins de seguridad o caché, paneles de hosting y despliegues pueden reescribirlo. La cuestión es identificar qué proceso hace el cambio y si las reglas resultantes son legítimas.
Compara versiones en lugar de restaurar el archivo continuamente
Guarda una copia fiable y compara cada recurrencia por contenido, hash y hora de modificación. Cruza el timestamp con acciones de plugins, guardado de permalinks, despliegues, cron y peticiones entrantes.
Clasifica la regla que vuelve a aparecer
- Bloques estándar de rewrite de WordPress.
- Directivas de caché o seguridad de un plugin conocido.
- Reglas gestionadas por el hosting.
- Redirecciones o handlers desconocidos sin propietario legítimo.
Identifica al propietario antes de eliminar la regla
Si también se reescriben archivos raíz, compara la reinfección de index.php. Si forma parte de un conjunto más amplio de cambios, utiliza el triaje de integridad.
Repara el componente que genera el rewrite
- Conserva la versión sospechosa y los logs relevantes.
- Identifica plugin, despliegue, proceso de hosting o escritor malicioso.
- Corrige o elimina esa fuente en lugar de luchar contra el archivo generado.
- Restaura las reglas previstas cuando el origen ya esté claro.
No hagas .htaccess inmutable como primera respuesta
Puedes romper actualizaciones legítimas de permalinks, caché o seguridad y dejar al escritor activo en otros lugares.
Verificación
El archivo debe mantenerse estable durante permalinks, despliegues, cron y tráfico normal, o cambiar solo según el comportamiento documentado del propietario legítimo.