1. Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.
    Information ausblenden

XF1+2 CSP und andere Security Headers - wie handhabt ihr das Thema?

Dieses Thema im Forum "Fehler, Fragen und Antworten" wurde erstellt von otto, 28. Nov. 2018.

  1. otto

    otto Bekanntes Mitglied Lizenzinhaber

    CSP - Content Security Police und all die anderen Security Headers - wie handhabt ihr das Thema.

    Hier mal ein Beispiel meiner aktuellen Einstellungen in der .htaccess eines meiner Foren:

    Code (Text):

    ServerSignature Off
    Header set Content-Security-Policy: "default-src https: 'unsafe-inline' 'unsafe-eval'; img-src 'self'"
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    Header always set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header append X-Frame-Options "SAMEORIGIN"
    Header always edit Set-Cookie (.*) "$1; HttpOnly; Secure"
    Header always unset "X-Powered-By"
    Header set Referrer-Policy "origin-when-cross-origin"
    Header set Expect-CT "max-age=0; report-uri=https://www.domain.de/reportOnly"
    Header always set Feature-Policy "geolocation none; midi none;notifications none; push none; sync-xhr none; microphone none; camera none; magnetometer none; gyroscope none; speaker self; vibrate none; fullscreen self; payment none"
     
    upload_2018-11-28_13-12-27.png upload_2018-11-28_13-13-23.png
    Das Ergebnis ist noch verbesserungswürdig - ja, aber wohl besser als gar nichts. ;)

    Wer seine Seite Testen mag: Analyse your HTTP response headers

    Mit der Content Security Police tu ich mich schwer, da man da echt genau hinschauen muss, was man einstellt, da man sonst die Seite in deren Funktion schnell mal unversehens einschränkt, bis hin zum nicht mehr möglichen Login... :D ;)

    Welche Einstellungen nutzt ihr also?
    Nutzt ihr die Headers überhaupt?


    Edit: @McAtze es wäre manches mal von Vorteil, keine Wahl zwischen XF 1.5 und 2.x treffen zu müssen, wie in diesem Thema z.B.. Vielleicht kann man das ja etwas weniger restriktiv machen? :)
     
  2. Tealk

    Tealk Bekanntes Mitglied Lizenzinhaber

    Zum Thema Security Headers habe ich ja hier schon einmal etwas geschrieben.

    Wenn ein unsafe-inline genutzt wird, kann man das CSP eig. gleich weg lassen. Leider gibt es bei XF keine Möglichkeit das sicher einzustellen. :'(

    So würde ich es schreiben:
    Code (Text):
    Content-Security-Policy: "default-src 'none'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'"
    Wichtig ist dabei, wenn man externe Scripts einbindet müssen die dort auftauchen z.B.:
    Code (Text):
    script-src 'self' 'unsafe-inline' https://url.de/piwik.js;
    Und das das CSP bei dir nicht geladen wird liegt glaub ich an dem "https:" das du da drin verwendest. Das kann so nicht richtig sein.


    Bei Expect-CT funktioniert das report-uri= nur wenn du es über Welcome to report-uri.com nutzt und das macht das ganze eig. wieder unbrauchbar.
    Mehr dazu findest du hier.


    Ich würde Referrer-Policy "origin-when-cross-origin" in Referrer-Policy "same-origin" ändern.

    PS: Mir fehlt dieser Inline Code so sehr :'(
     
    Zuletzt bearbeitet: 28. Nov. 2018
    otto gefällt das.
  3. McAtze

    McAtze Innendienst Lizenzinhaber

    Ist mir gestern auch schon aufgefallen. Werde ich nachher mal anpassen.
     
    otto gefällt das.
  4. otto

    otto Bekanntes Mitglied Lizenzinhaber

    Genau genommen ist die Zeile bei mir auskommentiert - die CSP Zeile hatte ich mal irgendwo her zum Testen kopiert - frag mich lieber nicht.

    Was mich halt stutzig gemacht hatte - auf Xenforo.com steht mehrfach zu lesen, das Xenforo CSP nicht unterstützen würde, weil da auch andere schon danach gefragt hatten. Wie das mit 2.x ist kann ich immo noch nicht sagen, ich komm einfach nicht zum testen ... so ohne deutsches Sprachpaket. :D ;) ;) *duckundwech*

    Zum Rest schon mal danke, ich versuch mal am WE paar Minuten abzuzweigen das mal genauer zu verstehen. Der Teufel steckt halt im Detail.

    @McAtze
    Dankefein. :)
     
  5. otto

    otto Bekanntes Mitglied Lizenzinhaber

    @Tealk
    Deine CSP produziert bei mir in beiden Foren dieses:
    upload_2018-11-28_19-39-9.png
    Ich kontakte mich wie da steht nun mal selbst und frage mich: warum? ;)
     
  6. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    XF nutzt Inline JS, damit kannst Du CSP im Grunde knicken da witzlos.

    Man könnte natürlich etwas basteln was serverseitig die Inline-Codeblöcke mit Hashes versieht und diese Whitelisten, aber damit gewinnt man nichts - man drückt damit quasi unbekanntem Code einen Stempel "ist sauber" auf.

    Ist eigentlich noch schlechter als gar kein CSP.

    Und sobald irgendwo Werbung ins Spiel kommt die über selbstgehostete Images hinausgeht kann man es im Grunde erst recht knicken.
     
    Zuletzt bearbeitet: 28. Nov. 2018
    otto gefällt das.
  7. Tealk

    Tealk Bekanntes Mitglied Lizenzinhaber

    @otto also wenn du Referrer-Policy abänderst und CSP weg lässt sieht das ganze eig. gut aus.
    Unterstützt ist da das falsche Wort eig. Naja ich kenn kaum ein CMS das durch CSP nicht zerstört wird.

    Code (Text):

    # Add security and privacy related headers
    <IfModule mod_env.c>
        Header set X-XSS-Protection "1; mode=block"
        Header set X-Robots-Tag "all"
        Header set X-Download-Options "noopen"
        Header set X-Permitted-Cross-Domain-Policies "none"
        Header set Referrer-Policy "same-origin"
        Header set Content-Security-Policy: "default-src 'none'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'"
        Header set Expect-CT "enforce, max-age=21600"
        Header set Set-Cookie "^(.*)$ $1;HttpOnly;Secure"
        SetEnv modHeadersAvailable true
    </IfModule>
     
    Folgendes funktioniert bei mir ohne den genannten Fehler.

    Und ja wie @Kirby schon sagt, CMS und CSP vertragen sich nicht. Lasst es einfach weg, ist besser für die Useability

    Teilweise OOT:
    Was aber auch ein sehr wichtiger Punkt für das ganze ist, ist die TLS Konfiguration. Gibt es hier auch einen sehr guten Text zu.
     
    Zuletzt bearbeitet: 28. Nov. 2018
    otto gefällt das.
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden