Website-Suche

So verbergen Sie die PHP-Versionsnummer im HTTP-Header


Die PHP-Konfiguration ermöglicht standardmäßig, dass der Server-HTTP-Antwortheader „X-Powered-By“ die auf einem Server installierte PHP-Version anzeigt.

Aus Gründen der Serversicherheit (obwohl es sich hierbei nicht um eine große Bedrohung handelt, über die Sie sich Sorgen machen müssen) wird empfohlen, diese Informationen zu deaktivieren oder vor Angreifern zu verbergen, die möglicherweise Ihren Server ins Visier nehmen und wissen möchten, ob Sie PHP ausführen oder nicht.

Angenommen, eine bestimmte Version von PHP, die auf Ihrem Server installiert ist, weist Sicherheitslücken auf, und auf der anderen Seite erfahren Angreifer davon, wird es für sie viel einfacher, Schwachstellen auszunutzen und sich über Skripte Zugriff auf den Server zu verschaffen.

In meinem vorherigen Artikel habe ich gezeigt, wie man die Apache-Versionsnummer ausblendet, und dort auch, wie man die von Apache installierte Version deaktiviert. Wenn Sie jedoch PHP auf Ihrem Apache-Webserver ausführen, müssen Sie auch die installierte PHP-Version ausblenden, und das zeigen wir in diesem Artikel.

Daher erklären wir in diesem Beitrag, wie Sie die Anzeige der PHP-Versionsnummer im HTTP-Antwortheader des Servers ausblenden oder deaktivieren können.

Diese Einstellung kann in der geladenen PHP-Konfigurationsdatei konfiguriert werden. Falls Sie den Speicherort dieser Konfigurationsdatei auf Ihrem Server nicht kennen, führen Sie den folgenden Befehl aus, um sie zu finden:

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

Bevor Sie Änderungen an der PHP-Konfigurationsdatei vornehmen, empfehle ich Ihnen, zunächst eine Sicherungskopie Ihrer PHP-Konfigurationsdatei wie folgt zu erstellen:

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

Öffnen Sie dann die Datei mit Ihrem bevorzugten Editor mit Superuser-Berechtigungen wie folgt:

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

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

Suchen Sie das Schlüsselwort expose_php und setzen Sie seinen Wert auf Aus:

expose_php = off

Speichern Sie die Datei und beenden Sie den Vorgang. Anschließend starten Sie den Webserver wie folgt neu:

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

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

Überprüfen Sie zu guter Letzt, ob im HTTP-Antwortheader des Servers immer noch Ihre PHP-Versionsnummer angezeigt wird, indem Sie den folgenden Befehl verwenden.

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

wo die Flaggen:

  1. -head – sendet eine HEAD-Anfrage für die Mime-Header.
  2. -mime_header – druckt den MIME-Header eines abgerufenen Dokuments zusammen mit seiner Quelle.

Hinweis: Stellen Sie sicher, dass auf Ihrem System der Befehlszeilen-Webbrowser Lynx installiert ist.

Das ist es! In diesem Artikel haben wir erklärt, wie man die PHP-Versionsnummer im HTTP-Antwortheader des Servers verbirgt, um einen Webserver vor möglichen Angriffen zu schützen. Sie können diesem Beitrag eine Meinung hinzufügen oder über das Kommentarformular unten eine Frage zum Thema stellen.