Wir hatten Feedback von unserem Pentest-Bericht, dass wir Server-Token deaktivieren sollten. Dies verhindert, dass Benutzer sehen können, welche PHP-Version wir verwenden, und beschränkt ihre Fähigkeit, auf die spezifische PHP-Version abzuzielen.
Ich habe nginx.conf unter dem http-Block Folgendes hinzugefügt:
server_tokens off;
Aber mit welchen Tools kann ich überprüfen, ob diese Änderung wirksam geworden ist?
server_token
hat nichts mit der PHP-Version zu tun. Es wird normalerweise in einem separaten Header gesendetX-Powered-By
. Ich denke, Sie brauchen php.net/manual/en/ini.core.php#ini.expose-phpAntworten:
Aus dem Handbuch wissen Sie, was die Einstellung bewirkt:
Sie haben also folgende Möglichkeiten:
nginx/1.2.3
nicht mehr angezeigt .Eine einfache Überprüfung, um die HTTP-Antwortheader anzuzeigen, besteht darin, manuell eine Verbindung herzustellen, dh mit:
telnet www.example.com 80
wo die Clientleitungen sind, was Sie eingeben:quelle
Nach etwas mehr googeln habe ich festgestellt, dass der Befehl curl die Server-Header überprüfen kann, in denen sowohl Server-Token als auch PHP-Versionen angezeigt werden:
Vielen Dank an Alexey für den Hinweis auf die in PHP erforderlichen Änderungen.
quelle
Schauen Sie sich InSpec an, ein Tool, mit dem Sie "Ihre Compliance-, Sicherheits- und anderen Richtlinienanforderungen in automatisierte Tests umwandeln" können.
https://www.inspec.io
Es kann alle Konfigurationstests durchführen, die Sie für Ihren Nginx-Server benötigen. Hier ist eine Möglichkeit, die Existenz der conf-Datei und den Wert von zu testen
server_tokens
:Bei korrekter Einstellung gibt InSpec Folgendes zurück:
Wenn nicht:
quelle
Wenn Sie PHP-Projekte bedienen, müssen Sie möglicherweise Änderungen vornehmen
/etc/nginx/{fastcgi,fastcgi_params).conf
quelle