Was dein Server über sich verrät
Viele Webserver und Anwendungen nennen in ihren Antwort-Headern Software und Versionsnummer. Das hilft niemandem außer Angreifern, die so gezielt nach bekannten Lücken suchen.
So funktioniert es
Mit jeder Antwort schickt der Server Header mit, die der Browser nicht braucht. Server: Apache/2.4.57 (Debian) sagt, welcher Webserver in welcher Version läuft, X-Powered-By: PHP/8.1.2 dasselbe für die Programmiersprache. Ähnliche Angaben machen X-AspNet-Version, X-AspNetMvc-Version und X-Generator, das manche CMS mit ihrem Namen füllen.
Für bekannte Versionen gibt es öffentliche Listen mit Sicherheitslücken. Automatische Scanner lesen die Header und probieren genau die Angriffe, die für diese Version passen. Die Angaben ersparen ihnen die Suche.
Worauf es ankommt
- Keine Versionsnummern.
Server: nginxohne Version ist unbedenklich; erst die Nummer verrät, welche Lücken offen sein könnten. - Zusatz-Header ganz entfernen.
X-Powered-By,X-AspNet-Version,X-AspNetMvc-VersionundX-Generatorbraucht kein Browser, auch ohne Version nicht. - Verstecken ersetzt keine Updates. Wer die Version entfernt, macht es Scannern schwerer, schließt aber keine Lücke. Halte Server, CMS und Plugins aktuell.
- Jede Schicht prüfen. Webserver, Programmiersprache, CMS und ein vorgeschalteter Proxy können jeweils eigene Angaben hinzufügen.
So richtest du es ein
Die Angaben schaltet ab, wer den Server betreibt: du, deine Agentur oder der Hoster. Die wichtigsten Stellen:
Für PHP in der php.ini:
expose_php = Off
Bei ASP.NET entfernt <httpRuntime enableVersionHeader="false" /> in der web.config den Header X-AspNet-Version; X-Powered-By entfernst du in den Antwort-Headern des IIS. In Express (Node.js) schaltet app.disable("x-powered-by") den Header ab.
Andere Header lassen sich im Webserver herausfiltern, bei Apache mit Header unset X-Generator, bei nginx vor PHP-FPM mit fastcgi_hide_header X-Generator;. Bei Shared Hosting ohne Zugriff auf die Konfiguration frag deinen Hoster.