Server-Version verbergen: Server-Header und X-Powered-By
Stand: 3. Oktober 2026 · CAZ Labs
Kurz gesagt
Viele Server schicken bei jeder Antwort mit, welche Software in welcher Version läuft, etwa `Server: Apache/2.4.29` oder `X-Powered-By: PHP/7.4.3`. Das hilft Angreifern bei der Suche nach bekannten Lücken. Du blendest die Versionen mit `ServerTokens Prod`, `server_tokens off` und `expose_php = Off` aus, ein Update ersetzt das aber nicht.
Warum das wichtig ist
Automatisierte Scanner gehen massenhaft Websites durch und notieren, wo welche Version läuft. Steht dort eine PHP-Version, für die es seit Jahren keine Sicherheitsupdates mehr gibt, landet deine Seite auf der Liste für den nächsten Durchgang. Ohne Versionsangabe fällst du aus diesem Raster.
Man muss dabei ehrlich sein: Versionen zu verstecken ist Kosmetik. Viele Angriffe probieren Lücken einfach blind aus, egal was im Header steht. Zeigt dein Server eine alte Version, heißt das vor allem, dass dort vermutlich veraltete Software läuft. Prüf deshalb zuerst, ob die angezeigte Version noch Sicherheitsupdates bekommt, und blende sie danach aus.
Ein Sonderfall: Linux-Distributionen wie Debian oder Ubuntu flicken Lücken oft, ohne die Versionsnummer zu ändern. Ein Apache/2.4.29 kann also gepatcht sein. Unnötig ist die Angabe trotzdem.
So prüfst du es selbst
Die beiden Header siehst du in den Entwicklertools (F12) unter „Netzwerk“ oder im Terminal:
curl -sI https://example.de | grep -iE "^(server|x-powered-by)"Was checkfrei prüft
Steht dort nur Server: Apache, Server: nginx oder der Name eines Anbieters wie cloudflare, ist alles in Ordnung. Problematisch sind Zahlen. checkfrei prüft die Header Server und X-Powered-By auf Versionsnummern und gibt eine Warnung, wenn welche verraten werden. Teste deine Domain mit dem kostenlosen Check.
So behebst du es
Apache (.htaccess)
Die Server-Zeile steuerst du mit ServerTokens Prod. Das funktioniert nur in der Hauptkonfiguration des Servers, nicht in der .htaccess. Auf Shared Hosting ist das Sache des Hosters, frag dort nach. Den Header X-Powered-By kannst du dagegen in der .htaccess entfernen:
<IfModule mod_headers.c>
Header unset X-Powered-By
Header always unset X-Powered-By
</IfModule>Eigener Server mit Apache
Unter Debian und Ubuntu trägst du die beiden Zeilen unten in /etc/apache2/conf-available/security.conf ein und lädst Apache neu. Der Header lautet dann nur noch Server: Apache.
ServerTokens Prod
ServerSignature Offnginx
server_tokens off entfernt die Versionsnummer, der Name nginx bleibt. Ganz weg bekommst du ihn nur mit dem Zusatzmodul headers-more, für den Prüfpunkt ist das nicht nötig. fastcgi_hide_header entfernt die PHP-Angabe, wenn PHP über FastCGI läuft.
http {
server_tokens off;
fastcgi_hide_header X-Powered-By;
}PHP
Die Angabe X-Powered-By: PHP/... kommt von PHP selbst. Abschalten lässt sie sich mit der Zeile unten in der php.ini. Bei vielen Hostern kannst du PHP-Einstellungen im Kundenbereich ändern. Taucht expose_php dort nicht auf, hilft die .htaccess-Regel oben oder eine Nachfrage beim Support.
expose_php = OffWordPress
Unter Werkzeuge > Website-Zustand siehst du, welche PHP-Version läuft und ob sie noch empfohlen wird. Ist sie veraltet, stell im Kundenbereich des Hosters auf eine aktuelle Version um und teste die Seite danach. Das bringt mehr als jedes Ausblenden. Für die Header selbst gelten die Wege oben: .htaccess für X-Powered-By, der Hoster für die Server-Zeile.
Next.js
Next.js schickt standardmäßig X-Powered-By: Next.js, ohne Versionsnummer. Das löst bei checkfrei keine Warnung aus, abschalten kannst du es trotzdem:
// next.config.mjs
const nextConfig = {
poweredByHeader: false,
};
export default nextConfig;Shopify, Wix, Jimdo, Vercel und Netlify
Auf diese Header hast du hier keinen Einfluss. Die Plattformen verraten in der Regel aber auch keine Versionsnummern.
So prüft checkfrei
Wir prüfen die Header Server und X-Powered-By auf Versionsnummern. Werden welche verraten, gibt es eine Warnung.
Gewicht 1 von 3 im Bereich Sicherheit.
Häufige Fragen
Ist es gefährlich, wenn meine PHP-Version sichtbar ist?
Die Sichtbarkeit allein ist ein kleines Risiko. Gefährlich ist eine PHP-Version ohne Sicherheitsupdates, egal ob sichtbar oder nicht. Welche Versionen noch unterstützt werden, steht auf php.net unter „Supported Versions“.
Kann ich den Server-Header komplett entfernen?
Bei Apache nicht ohne Weiteres, bei nginx nur mit Zusatzmodul. Für die Sicherheit reicht es, die Versionsnummer zu entfernen. Welcher Webserver läuft, lässt sich ohnehin leicht erraten.
Jetzt deine Seite prüfen
checkfrei prüft Verratene Software-Versionen und 68 weitere Punkte in einem Durchgang. Kostenlos und ohne Anmeldung.