Sitwazzjoni attwali: PHP2Shell. Żewġ vulnerabbiltajiet kritiċi ta' PHP (CVSS 9,2) jippermettu kodiċi malizzjuż mingħajr login. Patches mill-21/10/2026.X'għandu jsir issa →

Headers tas-sigurtà għall-websajts: kif tissettjawhom sewwa

Headers tas-sigurtà jgħidu lill-browser biex jipproteġi aħjar il-viżitaturi tagħkom. Kif tissettjaw l-aktar headers importanti f'Nginx u Apache, tintroduċu Content-Security-Policy pass wara pass u tivverifikaw ir-riżultat.

Stat 6 min. qariGwidi

Fil-qosor: Headers tas-sigurtà huma struzzjonijiet tas-server tal-web lill-browser li jipproteġu lill-viżitaturi minn attakki bħal Cross-Site Scripting, clickjacking u konnessjonijiet mhux ikkriptati. L-aktar importanti huma HSTS, Content-Security-Policy, X-Content-Type-Options, protezzjoni kontra frejms barranin, Referrer-Policy u Permissions-Policy. Huma tisħiħ sensat, imma ma jissostitwixxux aġġornamenti fuq is-server.

X'jagħmlu l-headers tas-sigurtà u x'ma jagħmlux

F'kull ftuħ ta' paġna, is-server tal-web jibgħat, minbarra l-kontenut, ukoll headers. Xi wħud minnhom jikkontrollaw funzjonijiet tas-sigurtà tal-browser. Hekk jista' jiġi stabbilit, pereżempju, li paġna titgħabba biss permezz ta' HTTPS jew li l-browser ma jesegwix skripts minn domains barranin.

Għall-operaturi l-klassifikazzjoni hija importanti: headers jipproteġu l-ewwel nett lill-viżitaturi, pereżempju minn teħid ta' sessions jew minn formoli manipulati. Ma jagħlqux vulnerabbiltajiet fuq is-server. Dgħufija f'PHP, fis-CMS jew f'estensjoni tibqa', ikunu kemm ikunu mseħħin tajjeb il-headers. Flimkien ma' kodiċi nadif, madankollu, jillimitaw b'mod ċar il-konsegwenzi ta' ħafna żbalji.

L-aktar headers tas-sigurtà importanti fil-qosor

Header Għan Rakkomandazzjoni bħala punt tat-tluq
Strict-Transport-Security (HSTS) jinforza HTTPS għal ftuħ futur max-age=31536000; includeSubDomains
Content-Security-Policy (CSP) jiffissa sorsi permessi għal skripts, immaġini, frejms individwali, l-ewwel bħala Report-Only
X-Content-Type-Options jipprevjeni li l-browser jaħseb it-tipi tal-fajls nosniff
X-Frame-Options jew CSP frame-ancestors jipprevjeni l-inkorporazzjoni f'paġni barranin (clickjacking) SAMEORIGIN jew frame-ancestors 'self'
Referrer-Policy jillimita liema indirizz jingħadda lil paġni oħra strict-origin-when-cross-origin
Permissions-Policy jitfi funzjonijiet tal-browser bħall-kamera jew il-post ippermettu biss funzjonijiet meħtieġa

HSTS għandkom tiffissawh biss meta s-subdomains kollha jintlaħqu b'mod affidabbli permezz ta' HTTPS. Il-browser jiftakar l-istruzzjoni għaż-żmien indikat; żball allura ma jistax jitnaqqas minnufih. Ibdew jekk meħtieġ b'tul qasir u żiduh wara testijiet b'suċċess. L-għażla addizzjonali preload tniżżel id-domain b'mod permanenti f'listi tal-manifatturi tal-browsers u għandha tiġi ffissata biss wara verifika bir-reqqa.

