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:
-head
– HEAD kérést küld a MIME fejlécekhez.-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.