Weboldal keresés

A PHP verziószámának elrejtése a HTTP fejlécben


A PHP-konfiguráció alapértelmezés szerint lehetővé teszi, hogy a szerver HTTP-válaszfejléce „X-Powered-By” jelenítse meg a szerverre telepített PHP-verziót.

Szerverbiztonsági okokból (bár ez nem jelent komoly veszélyt aggodalomra) javasoljuk, hogy tiltsa le vagy rejtse el ezeket az információkat a támadók elől, akik esetleg a szerverét célozzák meg, mert tudni akarják, hogy PHP-t futtat-e vagy sem.

Feltételezve, hogy a kiszolgálóra telepített PHP egy adott verziója biztonsági résekkel rendelkezik, és a másik oldalon a támadók ezt megismerik, sokkal könnyebben tudják kihasználni a sebezhetőségeket és szkripteken keresztül bejutni a szerverbe.

Korábbi cikkemben bemutattam, hogyan lehet elrejteni az apache verziószámát, ahol láthatta, hogyan kapcsolhatja ki az apache telepített verzióját. De ha PHP-t futtat az apache webszerverén, akkor el kell rejtenie a PHP telepített verzióját is, és ezt mutatjuk be ebben a cikkben.

Ezért ebben a bejegyzésben elmagyarázzuk, hogyan lehet elrejteni vagy kikapcsolni a PHP verziószámának megjelenítését a szerver HTTP válaszfejlécében.

Ez a beállítás a betöltött PHP konfigurációs fájlban konfigurálható. Ha nem tudja ennek a konfigurációs fájlnak a helyét a kiszolgálón, futtassa az alábbi parancsot a megtalálásához:

php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Mielőtt bármilyen változtatást végezne a PHP konfigurációs fájljában, azt javaslom, hogy először készítsen biztonsági másolatot a PHP konfigurációs fájljáról, például:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Ezután nyissa meg a fájlt kedvenc szerkesztőjével szuperfelhasználói jogosultságokkal, például:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo vi /etc/php/7.0/cli/php.ini

Keresse meg az expose_php kulcsszót, és állítsa értékét Ki értékre:

expose_php = off

Mentse el a fájlt és lépjen ki. Ezután indítsa újra a webszervert az alábbiak szerint:

---------------- On SystemD ---------------- 
sudo systemctl restart httpd
sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
sudo service httpd restart
sudo service apache2 restart

Végül, de nem utolsósorban az alábbi paranccsal ellenőrizze, hogy a szerver HTTP-válasz fejléce továbbra is a PHP verziószámát mutatja-e.

lynx -head -mime_header http://localhost 
OR
lynx -head -mime_header http://server-address

ahol a zászlók:

  1. -head – HEAD kérést küld a MIME fejlécekhez.
  2. -mime_header – kiírja a letöltött dokumentum MIME fejlécét a forrással együtt.

Megjegyzés: Győződjön meg arról, hogy a lynx – parancssori webböngésző telepítve van a rendszerén.

Ez az! Ebben a cikkben elmagyaráztuk, hogyan lehet elrejteni a PHP verziószámát a kiszolgáló HTTP-válaszfejlécében, hogy megvédje a webszervert a lehetséges támadásoktól. Véleményt adhat ehhez a bejegyzéshez, vagy bármilyen kapcsolódó kérdést feltehet az alábbi megjegyzés űrlapon.