Headers, barra minn hekk, mhumiex l-uniku post fejn il-browser joffri protezzjoni. Cookies għandhom iġorru l-attributi Secure, HttpOnly u SameSite, biex is-sessions ma jittieħdux permezz ta' konnessjonijiet mhux ikkriptati jew skripts. Kif tissettjaw dan f'PHP tiddeskrivi l-gwida dwar is-sessions.

Issettjaw headers tas-sigurtà f'Nginx

F'Nginx il-headers jappartjenu fil-blokk server tal-websajt rispettiva. L-addizzjoni always tiżgura li jintbagħtu wkoll f'paġni ta' żball.

server {
    # ...
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
    add_header Content-Security-Policy-Report-Only "default-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'; form-action 'self'" always;

    server_tokens off;
}

Partikolarità ta' Nginx: jekk blokk location jiffissa istruzzjonijiet add_header proprji, il-headers mill-blokk server ma jittieħdux hemmhekk. Ivverifikaw għalhekk ukoll sottopaġni u fajls statiċi. Aktar tisħiħ għal din il-kombinazzjoni tiddeskrivi Kif tassiguraw Nginx ma' PHP-FPM.

Issettjaw headers tas-sigurtà f'Apache

Taħt Apache teħtieġu l-modulu mod_headers. L-istruzzjonijiet jappartjenu fil-VirtualHost jew, jekk ma jkunx hemm aċċess għalih, f'.htaccess.

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
    Header always set Content-Security-Policy-Report-Only "default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"
</IfModule>

ServerTokens Prod
ServerSignature Off

ServerTokens u ServerSignature jappartjenu fil-konfigurazzjoni prinċipali. Jipprevjenu li s-server isemmi l-verżjoni eżatta tiegħu f'tweġibiet u f'paġni ta' żball. Fil-php.ini tiksbu l-istess għal PHP b'expose_php = Off.

Introduċu Content-Security-Policy pass wara pass

Il-Content-Security-Policy hija l-aktar header effettiv, imma wkoll l-aktar ambizzjuż. Tiffissa minn liema sorsi jistgħu jitgħabbew skripts, stylesheets, immaġini, tipi ta' ittri u frejms. Jekk skript introdott jitgħabba minn domain barrani, il-browser jimblokkah.

Websajts moderni spiss jinkorporaw għodod ta' analiżi, fornituri tal-ħlas, servizzi tal-mapep jew vidjows. Politika stretta żżejjed allura twaqqaf funzjonijiet. Aqbdu għalhekk f'stadji:

  • Ibdew l-ewwel b'Content-Security-Policy-Report-Only. Il-browser jirrapporta ksur fil-console tal-iżviluppatur jew lil indirizz ta' ġbir, imma ma jimblokka xejn.
  • Irreġistraw is-sorsi kollha meħtieġa u ippermettuhom b'mod immirat, minflok ma tużaw placeholders ġenerali.
  • Ittrasferixxu skripts inline pass wara pass f'fajls jew agħtuhom nonces, biex jista' jitħalla barra 'unsafe-inline'.
  • Biss wara fażi tat-test mingħajr messaġġi mhux mistennija aqilbu għal Content-Security-Policy.
Suġġeriment

Is-CSP tikkumplimenta escaping nadif fil-kodiċi, imma ma tissostitwihx. Kif tassiguraw sewwa l-outputs f'PHP jinsab fil-gwida Kif tevitaw Cross-Site Scripting f'PHP.

Ivverifikaw il-headers u evitaw żbalji tipiċi

Wara kull bidla għandkom tivverifikaw jekk il-headers verament jaslu. Dan jirnexxi mingħajr għodod addizzjonali b'curl:

# Ittestjaw il-konfigurazzjoni u erġgħu tgħabbuha
nginx -t && systemctl reload nginx

# Uri l-headers tal-paġna ewlenija u ta' fajl statiku
curl -sI https://www.example.de/ | grep -iE 'strict|content-security|x-content|x-frame|referrer|permissions|server'
curl -sI https://www.example.de/favicon.ico | grep -iE 'strict|x-content'

