Kako sakriti broj verzije PHP-a u HTTP zaglavlju


PHP konfiguracija, podrazumevano, dozvoljava zaglavlju HTTP odgovora servera „X-Powered-By“ da prikaže verziju PHP-a instaliranu na serveru.

Iz sigurnosnih razloga servera (iako to nije velika prijetnja o kojoj treba brinuti), preporučuje se da onemogućite ili sakrijete ove informacije od napadača koji možda ciljaju vaš server želeći da znaju da li koristite PHP ili ne.

Pod pretpostavkom da određena verzija PHP-a instalirana na vašem serveru ima sigurnosne rupe, a sa druge strane, napadači to saznaju, biće im mnogo lakše da iskoriste ranjivosti i dobiju pristup serveru putem skripti.

U svom prethodnom članku pokazao sam kako sakriti broj verzije apachea, gdje ste vidjeli kako isključiti instaliranu verziju apachea. Ali ako koristite PHP na svom apache web serveru, morate sakriti i PHP instaliranu verziju, a to ćemo pokazati u ovom članku.

Stoga ćemo u ovom postu objasniti kako sakriti ili isključiti prikaz broja PHP verzije u zaglavlju HTTP odgovora servera.

Ova postavka se može konfigurirati u učitanoj PHP konfiguracijskoj datoteci. U slučaju da ne znate lokaciju ove konfiguracijske datoteke na vašem serveru, pokrenite naredbu ispod da je pronađete:

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

Prije bilo kakvih promjena u PHP konfiguracijskoj datoteci, predlažem vam da prvo napravite sigurnosnu kopiju svog PHP konfiguracijskog fajla na sljedeći način:

---------------- 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  

Zatim otvorite datoteku koristeći svoj omiljeni uređivač sa privilegijama super korisnika kao što su:

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

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

Pronađite ključnu riječ expose_php i postavite njenu vrijednost na Isključeno:

expose_php = off

Sačuvajte fajl i izađite. Nakon toga, ponovo pokrenite web server na sljedeći način:

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

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

Na kraju, ali ne i najmanje važno, provjerite da li zaglavlje HTTP odgovora servera još uvijek prikazuje broj vaše PHP verzije koristeći naredbu ispod.

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

gde su zastave:

  1. -head – šalje HEAD zahtjev za mime zaglavlja.
  2. -mime_header – ispisuje MIME zaglavlje preuzetog dokumenta zajedno sa njegovim izvorom.

Napomena: Uvjerite se da imate lynx – web pretraživač komandne linije instaliran na vašem sistemu.

To je to! U ovom članku smo objasnili kako sakriti broj verzije PHP-a u zaglavlju HTTP odgovora servera kako bi se web server zaštitio od mogućih napada. Možete dodati mišljenje ovom postu ili možda postaviti bilo koje povezano pitanje putem obrasca za komentare ispod.