Fil-qosor: Fid-drittijiet tal-fajls fuq is-server tal-web japplika prinċipju wieħed: l-utent li taħt tiegħu jaħdem PHP jista' jaqra l-kodiċi proprju, imma mhux ibiddlu. Drittijiet ta' kitba jirċievu biss il-folders tal-upload, tal-cache u tat-tmp, u hemmhekk ma jitħaddem l-ebda PHP. Drittijiet bħal 777 m'għandhom xejn x'jagħmlu fuq server tal-produzzjoni.
Għaliex id-drittijiet tal-fajls jagħmlu d-differenza wara dħul
Meta l-attakkanti jesegwixxu kodiċi fuq server permezz ta' vulnerabbiltà, dan il-kodiċi jaħdem bid-drittijiet tal-proċess ta' PHP. Dak li dan l-utent jista' jagħmel, jista' jagħmlu wkoll l-attakkant. Propju hawn jiddeċiedi jekk dħul isirx backdoor permanenti.
B'PHP2Shell dan l-iscenarju sar konkret ħafna f'Ottubru 2026. Il-vulnerabbiltajiet CVE-2026-109618 u CVE-2026-109619 jippermettu l-eżekuzzjoni ta' kodiċi malizzjuż mingħajr login. Huma rranġati mill-21/10/2026 f'PHP 8.5.12, 8.4.27, 8.3.36 u 8.2.35. Drittijiet tajbin tal-fajls ma jipprevjenux attakk, imma jipprevjenu li kodiċi introdott jikteb mill-ġdid l-applikazzjoni tagħkom b'mod permanenti.
F'ħafna installazzjonijiet il-kodiċi kollu jappartjeni lill-utent tas-server tal-web, biex l-aġġornamenti jaħdmu b'tikka waħda. Dan huwa komdu, imma eżattament il-kostellazzjoni li jfittxu l-attakkanti.
Il-prinċipju bażiku: separaw is-sid u l-utent tat-tħaddim
Sensata hija qasma f'żewġ rwoli. Sid, pereżempju utent tad-deploy, huwa s-sid tal-fajls u jinstalla l-aġġornamenti. Il-proċess ta' PHP jaħdem taħt utent ieħor u għandu dritt biss ta' qari permezz tal-grupp.
| Qasam | Sid : Grupp | Drittijiet tal-fajls | Drittijiet tal-folders |
|---|---|---|---|
| Kodiċi tal-programm | deploy : seite1 | 640 | 750 |
| Konfigurazzjoni bil-passwords | deploy : seite1 | 640 | – |
| Uploads, cache, tmp | seite1 : seite1 | 640 | 750 |
| Logs | root jew seite1 | 640 | 750 |
Is-server tal-web innifsu, pereżempju Nginx, ma' PHP-FPM jeħtieġ biss aċċess ta' qari għal fajls statiċi bħal immaġini u CSS. Dan jirċeviħ permezz tal-grupp jew regola ta' aċċess immirata. Min iħaddem diversi websajts jagħti lil kull waħda utent proprju tat-tħaddim; kif dan jaħdem mal-pools tinsab fil-gwida open_basedir u iżolament għal kull websajt.
Ivverifikaw id-drittijiet tal-fajls fuq is-server tal-web
Qabel ma tibdlu xi ħaġa, ikollkom ħarsa ġenerali. Il-kmandi li ġejjin ma jbiddlu xejn.
# Taħt liema utent jaħdmu l-proċessi ta' PHP?
ps -eo user,cmd | grep -E "[p]hp-fpm|[a]pache2|[h]ttpd" | sort | uniq -c
# Fajls u folders li kulħadd jista' jikteb fihom
find /var/www -perm -o+w -ls
# Fajls li jappartjenu lill-utent tas-server tal-web (eżempju www-data)
find /var/www -user www-data -type f -name "*.php" | head -50
# Drittijiet tal-fajls ta' konfigurazzjoni
ls -la /var/www/*/wp-config.php /var/www/*/.env 2>/dev/null
Entrati li kulħadd jista' jikteb fihom kważi dejjem huma żball. Fajls PHP li jappartjenu lill-utent tat-tħaddim juru li dan jista' jbiddel il-kodiċi tiegħu. Jolqtu l-għajn ukoll fajls individwali li s-sid jew id-drittijiet tagħhom ivarjaw mill-fajls ġirien. Dan jista' jkun indikazzjoni ta' fajls introdotti, kif deskritt fil-gwida Kif tagħrfu u tneħħu webshells.
Kif tikkoreġu d-drittijiet: pass wara pass
Ibdlu d-drittijiet biss wara backup u, jekk possibbli, l-ewwel fuq ambjent tat-test. Jekk hemm suspett ta' dħul, issalvaw it-traċċi qabel, għax is-sid u t-timestamps huma allura mezzi ta' prova.
SITE=/var/www/seite1
# Sid: utent tad-deploy, grupp: utent tat-tħaddim
sudo chown -R deploy:seite1 "$SITE"
# Folders 750, fajls 640
sudo find "$SITE" -type d -exec chmod 750 {} +
sudo find "$SITE" -type f -exec chmod 640 {} +
# PHP jista' jikteb biss f'dawn il-folders (adattaw il-mogħdijiet għall-applikazzjoni)
sudo chown -R seite1:seite1 "$SITE/public/uploads" "$SITE/var/cache"
Wara ivverifikaw il-websajt kollha: il-paġna ewlenija, il-login, il-formoli, l-upload tal-immaġini, il-caches. Liema folders trid tikteb applikazzjoni tinsab fir-rekwiżiti tas-sistema tal-manifattur fuq il-paġna uffiċjali tiegħu.
chmod -R 777 biex problema tissolva malajr jiftaħ is-server għal kull utent lokali u kull proċess introdott. Ikkoreġu minflok is-sid u l-grupp.
Ipprevjenu l-eżekuzzjoni ta' PHP fil-folders li jistgħu jinkitbu
Drittijiet ta' kitba huma perikolużi biss bin-nofs jekk hemmhekk ma jistax jaħdem kodiċi. Sakkru l-eżekuzzjoni ta' PHP fil-folders tal-upload u tal-cache fil-livell tas-server tal-web. Għal Apache fil-konfigurazzjoni tal-VirtualHost:
<Directory "/var/www/seite1/public/uploads">
<FilesMatch "\.(php|phtml|phar)$">
Require all denied
</FilesMatch>
</Directory>
Għal Nginx jibqa' biżżejjed blokk location li jirrifjuta talbiet għal fajls PHP f'dawn il-folders. Ir-regola tappartjeni fil-konfigurazzjoni tas-server, mhux f'.htaccess fil-folder tal-upload, li attakkant b'drittijiet ta' kitba jista' jerġa' jbiddel.
B'mod komplementari jixraq li tħarsu lejn l-umask tal-utent tad-deploy, biex fajls ġodda ma jinħolqux awtomatikament miftuħin żżejjed. Valur ta' 027 iwassal għal 640 għall-fajls u 750 għall-folders. Fuq servers proprji din ir-responsabbiltà tkun kompletament tagħkom; x'inkella jappartjeni hemmhekk jiddeskrivih Kif tassiguraw waħedkom root server u vServer.
Każijiet speċjali: panels tal-hosting, shared hosting u deployments
Mhux kull server jista' jiġi stabbilit skont il-manwal. Panels tal-hosting bħal Plesk jew cPanel joħolqu utenti u drittijiet proprji u jerġgħu jirrisettjawhom f'xi azzjonijiet. Ibdlu d-drittijiet hemmhekk jekk possibbli permezz tal-funzjonijiet tal-panel, jew ivverifikaw wara l-aġġornamenti tal-panel jekk l-issettjar tagħkom għadux japplika.
B'shared hosting ġeneralment għandkom utent wieħed għal kollox. Separazzjoni tas-sid u tal-utent tat-tħaddim mhix possibbli allura. Aktar importanti huma drittijiet stretti fuq fajls ta' konfigurazzjoni, l-ebda drittijiet 777 u l-qtugħ tal-eżekuzzjoni ta' PHP fil-folders tal-upload, safejn il-hoster jippermetti.
Min jaħdem b'deployments awtomatiċi għandu jiffissa d-drittijiet fl-iskript tad-deployment innifsu. Inkella kull verżjoni ġdida terġa' tistabbilixxi l-istat qadim, miftuħ żżejjed. Verifika qasira fl-aħħar tad-deployment, pereżempju bil-kmand għal fajls li jistgħu jinkitbu minn fuq, taqbad dawn il-pass lura b'mod affidabbli u tista' tiddaħħal f'kull pipeline mingħajr ħafna xogħol.
Kif tgħin PHP SOS b'mod konkret?
- Nirreġistraw is-sid, id-drittijiet u l-utent tat-tħaddim tal-websajts kollha fuq is-server.
- Niffissaw kunċett ta' drittijiet li jaqbel mal-applikazzjoni tagħkom u mat-triq tal-aġġornamenti.
- Napplikaw id-drittijiet u s-sakriet tal-eżekuzzjoni u nittestjaw il-websajt kollha wara.
- Niddokumentaw il-kunċett, biex deployments u aġġornamenti ma jerġgħux jiddgħajfuh.
Kif dan jidħol f'protezzjoni dejjiema jiddeskrivih is-servizz Tisħiħ tas-server għal servers tal-web bi PHP.
Mistoqsijiet frekwenti
Id-drittijiet 777 qatt huma tajbin?
Fuq server tal-produzzjoni kważi qatt. B'777 kull utent tas-sistema jista' joħloq u jbiddel fajls. Jekk applikazzjoni ma taħdimx mingħajr 777, ġeneralment is-sid huwa ffissat ħażin, mhux li d-drittijiet huma stretti żżejjed.
Għaliex is-server tal-web m'għandux ikun jista' jbiddel il-fajls tiegħu stess?
Għax kodiċi introdott jaħdem bid-drittijiet tas-server tal-web. Jekk is-server tal-web jista' jikteb fajls PHP, attakkant jista' jimmanipula skripts eżistenti jew joħloq backdoors ġodda. Meta s-sid u l-utent tat-tħaddim jinfirdu, il-kodiċi jibqa' protett mill-kitba.
Kif naġġorna CMS jekk is-server tal-web ma jistax jikteb?
L-aġġornamenti allura jsiru permezz tas-sid, pereżempju b'WP-CLI, Composer jew deployment, mhux permezz tal-buttuna ta' aġġornament fil-backend. Dan jeħtieġ ftit iktar xogħol, imma kodiċi introdott ma jistax ibiddel fajls tal-programm.
Liema drittijiet teħtieġ il-fajl ta' konfigurazzjoni bil-password tad-database?
L-inqas possibbli: jista' jinqara mill-utent ta' PHP, minn ħadd ieħor. Tipiċi huma 640 bil-grupp xieraq jew 400 jekk l-utent ta' PHP huwa hu stess is-sid.