Żbalji tipiċi huma headers iffissati darbtejn, meta s-server tal-web u l-applikazzjoni jibagħtu l-istess headers, CDN quddiem li jneħħi jew jegħleb headers, u headers li jidhru biss fuq il-paġna ewlenija, imma mhux f'ridirezzjonijiet jew paġni ta' żball. Ivverifikaw ukoll wara aġġornamenti tas-CMS jew ta' estensjonijiet tas-sigurtà jekk il-headers inbidlux.

Iffissaw għalhekk post wieħed fejn il-headers jinżammu, l-aħjar is-server tal-web jew is-servizz li jinsab quddiem. Ħafna estensjonijiet tas-CMS joffru wkoll issettjar għal headers tas-sigurtà. Dan huwa komdu, imma faċilment iwassal għal dikjarazzjonijiet doppji jew kontradittorji, jekk is-server jiffissa wkoll headers. Għal testijiet individwali jaqblu wkoll l-għodod tal-iżviluppatur tal-browser: fit-tab tan-netwerk tarawh l-headers tat-tweġiba għal kull talba, u l-console turi ksur tal-Content-Security-Policy.

Kif tgħin PHP SOS b'mod konkret?

  • Nivverifikaw il-headers attwali tal-websajts kollha tagħkom, anke wara CDN u proxy, u nuru lakuni u kontradizzjonijiet.
  • Niffissaw il-headers ċentralment fis-server tal-web fil-qafas tat-Tisħiħ tas-server u nittestjaw il-paġna ewlenija, sottopaġni u paġni ta' żball.
  • Nintroduċu l-Content-Security-Policy fil-modalità Report-Only, nevalwaw ir-rapporti u nattivawha wara qbil.
  • Fejn bidliet fil-kodiċi ma jkunux possibbli minnufih, nikkumplimentaw il-protezzjoni b'regoli WAF u patching virtwali.

Mistoqsijiet frekwenti

X'inhuma l-headers tas-sigurtà?

Headers tas-sigurtà huma dettalji addizzjonali fit-tweġiba tas-server tal-web. Jgħidu lill-browser, pereżempju, li għandu jgħabbi l-paġna biss permezz ta' HTTPS, ma jesegwixxix skripts barranin jew ma jurix il-paġna f'frejms barranin. Jipproteġu fuq kollox lill-viżitaturi.

Headers tas-sigurtà jipproteġu minn PHP2Shell?

Le. PHP2Shell huwa vulnerabbiltà f'PHP fuq is-server, headers jaħdmu fil-browser tal-viżitatur. Kontra PHP2Shell jgħin l-aġġornament għal verżjoni rranġata ta' PHP u r-restart tal-workers kollha. Headers huma tisħiħ addizzjonali kontra tipi oħra ta' attakk.

Content-Security-Policy tista' tkisser il-websajt tiegħi?

Iva, politika stretta żżejjed timblokka skripts, tipi ta' ittri jew kontenut inkorporat meħtieġ. Għalhekk tiddaħħal l-ewwel fil-modalità Report-Only, jiġu evalwati r-rapporti u biss imbagħad tinqaleb għal infurzar.

X-XSS-Protection għadu sensat?

Le. Il-browsers attwali ma jevalwawx aktar dan l-header, u r-rakkomandazzjoni hija li jitħalla barra jew jiġi ffissat fuq 0. Protezzjoni minn Cross-Site Scripting joffru escaping nadif fil-kodiċi u Content-Security-Policy.

Sorsi

Kuntatt immedjat

Kull siegħa tgħodd. Iktbu lilna issa.

Iddeskrivu fil-qosor is-sistema, il-verżjoni ta' PHP u dak li osservajtu. Nikkuntattjawkom, niċċaraw is-sitwazzjoni u naħdmu mill-bogħod sakemm l-inċident jingħalaq u jiġi ddokumentat.

Għajnuna immedjata