[[:tux|{{ :linux.png?40|}}]]
=====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:
...
//# 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:
; //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//
{{keywords>apache2 php5 ServerTokens ServerSignature expose_php disable}}