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 →

Ikkonfigura Apache għal PHP b'mod sigur

Apache huwa flessibbli, u eżattament dan jagħmlu vulnerabbli għal konfigurazzjoni ħażina. Hekk torbot PHP permezz ta' PHP-FPM, tagħlaq .htaccess bħala backdoor u ssettja b'mod sigur l-għażliet ewlenin.

Stat 6 min. qariTisħiħ u konfigurazzjoni

Fil-qosor: Biex tikkonfigura Apache għal PHP b'mod sigur, orbot PHP permezz ta' PHP-FPM u mod_proxy_fcgi, itfi .htaccess b'AllowOverride None u ssettja ServerTokens Prod, ServerSignature Off, TraceEnable Off u Options -Indexes. LimitRequestBody tadattah mal-limiti ta' PHP, moduli mhux meħtieġa titfihom. Il-konfigurazzjoni ma tissostitwixxix aġġornament ta' PHP, imma tnaqqas b'mod sinifikanti s-superfiċje ta' attakk.

Apache wara PHP2Shell: aktar minn restart

L-operaturi ta' Apache f'Ottubru 2026 kienu taħt pressjoni partikolari. It-tim ta' PHP jikklassifika r-riskju b'mod_php bħala l-ogħla, għax hemmhekk intwera exploit qabel ma jibda jaħdem xi kodiċi tal-applikazzjoni. Il-passi akuti, jiġifieri patch u restart sħiħ, tiddeskrivihom il-paġna Għaliex mod_php iġorr l-ogħla riskju.

Wara l-patch tibqa' l-mistoqsija kemm hi tajba l-konfigurazzjoni ta' Apache innifsha. Servers li kibru maż-żmien spiss iġorru issettjar ta' ħafna snin: listi ta' direttorji, drittijiet miftuħa ta' .htaccess, moduli li ħadd m'għadu jeħtieġ. Kull waħda minnhom tista' tagħmel żball aktar tard akbar milli kellu jkun.

Dan l-artikolu jiddeskrivi konfigurazzjoni bażika żgħira u sigura għal Apache 2.4 b'PHP-FPM. L-eżempji jużaw mogħdijiet ta' Debian u Ubuntu; fil-familja RHEL il-fajls jinsabu taħt /etc/httpd/.

Orbot PHP permezz ta' PHP-FPM minflok mod_php

B'PHP-FPM, PHP jaħdem fi proċessi proprji, separat mis-server tal-web. Apache jgħaddi t-talbiet permezz ta' mod_proxy_fcgi. Skont id-dokumentazzjoni ta' Apache, ir-rabta b'SetHandler għandha vantaġġ fuq ProxyPassMatch: Apache l-ewwel jassenja t-talba stess lil fajl fis-sistema tal-fajls u biss imbagħad jgħaddi lil PHP-FPM.

<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/seite1.sock|fcgi://localhost/"
</FilesMatch>

Il-moduli taqbadhom taħt Debian u Ubuntu b'a2enmod proxy_fcgi. Min jaqleb minn mod_php jiddiżattiva l-modulu ta' PHP u wara jaqleb mill-MPM Prefork għal Event-MPM. Sfond dwar il-modalità qadima jispjegah mod_php spjegat: PHP fil-proċess ta' Apache.

Min-naħa ta' PHP-FPM security.limit_extensions = .php jappartjeni f'kull pool. Skont il-manwal ta' PHP, FPM inkella jesegwixxi wkoll fajls .phar.

Ikkonfigura Apache għal PHP b'mod sigur: l-għażliet ewlenin

Xi issettjar japplika għas-server kollu u jappartjeni f'fajl ta' konfigurazzjoni proprju, pereżempju /etc/apache2/conf-available/haertung.conf, attivat b'a2enconf haertung.

# Qassar l-indikazzjonijiet tal-verżjoni (possibbli biss fuq is-server kollu)
ServerTokens Prod
ServerSignature Off

# Itfi l-metodu TRACE
TraceEnable Off

# Bażikament iftaħ xejn, il-websajts jippermettu b'mod immirat
<Directory />
    Options None
    AllowOverride None
    Require all denied
</Directory>

It-tabella li ġejja tikklassifika l-aktar għażliet importanti. Valuri standard u effett joriġinaw mid-dokumentazzjoni ta' Apache.

