Vyhledávání na webu

Jak skrýt číslo verze PHP v záhlaví HTTP


Konfigurace PHP ve výchozím nastavení umožňuje, aby hlavička HTTP odpovědi serveru „X-Powered-By“ zobrazila verzi PHP nainstalovanou na serveru.

Z bezpečnostních důvodů serveru (ačkoli to není velká hrozba, o kterou byste se měli obávat) se doporučuje zakázat nebo skrýt tyto informace před útočníky, kteří by mohli cílit na váš server, protože chtějí vědět, zda používáte PHP nebo ne.

Za předpokladu, že konkrétní verze PHP nainstalovaná na vašem serveru má bezpečnostní díry a na druhé straně, útočníci to poznají, bude pro ně mnohem snazší zneužít zranitelnosti a získat přístup k serveru pomocí skriptů.

V mém předchozím článku jsem ukázal, jak skrýt číslo verze Apache, kde jste viděli, jak vypnout nainstalovanou verzi Apache. Ale pokud na svém webovém serveru Apache používáte PHP, musíte také skrýt nainstalovanou verzi PHP, a to si ukážeme v tomto článku.

Proto v tomto příspěvku vysvětlíme, jak skrýt nebo vypnout zobrazování čísla verze PHP v hlavičce HTTP odpovědi serveru.

Toto nastavení lze nakonfigurovat v načteném konfiguračním souboru PHP. V případě, že neznáte umístění tohoto konfiguračního souboru na vašem serveru, spusťte níže uvedený příkaz a vyhledejte jej:

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

Před provedením jakýchkoli změn v konfiguračním souboru PHP vám doporučuji nejprve vytvořit zálohu konfiguračního souboru PHP takto:

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

Poté soubor otevřete pomocí svého oblíbeného editoru s oprávněními superuživatele, jako je například:

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

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

Vyhledejte klíčové slovo expose_php a nastavte jeho hodnotu na Vypnuto:

expose_php = off

Uložte soubor a ukončete. Poté restartujte webový server následovně:

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

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

V neposlední řadě zkontrolujte, zda hlavička HTTP odpovědi serveru stále zobrazuje číslo vaší verze PHP pomocí příkazu níže.

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

kde jsou vlajky:

  1. -head – odešle požadavek HEAD na hlavičky MIME.
  2. -mime_header – vytiskne MIME záhlaví načteného dokumentu spolu s jeho zdrojem.

Poznámka: Ujistěte se, že máte v systému nainstalovaný lynx – webový prohlížeč příkazového řádku.

A je to! V tomto článku jsme vysvětlili, jak skrýt číslo verze PHP v hlavičce HTTP odpovědi serveru, abychom zabezpečili webový server před možnými útoky. K tomuto příspěvku můžete přidat svůj názor nebo se třeba zeptat na jakoukoli související otázku prostřednictvím formuláře komentáře níže.