Després d’un incident se solen recomanar directoris 755 i fitxers 644. Poden ser valors raonables en alguns allotjaments, però el propietari, el gestor PHP, els grups, les ACL i el mètode de desplegament determinen si són segurs.
Els permisos són defensa en profunditat. No eliminen credencials robades ni codi vulnerable.
Mapeja el model d’execució
Esbrina qui posseeix els fitxers i amb quin usuari s’executa PHP-FPM o Apache. Compara fitxers legítims creats per WordPress, SFTP i desplegaments.
En allotjament compartit, PHP pot executar-se com l’usuari del compte. En models de grups antics, endurir massa pot trencar uploads i actualitzacions.
No executis un chmod recursiu des d’un directori de treball incert.
Conserva les metadades actuals
Crea una instantània i exporta la ruta, el propietari, el grup, el mode i l’ACL abans de canviar res. Una propietat inesperada pot revelar escriptures creuades o modificacions privilegiades.
Registra enllaços simbòlics i emmagatzematge muntat o compartit. No segueixis symlinks cap a una altra aplicació.
Censura els noms d’usuari als informes externs.
Separa codi i contingut amb escriptura
WordPress necessita escriure a uploads, memòries cau, actualitzacions i, de vegades, idiomes o recursos generats. Documenta cada directori escrivible esperat i el seu component propietari.
L’execució PHP s’hauria de bloquejar normalment a uploads mitjançant configuració admesa pel servidor. Fer uploads no escrivible impedeix pujar mitjans, però no neteja PHP maliciós que ja existeixi.
No utilitzis permisos 777 com a solució temporal.
Restaura primer el propietari
Utilitza el panell, el proveïdor o l’administrador autoritzat per establir l’usuari i el grup correctes. Canviar el mode no arregla un fitxer propietat d’un altre compte.
No executis chown sobre un servidor compartit sense ruta i autoritat exactes. En plataformes gestionades pot contradir-ne els controls.
Confirma que els usuaris de desplegament i actualització poden treballar sense compartir un compte ampli.
Aplica privilegi mínim per àrees
Parteix de la referència documentada de l’allotjament i després restringeix configuracions sensibles com wp-config.php quan sigui compatible. Mantén connectors i temes escrivibles només pel procés previst.
Desactivar l’edició des del panell redueix una via:
define('DISALLOW_FILE_EDIT', true);
No impedeix que un connector compromès o un compte SFTP escriguin. Prova el flux d’actualització després d’afegir-ho.
Protegeix configuració i entorn
Inventa .env, .user.ini, php.ini, includes del servidor i configuració de desplegament prop de l’arrel. Poden contenir secrets o directives prepend i ser més sensibles que un connector.
Assegura que no siguin descarregables i que només els llegeixin els serveis necessaris. No moguis un fitxer sense revisar com el referencien l’allotjament, les còpies i el cron.
Rota secrets exposats i confirma que els valors antics no romanen en arxius públics o repositoris.
Revisa ACL i directoris pare
Els modes POSIX poden semblar restrictius mentre una ACL concedeix accés a un altre usuari. Els permisos del directori pare també controlen el recorregut i la creació.
Inspecciona dominis addicionals niats i la propietat dels webs veïns. Separa llocs crítics en usuaris d’allotjament diferents quan sigui viable.
Elimina comptes FTP o de desplegament abandonats i rota credencials compromeses.
Prova actualitzacions i reversió
A staging puja un mitjà, actualitza un connector segur, regenera memòries cau i executa backups. Observa quines rutes necessiten escriptura i documenta excepcions.
No concedeixis escriptura a tota l’arrel perquè falli una carpeta de memòria cau. Corregeix la ruta i el propietari concrets del component.
Monitoritza canvis de permisos després de desplegaments automàtics.
Verifica el resultat de seguretat
Confirma que no queda PHP a uploads, que els hashes del codi de confiança són nets i que només usuaris coneguts el poden modificar. Observa més enllà del període anterior de reinfecció.
Demana ajuda si la propietat està barrejada, les ACL no són clares o actualitzar exigeix modes insegurs. Comparteix un mapa censurat, mai credencials.
El resultat correcte és privilegi mínim mantenible amb un escriptor conegut, no un número idèntic aplicat a tots els fitxers.