Ratgeber Konto erstellen 🇬🇧 🇩🇪
  • Ratgeber
  • Konto erstellen
  • Anmelden
  • 🇬🇧 🇩🇪
  • Server-Rezept

    Security-Header in Apache

    Ein Block für Ihre .htaccess oder Ihren Virtual Host, eine Erklärung jeder Direktive und der Unterschied zwischen set und always, an dem hängt, ob Ihre Fehlerseiten geschützt sind.

    Meine Header prüfen Alle Security-Header

    01 Wohin es gehört

    Virtual Host, wenn möglich, .htaccess, wenn nötig

    Auf einem eigenen Server gehören die Direktiven in die Virtual-Host-Konfiguration: Apache liest sie einmal beim Start, statt bei jeder Anfrage jedes Verzeichnis zu prüfen. Auf Shared Hosting haben Sie diese Möglichkeit selten, und eine .htaccess im Wurzelverzeichnis leistet dasselbe, zu einem kleinen Preis bei der Geschwindigkeit.

    In beiden Fällen muss mod_headers aktiv sein, sonst tun die Direktiven überhaupt nichts. Die Klammer um einen IfModule-Block, wie unten, führt dazu, dass ein Server ohne das Modul Ihre Seite ungeschützt ausliefert, statt mit einem 500er abzubrechen. Das ist das sicherere Verhalten, aber auch das leisere: prüfen Sie, dass das Modul wirklich geladen ist, statt es anzunehmen.

    02 Das Rezept

    Das hier in Ihre .htaccess kopieren

    Ein sicherer Ausgangspunkt für eine Seite, die ihre eigenen Dateien ausliefert. Derselbe Block funktioniert unverändert innerhalb eines VirtualHost-Abschnitts, und dorthin gehört er, wenn Sie Zugriff darauf haben.

    <IfModule mod_headers.c>     Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
        Header always set Content-Security-Policy "default-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'"
        Header always set X-Frame-Options "DENY"
        Header always set X-Content-Type-Options "nosniff"
        Header always set Referrer-Policy "strict-origin-when-cross-origin"
        Header always set Permissions-Policy "geolocation=(), camera=(), microphone=(), payment=(), usb=()" </IfModule>

    Zwei Anpassungen, bevor das Ihres ist. Die Content-Security-Policy erlaubt nichts von Dritten, eingebettete Karten, Schriften oder Analyse werden also blockiert, und sie sollte zuerst im Report-Only-Modus laufen. Und lassen Sie preload aus dem HSTS-Header, bis Sie gelesen haben, worauf es Sie festlegt.

    03 Zeile für Zeile

    Was jede Direktive macht

    Jede Zeile aus dem Block oben einzeln, damit Sie weglassen können, was nicht passt, statt etwas einzufügen, das Sie nicht erklären können.

    Strict-Transport-Security

    Was sie macht. Legt Browser darauf fest, Ihre Seite zwei Jahre lang nur über HTTPS zu erreichen. Fügen Sie es erst hinzu, wenn HTTPS auf jeder Subdomain funktioniert, denn includeSubDomains deckt auch Hosts ab, die Sie vergessen haben.

    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
    Zum ausführlichen Ratgeber

    Content-Security-Policy

    Was sie macht. Beschränkt jede Ressource auf Ihren eigenen Ursprung und verbietet das Einbetten. Das ist die Zeile, die auf einer echten Seite am ehesten etwas kaputt macht, und die einzige, die eine Report-Only-Runde davor verdient.

    Header always set Content-Security-Policy "default-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'"
    Header always set Content-Security-Policy-Report-Only "default-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; report-uri /csp-report"
    Zum ausführlichen Ratgeber

    X-Frame-Options

    Was sie macht. Verhindert, dass Ihre Seiten irgendwo eingebettet werden. Nehmen Sie SAMEORIGIN, wenn ein Teil Ihrer eigenen Seite einen anderen einbettet.

    Header always set X-Frame-Options "DENY"
    Zum ausführlichen Ratgeber

    X-Content-Type-Options

    Was sie macht. Sagt dem Browser, Ihren angegebenen Inhaltstypen zu vertrauen, statt sie zu erraten. Es gibt keine Seite, auf der dieser Wert falsch wäre.

    Header always set X-Content-Type-Options "nosniff"

    Referrer-Policy

    Was sie macht. Sendet die vollständige Adresse innerhalb Ihrer eigenen Seite und nach außen nur die bloße Domain. Der richtige Wert für nahezu jede öffentliche Website.

    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Zum ausführlichen Ratgeber

    Permissions-Policy

    Was sie macht. Schaltet Kamera, Mikrofon, Standort, Bezahlfunktion und USB-Zugriff für Ihre Seiten und alles Eingebettete ab. Erweitern Sie die Liste, statt sie zu kürzen: eine Funktion, die Sie nicht nennen, bleibt verfügbar.

    Header always set Permissions-Policy "geolocation=(), camera=(), microphone=(), payment=(), usb=()"
    Zum ausführlichen Ratgeber

    04 Nachprüfen

    Erst das Modul einschalten, dann die Antwort lesen

    mod_headers zu aktivieren und die Konfiguration zu testen beweist nur, dass Apache startet. Ob ein Header bei einem Browser ankommt, ist eine eigene Frage, und auf Shared Hosting ist es die einzige, die Sie beantworten können, weil Sie die Serverkonfiguration oberhalb Ihrer .htaccess nicht sehen.

    a2enmod headers && apachectl configtest && systemctl reload apache2 curl -sI https://example.com | grep -i "^strict-transport\|^content-security\|^x-frame"

    Prüfen Sie neben der Startseite auch eine Fehlerseite. Header set gilt nur für erfolgreiche Antworten; das always im Block oben ist das, was die Header auf 404- und 5xx-Antworten mitnimmt.

    Header im kostenlosen Scan prüfen

    05 Fragen

    Was zu Apache-Headern gefragt wird

    Ich habe den Block eingefügt und nichts hat sich geändert. Was nun?

    In neun von zehn Fällen ist mod_headers nicht aktiv, und weil die Direktiven in einem IfModule-Block stehen, überspringt Apache sie stillschweigend, statt sich zu beschweren. Auf dem eigenen Server behebt a2enmod headers plus Neuladen das; auf Shared Hosting ist es ein Support-Ticket.

    Was ist der Unterschied zwischen Header set und Header always set?

    set gilt nur für erfolgreiche Antworten. always gilt auch für Fehlerantworten, und genau diese Seiten möchten Sie am wenigsten ungeschützt ausliefern. Nehmen Sie always, sofern Sie keinen konkreten Grund dagegen haben.

    Macht .htaccess die Seite langsamer?

    Messbar, aber meist nicht spürbar: Apache sucht die Datei bei jeder Anfrage in jedem Verzeichnis des Pfades. Können Sie die Direktiven in den Virtual Host legen und AllowOverride abschalten, tun Sie das. Für eine übliche Seite auf Shared Hosting lohnt der Unterschied keine schlaflose Nacht.

    Unsere Anwendung sendet einige dieser Header schon. Gibt das einen Konflikt?

    Sie können doppelt in der Antwort landen, und Browser behandeln Doppelungen uneinheitlich. Entscheiden Sie sich für eine Ebene, Server oder Anwendung, und schalten Sie die andere ab. Header always unset gefolgt von Header always set erzwingt, dass der Server gewinnt.

    06 Im Detail

    Die Header im Einzelnen

    Diese Seite ist die Konfiguration. Diese Ratgeber erklären, was jeder Header wirklich macht und wie Sie seinen Wert wählen.

    HTTP-Security-Header

    Was jeder Response-Header bewirkt, welche Ihre Website senden sollte und wie Sie sie richtig konfigurieren.

    Ratgeber lesen

    Content Security Policy

    Der stärkste Schutz gegen Cross-Site-Scripting: welche Direktiven Sie setzen, wie Sie eine Richtlinie im Report-Only-Modus einführen und wie Sie erzwingend werden, ohne Ihre Website zu zerlegen.

    Ratgeber lesen

    HSTS

    Strict-Transport-Security erklärt: was max-age, includeSubDomains und preload wirklich bewirken und warum die Preload-Liste eine Entscheidung ist, die Sie nicht schnell zurücknehmen können.

    Ratgeber lesen

    Cookie-Sicherheit

    Secure, HttpOnly und SameSite: die Cookie-Attribute, die eine Sitzung vor Skripten und fremden Seiten schützen, samt Einstellungen für einen typischen Stack.

    Ratgeber lesen

    Clickjacking und X-Frame-Options

    Wie eine unsichtbare Überlagerung aus einem Besucherklick eine Aktion auf Ihrer Website macht, und die zwei Header, die das verhindern: X-Frame-Options für ältere Clients, frame-ancestors für alles andere.

    Ratgeber lesen

    Referrer-Policy

    Welcher Teil Ihrer URLs an fremde Seiten geht, wenn ein Besucher weiterklickt: die fünf Werte, die zählen, was jeder davon preisgibt und welcher der sinnvolle Standard ist.

    Ratgeber lesen

    Permissions-Policy

    Kamera, Mikrofon, Standort und Bezahlfunktion für Ihre Website und alle eingebetteten Inhalte abschalten: die Syntax der Positivliste und warum eine nicht genannte Funktion keine abgeschaltete Funktion ist.

    Ratgeber lesen

    SPF, DMARC und DNSSEC

    Die Einträge, die verhindern, dass jemand in Ihrem Namen Mails verschickt, und der, der Ihre DNS-Antworten ehrlich hält: was jeder leistet und in welcher Reihenfolge Sie sie einführen.

    Ratgeber lesen

    security.txt

    Die Datei, die Sicherheitsforschern sagt, wohin eine Schwachstelle gemeldet wird. Zwei Pflichtfelder, zehn Minuten Arbeit, und der Unterschied zwischen einer privaten und einer öffentlichen Meldung.

    Ratgeber lesen

    Security-Header überwachen

    Ein Header, der heute stimmt, kann nach dem nächsten Deploy fehlen. Drei Wege, das zu bemerken: ein Cronjob mit curl, eine Prüfung in Ihrer CI-Pipeline und ein geplanter Scan, jeweils mit dem, was er findet und was nicht.

    Ratgeber lesen

    CSP-Änderungen erkennen

    Wie sich eine Richtlinie durch Deploys, Plugins und CDN-Regeln unbemerkt ändert und wie Sie es merken: ein Header-Diff, Verstoßmeldungen über report-to und was ein Scan-Vergleich zeigen kann und was nicht.

    Ratgeber lesen

    Weiterlesen

    Jeder Ratgeber steht für sich, zusammen decken sie ab, worauf unser Scanner schaut. Wählen Sie den, der Ihrer nächsten Frage am nächsten kommt.

    Ist Ihre Website betroffen? BFSG-Check Erklärung zur Barrierefreiheit BFSG für Onlineshops BFSG für Arztpraxen BFSG für Hotels BFSG für Handwerker HTTP-Security-Header Datenschutz-Signale Content Security Policy HSTS Cookie-Sicherheit Clickjacking und X-Frame-Options Referrer-Policy Permissions-Policy SPF, DMARC und DNSSEC security.txt Security-Header überwachen CSP-Änderungen erkennen Security-Header in nginx Security-Header in WordPress Security-Header in IIS Security-Header in TYPO3 Security-Header in Shopware 6 Security-Header in Plesk Alle Ratgeber

    Sehen Sie, welche Header Apache wirklich sendet

    Unser kostenloser Quickscan liest die Header aus Ihrer ausgelieferten Antwort und nicht aus Ihrer Konfigurationsdatei, und erklärt jeden Befund verständlich.

    Website scannen Letzte Scans
    Aktuelle Scans Ratgeber Ortsligen Preise Methodik Für Hoster API Datenschutz Impressum Barrierefreiheit AGB Verträge hier kündigen © 2026 Erseni