← Alle Checks
SicherheitTypische Schwere: Niedrig

Scanner für Info-Leaks in Headern

Erkennt Header wie X-Powered-By oder Server, die Angreifern deinen Tech-Stack und die Version verraten.

Was es prüft

Dieser Scanner sucht nach Antwort-Headern wie X-Powered-By oder Server, die verraten, welche Technologie und Version deine Website nutzt. Er meldet, wenn der Server zu viel über sein Innenleben preisgibt. Das ist Information, die dem Besucher nichts bringt, einem Angreifer aber jede Menge.

Warum es wichtig ist

Wenn ein Angreifer dein Framework und dessen genaue Version kennt, kann er bekannte Schwachstellen für genau diese Version nachschlagen. Das spart ihm Aufklärungsarbeit und macht deine Seite zum leichteren Ziel. Für sich allein ist es kein schwerer Fehler, aber es fügt unnötiges Risiko hinzu.

Wie man es behebt

Konfiguriere deinen Server oder dein Framework so, dass diese informativen Header aus den Antworten entfernt oder verborgen werden. Viele Plattformen bieten eine Ein-Zeilen-Option, um den Technologie-Header abzuschalten. Es ist eine schnelle Änderung, die die Menge offengelegter Informationen verringert.

Wie diese Prüfung funktioniert

Scanaris liest die Header der Hauptantwort deiner Seite und schaut sich zwei davon an. Ist X-Powered-By mit irgendeinem Wert vorhanden (zum Beispiel Express, PHP/8.2.12 oder Next.js), öffnet er einen Befund mit niedrigem Schweregrad. Ist Server vorhanden und enthält der Wert eine Versionsnummer (etwa nginx/1.18.0 oder Apache/2.4.57), öffnet er einen weiteren. Ein bloßes Server: nginx oder Server: cloudflare wird nicht gemeldet: Zu sagen, welchen Server du nutzt, ist kein Problem; zu sagen, welche Version genau, schon.

Warum das wichtig ist

Keiner der beiden Header bringt dem Nutzer oder dem Browser irgendetwas. Sie existieren aus Gewohnheit. Was sie tun, ist, demjenigen Arbeit zu ersparen, der eine Schwachstelle sucht: Mit PHP/7.4.3 oder Apache/2.4.49 in der Antwort muss der Angreifer nichts raten, er geht direkt zur Liste der bekannten Fehler dieser Version und probiert die mit öffentlichem Exploit. Es ist ein Befund mit niedrigem Schweregrad, weil er allein keine Tür öffnet; aber er gehört zu den am leichtesten zu schließenden, und Massenscanner filtern ihre Ziele genau über diese Header.

So entfernst du sie je nach Stack

  • Express: app.disable('x-powered-by') beim Erstellen der App, oder nutze helmet(), das ihn zusammen mit weiteren Härtungen entfernt.
  • Next.js: sendet standardmäßig X-Powered-By: Next.js. In next.config.js: poweredByHeader: false.
  • PHP: in php.ini expose_php = Off. Bei Shared Hosting lässt sich das meist im Panel oder über eine .user.ini ändern.
  • ASP.NET: in web.config unter customHeaders <remove name="X-Powered-By" />, und in IIS zusätzlich den Header X-AspNet-Version mit enableVersionHeader="false" abschalten.
  • nginx: server_tokens off; im http-Block. Es steht weiterhin „nginx", aber ohne Version.
  • Apache: ServerTokens Prod und ServerSignature Off in der Hauptkonfiguration. Mit Prod bleibt im Header nur Apache.
  • Vercel, Netlify, Cloudflare Pages: senden keine Version in Server. Siehst du dort X-Powered-By, kommt es von deinem Framework (Next.js oder Express), nicht von der Plattform.

Wenn ein Proxy oder CDN davor sitzt (Cloudflare, ein Load Balancer), prüf die öffentliche Antwort: Manchmal ersetzt der Proxy den Server-Header und das Problem verschwindet von selbst, aber X-Powered-By geht meist unverändert durch.

Prüf, ob es behoben ist

curl -sI https://deinedomain.de | grep -iE "^(server|x-powered-by):"

Ideal ist, dass X-Powered-By nicht erscheint und Server, falls vorhanden, keine Nummer trägt. Probier auch eine API-Route oder eine Fehlerseite (eine URL, die nicht existiert): Fehler werden manchmal in einer anderen Schicht erzeugt, die den Header wieder hinzufügt.

Häufige Fragen

Die Version zu verstecken behebt die Schwachstelle nicht. Wozu dann?

Um nicht auf der ersten Ergebnisseite dessen zu landen, der Opfer sucht. Du hast recht, die eigentliche Lösung ist das Update: Die Version zu verstecken ist die Ergänzung, nicht der Ersatz. Beides zusammen dauert fünf Minuten.

Mein Hoster lässt mich die Serverkonfiguration nicht anfassen.

Dann entferne wenigstens X-Powered-By aus deinem Code oder deiner .htaccess (Header unset X-Powered-By) und bitte den Hoster, die Version zu verbergen. Die anderen Sicherheits-Header, die du haben solltest, prüft die Kontrolle Sicherheits-Header.

Warum wird „Server: cloudflare" nicht gemeldet?

Weil es nichts Verwertbares verrät: weder Version noch konkrete Software dahinter. Gesucht wird hier Information, die den Weg zu einem Exploit verkürzt. Welche Header sich lohnen und welche nur Rauschen sind, steht in HTTP-Header für Menschen erklärt.

Prüf es auf deiner Website

Scanne deine Website kostenlos und sieh, ob dieser und 44 weitere Checks bestehen, mit einem Fix-Prompt für jedes Problem.

Meine Website kostenlos scannen

Verwandte Checks