Apache/PHP: Serversignatur deaktivieren

Der Apache Webserver bietet in seiner Standardeinstellung Informationen über die verwendeten Versionen (Apache und PHP) und des zugrunde liegendem Betriebssystems an:

$ wget --save-headers -O- -q http://wiki.prontosystems.org
HTTP/1.1 200 OK
Date: Sat, 13 Apr 2013 09:11:25 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7

Aus Sicherheitsgründen sollte man diese Information abschalten, weil dadurch ein potentieller Angreifer die der Version zugrunde liegenden Sicherheitslöcher leichter ermitteln kann. In der »Apache« Webserver Konfiguration sind dafür zwei Parameter vorhanden, welche die bereitgestellten Informationen beeinflussen:

  • ServerTokens
  • ServerSignature

Diese befinden sich entweder in der Datei »/etc/apache2/https.conf«, »/etc/apache2/apache2.conf« oder »/etc/apache2/conf.d/security«

Um die Bereitstellung der Serversignatur zu deaktivieren, stellen Sie bei den beiden Parameter folgende Werte ein:

/etc/apache2/conf.d/security


# ServerTokens # This directive configures what you return as the Server HTTP response # Header. The default is 'Full' which sends information about the OS-Type # and compiled in modules. # Set to one of: Full | OS | Minimal | Minor | Major | Prod # where Full conveys the most information, and Prod the least. # #ServerTokens Minimal
ServerTokens Prod
#ServerTokens Full

# Optionally add a line containing the server version and virtual host # name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail #
ServerSignature Off
#ServerSignature On

Das Anzeigen der verwendeten »PHP« Version wird in der PHP Konfigurationsdatei »/etc/php5/apache2/php.ini« gesteuert. Hier ist der Parameter »expose_php« auf »Off« zu stellen:

/etc/php5/apache2/php.ini

; 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://php.net/expose-php
expose_php = Off

Im Anschluss daran laden Sie die Webserverkonfiguration neu:

# /etc/init.d/apache2 reload

Danach werden das Betriebssystem sowie die Apache und PHP Version nicht mehr angezeigt:

$ wget --save-headers -O- -q http://wiki.prontosystems.org
HTTP/1.1 200 OK
Date: Sat, 13 Apr 2013 09:21:07 GMT
Server: Apache

pronto 2013/04/13 11:57

tux/disable_apache_signature.txt (9993 views) · Zuletzt geändert: 2013/04/13 18:31 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0