Difference between revisions of "Content Security Policy Cheat Sheet"

From OWASP
Jump to: navigation, search
Line 22: Line 22:
 
== Apache ==
 
== Apache ==
  
Header set X-Content-Type-Options "nosniff"
+
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
+
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
+
Header set X-Frame-Options "SAMEORIGIN"
Header set Strict-Transport-Security "max-age=631138519"
+
Header set Strict-Transport-Security "max-age=631138519"
Header unset Content-Security-Policy
+
Header unset Content-Security-Policy
Header add Content-Security-Policy-Report-Only <whatever the policy
+
Header add Content-Security-Policy-Report-Only <whatever the policy ends up being>
ends up being>
+
  
==nginx==
+
== nginx ==
 
   
 
   
 
  add_header X-Content-Type-Options "nosniff";
 
  add_header X-Content-Type-Options "nosniff";
Line 38: Line 37:
 
  add_header Content-Security-Policy-Report-Only <whatever the policy
 
  add_header Content-Security-Policy-Report-Only <whatever the policy
 
  ends up being>
 
  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 =
 
= Authors and Primary Editors =

Revision as of 23:56, 29 January 2014

Contents

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>

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