Difference between revisions of "Content Security Policy Cheat Sheet"

From OWASP
Jump to: navigation, search
Line 5: Line 5:
 
= 80% Solution Policy =
 
= 80% Solution Policy =
  
default-src 'self'; font-src data: 'self'; img-src data: https:
+
This allows inline javascript and styles while ensuring flash and mixed content can't happen.
'self'; media-src *; object-src 'none'; script-src 'self'
+
'unsafe-inline'; style-src 'self' 'unsafe-inline'; report-uri ???
+
  
This allows inline javascript and styles while ensuring flash and
+
default-src 'self'; font-src data: 'self'; img-src data: https:
mixed content can't happen.
+
'self'; media-src *; object-src 'none'; script-src 'self'
 +
'unsafe-inline'; style-src 'self' 'unsafe-inline'; report-uri ???
  
 
[todo] adding eval
 
[todo] adding eval
Line 16: Line 15:
 
[todo] Add instructions for google analytics/translation
 
[todo] Add instructions for google analytics/translation
  
Configurations
+
= Configurations =
====
+
  
 
[todo] add context around these examples and where they would go in a
 
[todo] add context around these examples and where they would go in a
 
config file.
 
config file.
  
Apache
+
== Apache ==
----
+
  
 
Header set X-Content-Type-Options "nosniff"
 
Header set X-Content-Type-Options "nosniff"

Revision as of 22:56, 29 January 2014

Introduction

Introduction to CSP here.

80% Solution Policy

This allows inline javascript and styles while ensuring flash and mixed content can't happen.

default-src 'self'; font-src data: 'self'; img-src data: https:
'self'; media-src *; object-src 'none'; script-src 'self'
'unsafe-inline'; style-src 'self' 'unsafe-inline'; report-uri ???

[todo] adding eval [todo] adding a CDN, for example [todo] Add instructions for google analytics/translation

Configurations

[todo] add context around these examples and where they would go in a config file.

Apache

Header set X-Content-Type-Options "nosniff" Header set X-XSS-Protection "1; mode=block" Header set X-Frame-Options "SAMEORIGIN" Header set Strict-Transport-Security "max-age=631138519" Header unset Content-Security-Policy Header add Content-Security-Policy-Report-Only <whatever the policy ends up being>

nginx

add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options "SAMEORIGIN"; 
add_header Strict-Transport-Security "max-age=631138519"; 
add_header Content-Security-Policy-Report-Only <whatever the policy
ends up being>

This is a subtopic. Its about topic 1 but not really so I made it a subtopic.

Another subtopic

Authors and Primary Editors

Neil Mattatall - neil[at]owasp.org

Other Cheatsheets

OWASP Cheat Sheets Project Homepage

Developer Cheat Sheets (Builder)

Assessment Cheat Sheets (Breaker)

Mobile Cheat Sheets

OpSec Cheat Sheets (Defender)

Draft Cheat Sheets