Direttiva Standard Rakkomandazzjoni Għaliex
ServerTokens Full Prod il-Server-header isemmi biss „Apache”
ServerSignature Off Off l-ebda linja tal-verżjoni taħt paġni ta' żball
TraceEnable on Off TRACE jiġi rrifjutat b'405
Options FollowSymlinks -Indexes, symlinks biss skont is-sid l-ebda listi ta' direttorji
AllowOverride None None .htaccess ma jiġix evalwat
LimitRequestBody 1 GiB (minn 2.4.54) adattat għal post_max_size irrifjuta talbiet kbar kmieni

Importanti ma' AllowOverride: ħafna distribuzzjonijiet u gwidi tas-CMS jissettjaw għall-webroot AllowOverride All. B'hekk kull fajl .htaccess jista' jibdel regoli Rewrite, handlers u ma' mod_php anke issettjar ta' PHP. Attakkant b'drittijiet tal-kitba f'folder tal-upload jista' jpoġġi hemmhekk .htaccess proprja. B'AllowOverride None din it-triq tingħalaq.

VirtualHost bħala mudell

Il-VirtualHost li ġej jgħaqqad il-punti għal websajt waħda. Mogħdijiet taċ-ċertifikati, socket u direttorji tadattahom int. mod_ssl u mod_headers iridu jkunu attivi.

<VirtualHost *:443>
    ServerName www.example.de
    DocumentRoot /var/www/seite1/public

    SSLEngine on
    SSLCertificateFile    /etc/ssl/seite1/fullchain.pem
    SSLCertificateKeyFile /etc/ssl/seite1/privkey.pem

    <Directory /var/www/seite1/public>
        Options -Indexes +SymLinksIfOwnerMatch
        AllowOverride None
        Require all granted
    </Directory>

    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/seite1.sock|fcgi://localhost/"
    </FilesMatch>

    # Ibblokka l-amministrazzjoni tal-verżjonijiet u l-fajls tal-ambjent
    <DirectoryMatch "/\.(git|svn|hg)">
        Require all denied
    </DirectoryMatch>
    <FilesMatch "^\.env">
        Require all denied
    </FilesMatch>

    # 32 MiB, skont post_max_size = 32M
    LimitRequestBody 33554432

    Header unset X-Powered-By
    Header always unset X-Powered-By
</VirtualHost>

Header unset doppju mhuwiex żball. Skont id-dokumentazzjoni ta' Apache, headers minn mod_proxy_fcgi jispiċċaw f'tabella interna differenti minn headers tas-server innifsu; b'iż-żewġ varjanti taqbad iż-żewġ każijiet. Headers oħra li jipproteġu b'mod attiv lill-viżitaturi tiddeskrivihom il-gwida Headers tas-sigurtà għal websajts.

Folders tal-upload u tal-cache jeħtieġu addizzjonalment blokk ta' eżekuzzjoni. Kif issib u tibblokka l-folders kollha li jistgħu jinkitbu jinsab taħt Ipprojbixxi l-eżekuzzjoni ta' PHP f'folders tal-upload.

Neħħi moduli żejda u ivverifika r-riżultat

Kull modulu mgħabbi huwa kodiċi li jirreaġixxi għal talbiet. Ivverifika liema moduli huma attivi, u itfi dawk li ma teħtiġx. Kandidati tipiċi huma autoindex, status mingħajr restrizzjoni tal-aċċess, cgi u userdir.

# Uri l-moduli attivi
apachectl -M | sort
# Eżempju Debian/Ubuntu: itfi l-modulu tal-listi tad-direttorji
sudo a2dismod autoindex
# Ivverifika l-konfigurazzjoni u biss imbagħad erġa' tgħabbi
sudo apachectl configtest && sudo systemctl reload apache2
# Test minn barra: TRACE għandu jagħti 405, .git 403
curl -s -o /dev/null -w "%{http_code}\n" -X TRACE https://www.example.de/
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.de/.git/HEAD

mod_status jixraq attenzjoni partikolari. Il-paġna tal-istatus turi talbiet li jaħdmu b'indirizzi u mogħdijiet mitluba. Jekk tkun meħtieġa, illimita l-aċċess b'Require ip għan-netwerks tal-amministrazzjoni tiegħek. L-istess japplika għal paġni tal-istatus ta' PHP-FPM li saru aċċessibbli permezz ta' Apache.

Importanti

