1. Ausgangssituation

Out-of-the-box liefert nginx und PHP die eingesetzte Softwareversion mit jedem HTTP Response aus. Das ist nicht sonderlich klug, da man so einem potentiellen Angreifer ungewollt eine Angriffsfläche bietet. Hier einmal ein normaler HTTP Response. Die zu deaktivierenden HTTP Header Werte habe ich rot gekennzeichnet.

$ curl -I http://192.168.1.1
HTTP/1.1 200 OK
Server: nginx/1.8.1
Date: SAT, 13 Feb 2016 08:20:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3
...

2. Deaktivierung der NGINX Version

Die Deaktivierung der Nginx Version ist recht simpel.

Hierzu ist nur die nginx.conf zu öffnen und der Parameter server_tokens off in dem Bereich „http“ in der nginx.conf hinzuzufügen. Die nginx.conf ist meist unter /etc/nginx/nginx.conf zu finden.

http {
 
    server_tokens   off;
 
}

Weitere Informationen zu dem Parameter server_tokens findest Du in der offiziellen Dokumentation auf nginx.org.

Anschließend sollte ein erneuter HTTP Request wie folgt aussehen:

$ curl -I http://192.168.1.1
HTTP/1.1 200 OK
Server: nginx
Date: SAT, 13 Feb 2016 08:25:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3
...

3. Deaktivierung der PHP Version

Die Deaktivierung der PHP Version ist ebenfalls recht simpel. Eine Sache vorab: Ganz abschalten lässt sich der X-Powered-By: Header aber nicht.

Um die PHP Version global zu deaktivieren ist ein Eintrag in der php.ini vorzunehmen. Der Parameter expose_php =off muss in die php.in aufgenommen werden.

;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
 
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://www.php.net/manual/en/ini.core.php#ini.expose-php
expose_php = Off

Nach der Deaktivierung der Nginx Version und der PHP Version solltet Ihr bei einem erneuten HTTP Request folgende Antwort erhalten:

$ curl -I http://192.168.1.1
HTTP/1.1 200 OK
Server: nginx
Date: SAT, 13 Feb 2016 08:25:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP
...

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Close