HTACCESS Einstellung Content-Security-Policy

  • Welche Einstellung nutzt Ihr, damit das ganze System sicherer wird.


    Wenn ich dies in den Header mache, zerschießt es mit das Style.

    Header set Content-Security-Policy "default-src 'none'; frame-src 'self'; font-src 'self';img-src 'self' siwecos.de; object-src 'self'; script-src 'self'; style-src 'self';"



    Wenn ich dies eingebe, geht es, aber ist dann wohl nicht ganz so sicher:

    Header set Content-Security-Policy "default-src https: data: 'unsafe-inline' 'unsafe-eval' 'self' meine-Domain.de"


    Da erhalte ich bei SIWECOS.de folgende Meldung


    Überprüfung der Content Security Policy (CSP)
    Mehr Informationen

    Content Security Policy unsicher

    Die Content-Security-Policy ist eine strukturierte Vorgehensweise, welches das Injizieren und Ausführen von evtl. bösartigen Befehlen in einer Webanwendung (Injection-Angriffe) mildern soll. Es stellt über eine Whitelist dar, von welchen Quellen z.B. Javascript, Bilder, Schriftarten und andere Inhalte auf Ihrer Seite eingebunden werden dürfen.

    Mehr Informationen

    • Der Header ist unsicher gesetzt, da er `unsafe-inline`- oder `unsafe-eval`-Direktiven enthält.

  • Servus,


    Ohne unsafe-inline wird es für "normale" Webmaster und "normale" Websites sehr schwierig. Moderne CMS nutzen an verschiedensten Stellen Inline-Styles oder Inline-Skripte, das konsequent zu vermeiden (bzw. entsprechende Workarounds in Form von hashes zu nutzen) ist komplex und mit Joomla 3.x von Haus aus nur schwer machbar. Es geht zwar prinzipiell (siehe siwecos.de, das ist ein aktuelles Joomla 3.x, Code siehe https://github.com/siwecos/siwecos-website), aber ist wenig praktikabel weil z.B. viele Werkzeuge der WYSIWYG Editoren damit nicht mehr funktionieren.


    Der Kampf um die "fehlenden" 2 Punkte ehrt dich, aber auch ohne hast du schon sehr viel mehr getan, als der große Rest der Web-Welt.


    LG

    David

  • Als Randnotiz dazu noch folgendes: Mit Joomla 4.0 und der Kombination aus com_csp und plg_system_httpheaders kann der Joomla Core auch mit Nonces umgehen und somit alle inline styles und scripts welche über die Joomla API angebunden sind entsprechend markieren und freigeben. Als gute Vorbereitung kann man sich daher vornehmen alle inline styles und scripts über die Joomla API einzubinden.