Dem Apachen & PHP die Geschwätzigkeit austreiben

Möchte man vermeiden, dass der Apache Webserver allerlei Informationen über die geladenen Module und Versionsnummern preisgibt, sollte man in der Datei httpd.conf (oft auch apache.conf o.ä.) die Option ServerTokens auf den Wert Prod stellen:

#
# 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 | Minor | Minimal | Major | Prod
# where Full conveys the most information,
# and Prod the least.
#
ServerTokens Prod

Damit wird aus der für Dritte sehr wertvollen Information

Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25) mod_ssl/2.2.3 OpenSSL/0.9.8c mod_apreq2-20051231/2.6.0 mod_perl/2.0.2 Perl/v5.8.8 Server at foo.bar Port 80

ein simples

Server: Apache

Wer PHP auf seinem Server einsetzt wird sicher auch den Header X-Powered-By kennen – der verrät in der Standard-Einstellung nämlich immer noch die verwendete PHP-Version:

X-Powered-By: PHP/4.4.2-1

Möchte man auch dies unterbinden, so setzt man in der php.ini die Option expose_php auf off:

; 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.
expose_php = Off

Damit wäre auch diese unnötige Informationsquelle für Dritte abgestellt.

Anschliessend nicht vergessen, den Apache Webserver neu zu starten oder ihn z.B. mittels SIGHUP zum Neueinlesen seiner Konfiguration zu überreden.

Zum Überprüfen der HTTP-Header bietet sich zum Einen wget mit den Optionen –spider und -S an, zum Anderen kann man Online-Tools wie z.B. http-header-online-check nutzen.