Apache2: Versionsinformationen in Header und Signatur verstecken
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“):
curl -sI https://example.com | grep -i ^serverServer: 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:
ServerTokens OSGanz vermeiden lässt sich die Ausgabe nicht. Mit dieser Einstellung reduzierst du sie aber aufs Minimum:
ServerTokens ProdAngezeigt wird dann nur noch:
Server: ApacheMir gefällt diese Einstellung am besten:
ServerTokens MinimalSie gibt weder zu viel noch zu wenig preis:
Server: Apache/2.4.62Nach jeder Änderung muss der Webserver seine Konfiguration neu einlesen, sonst bekommt er davon nichts mit:
apache2ctl gracefulServer-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 443Auch das schaltest du in derselben Datei ab:
ServerSignature Off