Linux

Apache2: Versionsinformationen in Header und Signatur verstecken

aktualisiert am 2 min Lesezeit

Apache schickt bei jeder Anfrage im Header die Versionsnummer von Apache und das Betriebssystem mit. Zusätzlich steht die Version in der Server-Signatur unter Fehler- und Verzeichnisseiten. Beides kannst du reduzieren.

Mehr Sicherheit bringt das Ausblenden nicht. Du verrätst einem Freizeit-Hacker aber nicht gleich, für welche Version er nach Sicherheitslücken suchen kann.

Versionsnummer im Header

Den aktuellen Zustand prüfst du mit curl oder in den Entwicklertools des Browsers (Reiter „Netzwerk“):

Bash
curl -sI https://example.com | grep -i ^server
Server: Apache/2.4.62 (Debian)

Unter Debian und Ubuntu stehen die Einstellungen in /etc/apache2/conf-available/security.conf, bei älteren Installationen in /etc/apache2/apache2.conf. Die Ausgabe oben entspricht der Einstellung:

APACHE
ServerTokens OS

Ganz vermeiden lässt sich die Ausgabe nicht. Mit dieser Einstellung reduzierst du sie aber aufs Minimum:

APACHE
ServerTokens Prod

Angezeigt wird dann nur noch:

Server: Apache

Mir gefällt diese Einstellung am besten:

APACHE
ServerTokens Minimal

Sie gibt weder zu viel noch zu wenig preis:

Server: Apache/2.4.62

Nach jeder Änderung muss der Webserver seine Konfiguration neu einlesen, sonst bekommt er davon nichts mit:

Bash
apache2ctl graceful

Server-Signatur auf Fehler- und Verzeichnisseiten

Auf Fehlerseiten und Übersichtsseiten, die den Inhalt eines Verzeichnisses auflisten, steht unten (abhängig von ServerTokens) zum Beispiel:

Apache/2.4.62 (Debian) Server at example.com Port 443

Auch das schaltest du in derselben Datei ab:

APACHE
ServerSignature Off

Tippe, um alle Artikel zu durchsuchen.

Nachricht schreiben

Die Daten nutze ich nur, um dir zu antworten. Mehr dazu im Datenschutz.