Tibdilx AllowOverride mingħajr tħejjija. L-ewwel ħu r-regoli mill-fajls .htaccess kollha fil-VirtualHost u ittestja l-websajt fuq kopja. Inkella ridirezzjonijiet u URLs sbieħ ma jaħdmux aktar wara r-reload.

Bħala saff addizzjonali quddiem l-applikazzjoni tista' tkun sensibbli Web Application Firewall proprja; il-bidu jiddeskrivih Uża ModSecurity u OWASP Core Rule Set.

Konklużjoni: l-ordni tirbaħ fuq miżura waħda

Konfigurazzjoni sigura ta' Apache għal PHP tikkonsisti f'ftit blokki li nifhmu tajjeb. PHP jaħdem permezz ta' PHP-FPM separat mis-server tal-web, .htaccess ma jiġix evalwat, indikazzjonijiet tal-verżjoni u TRACE huma mitfija, limiti tad-daqs jaqblu ma' PHP, u folders li jistgħu jinkitbu ma jesegwixxu l-ebda skript. L-ebda wieħed minn dawn il-punti mhu spettakolari waħdu. Flimkien jiżguraw li żball f'post wieħed ma jwassalx minnufih għat-teħid tas-server.

Għad-direzzjoni u għar-responsabbli tal-proġetti, karatteristika oħra hija kważi aktar importanti: konfigurazzjoni f'ordni hija traċċabbli. Jekk ir-regoli kollha jinsabu fil-VirtualHost minflok imxerrdin f'għexieren ta' fajls .htaccess, fil-vulnerabbiltà kritika li jmiss jista' jiġi vverifikat malajr liema websajt hija marbuta kif. F'sitwazzjoni bħal dik ta' Ottubru 2026 dan jiffranka eżattament iż-żmien li jgħodd.

Ippjana l-bidla xorta waħda bil-kalma u b'ambjent tat-test. Bidla bla ħsieb minn mod_php għal PHP-FPM ftit qabel tmiem il-ġimgħa toħloq aktar problemi ġodda milli tissolvi.

Kif tgħin PHP SOS b'mod konkret?

  • Nivverifikaw l-istat: naqraw il-konfigurazzjoni kollha ta' Apache, il-moduli attivi kollha u l-fajls .htaccess kollha.
  • Nippjanaw it-tranżizzjoni: fejn għad jaħdem mod_php, inħejju l-bidla għal PHP-FPM b'pools proprji għal kull websajt.
  • Insaħħu l-konfigurazzjoni: nissettjaw l-għażliet ewlenin, nieħdu r-regoli .htaccess fil-VirtualHosts u nibblokkaw folders li jistgħu jinkitbu.
  • Nittestjaw u niddokumentaw: wara kull bidla nivverifikaw il-websajts minn barra u nżommu l-istat bħala parti mit-Tisħiħ tas-server.

Mistoqsijiet frekwenti

Għadni għandi nuża mod_php?

Għal setups ġodda nirrakkomandaw PHP-FPM permezz ta' mod_proxy_fcgi. It-tim ta' PHP jikklassifika r-riskju minn PHP2Shell bħala l-ogħla għal mod_php. B'PHP-FPM, PHP jaħdem separat mis-server tal-web, b'utenti proprji għal kull websajt u limiti proprji.

Għaliex AllowOverride None jekk is-CMS tiegħi jeħtieġ .htaccess?

Kulħadd li jista' jikteb fil-webroot jista' joħloq .htaccess, anke kodiċi introdott. B'AllowOverride None Apache ma jevalwax fajls bħal dawn. Ir-regoli tas-CMS tiegħek imbagħad tieħdhom darba fil-VirtualHost. Dan huwa ftit sforz, imma jagħmel il-konfigurazzjoni traċċabbli u aktar mgħaġġla.

Nista' nissettja ServerTokens differenti għal kull websajt?

Le. Skont id-dokumentazzjoni ta' Apache, ServerTokens japplika għas-server kollu u ma jistax jinbidel għal kull VirtualHost. Jikkontrolla fl-istess ħin l-indikazzjoni tal-verżjoni taħt paġni ta' żball li ServerSignature turi.

X'inhu l-valur standard ta' LimitRequestBody?

Minn Apache 2.4.54 l-istandard huwa 1 GiB, fil-verżjoni 2.4.53 u eqdem kien bla limitu. Issettja l-valur skont post_max_size tal-konfigurazzjoni ta' PHP tiegħek, biex talbiet kbar żżejjed jiġu rrifjutati diġà fis-server tal-web.

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