close
Kaspersky Endpoint Security

Welcome to

Kaspersky Endpoint Security


By Kaspersky Endpoint Security


Mule ESB



Die Implementierung Inhalt Security Policy (CSP)

Geschrieben von am 25. März 2015 (0)
Inhalt Sicherheitspolitik ist ein Browser-Funktion, die uns unsere Anwendungen sicherer machen können indem sie uns helfen Cross-Site-Scripting (XSS) und Content-Injection-Angriffe zu verhindern. Die Art und Weise sie dies tut, ist, indem sie uns die Kontrolle über, wo die Ressourcen aus geladen und ausgeführt werden. Auch wenn, sollten Sie immer Ihre Anwendungen entwickeln des Worst-Case-Szenario zu denken (Der Browser nicht CSP unterstützen). Die goldene Sicherheitsregel für Web-Anwendungen ist: Filter Eingang, Ausgang entkommen. Aktivieren der CSP erfordert, dass wir unseren Server zu konfigurieren, um einen Header zu unserem Dokument Antwort hinzuzufügen. Die restriktivsten (und sicherste) Wert für diesen Header wäre: 1 Content-Security-Politik: default-src 'none'; Diese Politik ist zu restriktiv für alle wirklichen Leben Anwendungen, weil es im Grunde alles blockiert. Sie laden können auf jede beliebige Skripte, CSS oder Bilder aus einer beliebigen Domäne nicht (einschließlich der Domäne, von der das Dokument abgerufen wurde), und Sie werden keine Inline-Skripten oder Stile sind in der Lage zu. Wenn Sie ein neues Projekt beginnen, würde ichempfehlen Sie mit dieser restriktiven Szenario beginnen und fügen Sie Ausnahmen (Ich werde erklären, wie dies später zu tun), wie Sie sie benötigen. Wenn Sie bereits eine App, wo Sie CSP implementieren möchten empfehle ich Ihnen, durch Zugabe von Reporting mit diesem Header zu starten: 1 Content-Security-Politik-Report-Only: default-src 'none'; Dies wird einen Fehler an der Konsole anmelden genau wie die, die Sie mit dem Content-Security-Politik-Header erhalten, aber es werden alle Inhalte erlauben geladen und ausgeführt werden. Auf diese Weise können erste Berichterstattung in Ihrer Anwendung aktivieren können, beheben dann alle Fragen, und wenn Sie festgelegt haben alle von ihnen CSP ermöglichen. Ein besserer Ansatz wäre es, ein Reporting-URL zu ermöglichen, die der Browser Verletzungen zu berichten verwenden. Sie können für einige Zeit diesen Header in Ihrer Produktion App oder Website aktivieren, bevor Sie die komplette Umstellung auf CSP machen und auf diese Weise werden Sie wissen, wenn Sie weiße Liste vergessen, eine Ressource. auch eine Berichterstattung URL Aktivierung hilft Ihnen, XSS-Schwachstellen in Ihrer Anwendung vor Ort, so dass es eine gute Idee ist, es trotzdem zu aktivieren. Diesist, wie Sie es tun würde: 1 Content-Security-Politik-Report-Only: default-src 'none'; report-uri / Reporting-Endpunkt Ein Bericht Anfrage sieht wie folgt aus: 1 2 3 4 5 6 7 8 9 10 11 { "csp-report": { "document-uri": "," Referrer ":" "," verletzt -Richtlinie ":" default-src 'none' "," effective-Richtlinie ":" Skript-src "," Original-Politik ":" default-src 'none'; report-uri / Reporting-Endpunkt "," blockiert-uri ":", "Status-Code": 200}} Sobald Sie genug über Ihre App wissen, dass Sie weiße Liste bereit sind, einige Domains, die Sie ein paar Richtlinien verwenden können, zu tun damit. Die am häufigsten verwendeten Richtlinien sind: Standard-src - Gilt für alle Ressourcen. Wenn Sie weiße Liste eine Domäne dieser Direktive können Sie Skripte zu laden, CSS, Bilder, etc. Ich empfehle diese Richtlinie auf "none" und nur weiße Liste der Dinge, die Sie wirklich brauchen. script-src - Scripts geladen mit dem Skript-Tag. Stil-src - Styles mit dem Link-Tag geladen. img-src - Bilder mit dem img-Tag geladen. Du kannst habenein mehr über die verfügbaren Optionen zu lernen. Hier ist ein Beispiel für einen Server-Header einschließlich einige der verfügbaren Richtlinien: 1 Content-Security-Politik: default-src 'none'; report-uri / Reporting-Endpunkt; script-src "Selbst"; Stil-src Bevor Sie CSP auf Ihrer Website ausführen und implementieren es ein paar wichtige Dinge, die Sie wissen sollten. In der Standardeinstellung deaktiviert CSP die folgenden Funktionen: Eval: Dies könnte harmlos klingen, weil Sie nicht mit eval sein könnte auf Ihrem Code. Es gibt einige sehr beliebte Frameworks gibt, die stark eval. Dies ist sehr häufig speziell für Templating-Systeme. Überprüfen Sie für CSP-Unterstützung auf Ihrem Frameworks und Bibliotheken, bevor Sie den Schalter. Vorbei Strings setTimeout und setInterval: Das wird nicht möglich sein: 1 setTimeout ( "alert (" Hallo ")", 10); Sie haben es zu etwas zu wechseln wie: 1 2 3 setTimeout (function () {alert ( 'Hallo');}, 10); Anbringen Veranstaltungen inline: Sie werden Ereignisse nicht in der Lage sein inline zu befestigen. Zum Beispiel wird dies nicht funktionieren: 1<Onclick = "doSomething ()"> </> Verwendung von JavaScript-Links: Sie sollten diese ohnehin nicht tun, aber falls Sie sind. Das wird nicht funktionieren: 1 <href = "javascript: doSomething ()"> etwas tun </> Fehlerbehebung Beachten Sie, dass Sie einfache Anführungszeichen verwenden, um Schlüsselwörter zu wickeln. Doppelte Anführungszeichen wird nicht funktionieren. Dies funktioniert: 1 Content-Security-Politik: default-src 'none'; Dies gilt nicht: 1 Content-Security-Politik: default-src "none"; Verwandte Links:

gfi Endpoint-Security 2013     Endpoint-Security-10 Fenster 10

Categories and tags