Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Hosting Dns Containment

Permisos de archivos tras malware: asegurar sin romper actualizaciones

Restaura propietario y permisos según el modelo PHP del hosting, sin ocultar la entrada ni impedir actualizaciones legítimas.

Después de un incidente se suele recomendar directorios 755 y archivos 644. Pueden ser valores razonables en algunos hostings, pero el propietario, manejador PHP, grupos, ACL y método de despliegue determinan si son seguros.

Los permisos son defensa en profundidad. No eliminan credenciales robadas ni código vulnerable.

Mapea el modelo de ejecución

Averigua quién posee los archivos y con qué usuario se ejecuta PHP-FPM o Apache. Compara archivos legítimos creados por WordPress, SFTP y despliegues.

En hosting compartido, PHP puede ejecutarse como el usuario de la cuenta. En modelos de grupos antiguos, endurecer demasiado puede romper uploads y actualizaciones.

No ejecutes un chmod recursivo desde un directorio de trabajo incierto.

Conserva los metadatos actuales

Crea una instantánea y exporta ruta, propietario, grupo, modo y ACL antes de cambiar nada. Una propiedad inesperada puede revelar escrituras cruzadas o modificaciones privilegiadas.

Registra enlaces simbólicos y almacenamiento montado o compartido. No sigas symlinks hacia otra aplicación.

Censura nombres de usuario en informes externos.

Separa código y contenido escribible

WordPress necesita escribir en uploads, cachés, actualizaciones y, a veces, idiomas o recursos generados. Documenta cada directorio escribible esperado y su componente propietario.

La ejecución PHP debe bloquearse normalmente en uploads mediante configuración admitida por el servidor. Hacer uploads no escribible impide subir medios, pero no limpia PHP malicioso que ya exista.

No uses permisos 777 como solución temporal.

Restaura primero el propietario

Utiliza el panel, proveedor o administrador autorizado para establecer usuario y grupo correctos. Cambiar el modo no arregla un archivo propiedad de otra cuenta.

No ejecutes chown sobre un servidor compartido sin ruta y autoridad exactas. En plataformas gestionadas puede contradecir sus controles.

Confirma que los usuarios de despliegue y actualización pueden trabajar sin compartir una cuenta amplia.

Aplica privilegio mínimo por áreas

Parte de la referencia documentada del hosting y después restringe configuraciones sensibles como wp-config.php cuando sea compatible. Mantén plugins y temas escribibles solo por el proceso previsto.

Desactivar la edición desde el panel reduce una vía:

define('DISALLOW_FILE_EDIT', true);

No impide que un plugin comprometido o una cuenta SFTP escriban. Prueba el flujo de actualización tras añadirlo.

Protege configuración y entorno

Inventa .env, .user.ini, php.ini, includes del servidor y configuración de despliegue cerca de la raíz. Pueden contener secretos o directivas prepend y ser más sensibles que un plugin.

Asegura que no sean descargables y que solo los lean servicios necesarios. No muevas un archivo sin revisar cómo lo referencian hosting, copias y cron.

Rota secretos expuestos y confirma que los valores antiguos no permanecen en archivos públicos o repositorios.

Revisa ACL y directorios padre

Los modos POSIX pueden parecer restrictivos mientras una ACL concede acceso a otro usuario. Los permisos del directorio padre también controlan recorrido y creación.

Inspecciona dominios adicionales anidados y propiedad de webs vecinas. Separa sitios críticos en usuarios de hosting distintos cuando sea viable.

Elimina cuentas de FTP o despliegue abandonadas y rota credenciales comprometidas.

Prueba actualizaciones y reversión

En staging sube un medio, actualiza un plugin seguro, regenera cachés y ejecuta backups. Observa qué rutas necesitan escritura y documenta excepciones.

No concedas escritura a toda la raíz porque falle una carpeta de caché. Corrige la ruta y el propietario concretos del componente.

Monitoriza cambios de permisos después de despliegues automáticos.

Verifica el resultado de seguridad

Confirma que no queda PHP en uploads, los hashes del código de confianza son limpios y solo usuarios conocidos pueden modificarlo. Observa más allá del periodo anterior de reinfección.

Pide ayuda si la propiedad está mezclada, las ACL no están claras o actualizar exige modos inseguros. Comparte un mapa censurado, nunca credenciales.

El resultado correcto es privilegio mínimo mantenible con un escritor conocido, no un número idéntico aplicado a todos los archivos.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia