Zoeken op website

Hoe PHP-versienummer in HTTP-header te verbergen


De PHP-configuratie staat standaard toe dat de HTTP-antwoordheader ‘X-Powered-By’ van de server de PHP-versie weergeeft die op een server is geïnstalleerd.

Om veiligheidsredenen voor de server (hoewel dit geen grote bedreiging is om u zorgen over te maken), is het raadzaam deze informatie uit te schakelen of te verbergen voor aanvallers die zich mogelijk op uw server richten door te willen weten of u PHP gebruikt of niet.

Ervan uitgaande dat een bepaalde versie van PHP die op uw server is geïnstalleerd beveiligingslekken bevat, en aan de andere kant aanvallers dit te weten komen, zal het voor hen veel gemakkelijker worden om kwetsbaarheden te misbruiken en via scripts toegang te krijgen tot de server.

In mijn vorige artikel heb ik laten zien hoe je het versienummer van Apache kunt verbergen, waarin je hebt gezien hoe je de geïnstalleerde versie van Apache kunt uitschakelen. Maar als u PHP op uw apache-webserver gebruikt, moet u ook de geïnstalleerde PHP-versie verbergen, en dit is wat we in dit artikel gaan laten zien.

Daarom zullen we in dit bericht uitleggen hoe je de weergave van het PHP-versienummer in de HTTP-antwoordheader van de server kunt verbergen of uitschakelen.

Deze instelling kan worden geconfigureerd in het geladen PHP-configuratiebestand. Als u de locatie van dit configuratiebestand op uw server niet weet, voert u de onderstaande opdracht uit om het te vinden:

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

Voordat u wijzigingen aanbrengt in het PHP-configuratiebestand, raad ik u aan eerst een back-up te maken van uw PHP-configuratiebestand, zoals hieronder:

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

Open vervolgens het bestand met uw favoriete editor met supergebruikersrechten, zoals:

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

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

Zoek het trefwoord expose_php en stel de waarde ervan in op Uit:

expose_php = off

Sla het bestand op en sluit af. Start daarna de webserver als volgt opnieuw op:

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

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

Controleer ten slotte of de HTTP-antwoordheader van de server nog steeds uw PHP-versienummer toont met behulp van de onderstaande opdracht.

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

waar de vlaggen:

  1. -head – verzendt een HEAD-verzoek voor de mime-headers.
  2. -mime_header – drukt de MIME-header van een opgehaald document samen met de bron ervan af.

Opmerking: zorg ervoor dat lynx – opdrachtregelwebbrowser op uw systeem is geïnstalleerd.

Dat is het! In dit artikel hebben we uitgelegd hoe u het PHP-versienummer in de HTTP-antwoordheader van de server kunt verbergen om een webserver tegen mogelijke aanvallen te beveiligen. U kunt een mening aan dit bericht toevoegen of misschien een gerelateerde vraag stellen via het onderstaande opmerkingenformulier.