Skip to content

CSP generation. #6

Description

@amcgregor

An extension which can collect endpoint-provided hints during dispatch and enforce certain minimums.

Recommendations

  • object-src 'none'; by default. Flash is dead. Don't be the one to resurrect it.

  • Levels of default security profiles:

    • Open / development mode. Permit everything.
    • Restrictive / diagnostic mode. Deny virtually everything, with log collection.
    • Strict. Disallow most aspects not required for basic site usage, and only permit the "essentials" from self and in-page.
    • Safe. A reasonable set of default policies.
  • Allowed resource sources for CSS, JS, and Fonts collectable during request preparation.

Resources

Sample CSPs

CEGID / Illico Hodes RITA

default-src 'self';
img-src *;
script-src 'self' 'unsafe-inline' unpkg.com www.google-analytics.com;
style-src 'self' 'unsafe-inline' unpkg.com fonts.googleapis.com fonts.gstatic.com;
font-src 'self' fonts.googleapis.com fonts.gstatic.com;
object-src 'none';
connect-src 'self' www.google-analytics.com;

Facebook

default-src * data: blob: 'self';
script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self';
style-src data: blob: 'unsafe-inline' *;
connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self';
upgrade-insecure-requests;
report-uri https://www.facebook.com/csp/reporting/;

LinkedIn

default-src *;
connect-src 'self' https://media-src.linkedin.com/media/ www.linkedin.com s.c.lnkd.licdn.com m.c.lnkd.licdn.com s.c.exp1.licdn.com s.c.exp2.licdn.com m.c.exp1.licdn.com m.c.exp2.licdn.com wss://*.linkedin.com dms.licdn.com https://dpm.demdex.net/id https://lnkd.demdex.net/event blob: static.licdn.com static-exp1.licdn.com static-exp2.licdn.com static-exp3.licdn.com media.licdn.com media-exp1.licdn.com media-exp2.licdn.com media-exp3.licdn.com;
img-src data: blob: *;
font-src data: *;
style-src 'unsafe-inline' 'self' static-src.linkedin.com *.licdn.com;
script-src 'report-sample' 'unsafe-inline' 'unsafe-eval' 'self' spdy.linkedin.com static-src.linkedin.com *.ads.linkedin.com *.licdn.com static.chartbeat.com www.google-analytics.com ssl.google-analytics.com bcvipva02.rightnowtech.com www.bizographics.com sjs.bizographics.com js.bizographics.com d.la4-c1-was.salesforceliveagent.com slideshare.www.linkedin.com https://snap.licdn.com/li.lms-analytics/insight.min.js platform.linkedin.com platform-akam.linkedin.com platform-ecst.linkedin.com platform-azur.linkedin.com;
object-src 'none';
media-src blob: *;
child-src blob: lnkd-communities: voyager: *;
frame-ancestors 'self';
report-uri https://www.linkedin.com/platform-telemetry/csp?f=l

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions