Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Csp vortrag

98 Aufrufe

Veröffentlicht am

Content Security Policy und TYPO3

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Csp vortrag

  1. 1. Content Security Policy ...
  2. 2. Content Security Policy ... … ist Ein Extra Sicherheits layer Eine Whitelist für Resourcen (Img, CSS, JavaScript, frames, embed, usw.) Ein Methode, um die XSS Angriffe zu blockieren. Keine komplette Sicherheitslösung Kein Ersatz für ein gut geplantes Framework Nicht nur ein Konzept
  3. 3. C.S.P
  4. 4. Was ist das überhaupt? C.S.P
  5. 5. Real-Life Beispiel Facebook content-security-policy:default-src * data: blob:;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' fbstatic- a.akamaihd.net fbcdn-static-b-a.akamaihd.net *.atlassolutions.com blob: data: 'self';style-src data: blob: 'unsafe-inline' *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* *.akamaihd.net wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* *.atlassolutions.com attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' chrome- extension://boadgeojelhgndaghljhdicfkmllpafd chrome- extension://dliochdbjfkdbacpmhlcpmleaejidimm;
  6. 6. Wann / Warum / Wie Was bedeutet dieser Text?! Warum soll ich CSP verwenden? Ist meine Seite unsicher ohne CSP? Wann kann ich es verwenden? Wie implementiere ich die Policy?
  7. 7. Was bedeutet dieser Text?! style-src data: blob: 'unsafe-inline' *; 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' fbstatic-a.akamaihd.net fbcdn- static-b-a.akamaihd.net *.atlassolutions.com blob: data: 'self';
  8. 8. Direktive – Default-src, script-src, style-src, frame-src, child-src Rules none | self | unsafe-inline | unsafe-eval sources (domains, subdomains, ports – with wildcard), hash values, nonces, data: , blob: Vollständige Liste: https://content-security-policy.com/
  9. 9. style-src data: blob: 'unsafe-inline' *; 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' fbstatic-a.akamaihd.net fbcdn- static-b-a.akamaihd.net *.atlassolutions.com blob: data: 'self';
  10. 10. Twitter is not kidding script-src https://connect.facebook.net https://cm.g.doubleclick.net https://ssl.google-analytics.com https://graph.facebook.com https://twitter.com 'unsafe-eval' https://*.twimg.com https://api.twitter.com https://analytics.twitter.com https://publish.twitter.com https://ton.twitter.com https://syndication.twitter.com https://www.google.com https://t.tellapart.com 'nonce- oTXceIjY2WZJtC0x3SNaFw==' https://platform.twitter.com https://www.google-analytics.com blob: 'self'; frame-ancestors 'self'; font-src https://twitter.com https://*.twimg.com data: https://ton.twitter.com https://fonts.gstatic.com https://maxcdn.bootstrapcdn.com https://netdna.bootstrapcdn.com 'self'; media-src https://rmpdhdsnappytv-vh.akamaihd.net https://prod-video-eu-central-1.pscp.tv https://v.cdn.vine.co https://dwo3ckksxlb0v.cloudfront.net https://twitter.com https://amp.twimg.com https://smmdhdsnappytv- vh.akamaihd.net https://*.twimg.com https://prod-video-eu-west-1.pscp.tv https://rmmdhdsnappytv-vh.akamaihd.net https://clips-media- assets.twitch.tv https://prod-video-us-west-2.pscp.tv https://prod-video-us-west-1.pscp.tv https://prod-video-ap-northeast-1.pscp.tv https://smdhdsnappytv-vh.akamaihd.net https://ton.twitter.com https://rmdhdsnappytv-vh.akamaihd.net https://mmdhdsnappytv- vh.akamaihd.net https://smpdhdsnappytv-vh.akamaihd.net https://prod-video-sa-east-1.pscp.tv https://mdhdsnappytv-vh.akamaihd.net https://prod-video-ap-southeast-2.pscp.tv https://mtc.cdn.vine.co https://dev-video-us-west-2.pscp.tv https://prod-video-us-east-1.pscp.tv blob: 'self' https://prod-video-ap-southeast-1.pscp.tv https://mpdhdsnappytv-vh.akamaihd.net https://dev-video-eu-west-1.pscp.tv; connect-src https://rmpdhdsnappytv-vh.akamaihd.net https://prod-video-eu-central-1.pscp.tv https://graph.facebook.com https://*.giphy.com https://dwo3ckksxlb0v.cloudfront.net https://vmaprel.snappytv.com https://smmdhdsnappytv-vh.akamaihd.net https://*.twimg.com https://embed.pscp.tv https://api.twitter.com https://prod-video-eu-west-1.pscp.tv https://rmmdhdsnappytv- vh.akamaihd.net https://clips-media-assets.twitch.tv https://prod-video-us-west-2.pscp.tv https://pay.twitter.com https://prod-video-us- west-1.pscp.tv https://analytics.twitter.com https://vmap.snappytv.com https://*.twprobe.net https://prod-video-ap-northeast-1.pscp.tv https://smdhdsnappytv-vh.akamaihd.net https://syndication.twitter.com https://sentry.io https://rmdhdsnappytv-vh.akamaihd.net https://media.riffsy.com https://mmdhdsnappytv-vh.akamaihd.net https://embed.periscope.tv https://smpdhdsnappytv-vh.akamaihd.net https://prod-video-sa-east-1.pscp.tv https://vmapstage.snappytv.com https://upload.twitter.com https://proxsee.pscp.tv https://mdhdsnappytv-vh.akamaihd.net https://prod-video-ap-southeast-2.pscp.tv https://dev-video-us-west-2.pscp.tv https://prod-video- us-east-1.pscp.tv 'self' https://vmap.grabyo.com https://prod-video-ap-southeast-1.pscp.tv https://mpdhdsnappytv-vh.akamaihd.net https://dev-video-eu-west-1.pscp.tv; style-src https://fonts.googleapis.com https://twitter.com https://*.twimg.com https://translate.googleapis.com https://ton.twitter.com 'unsafe-inline' https://platform.twitter.com https://maxcdn.bootstrapcdn.com https://netdna.bootstrapcdn.com 'self'; object-src https://twitter.com https://pbs.twimg.com; default-src 'self'; frame-src https://staticxx.facebook.com https://twitter.com https://*.twimg.com https://5415703.fls.doubleclick.net https://player.vimeo.com https://pay.twitter.com https://www.facebook.com https://ton.twitter.com https://syndication.twitter.com https://vine.co twitter: https://www.youtube.com https://platform.twitter.com https://upload.twitter.com https://s-static.ak.facebook.com https://4337974.fls.doubleclick.net https://8122179.fls.doubleclick.net 'self' https://donate.twitter.com; img-src https://prod-profile.pscp.tv https://graph.facebook.com https://prod-thumbnail.pscp.tv https://*.giphy.com https://twitter.com https://*.twimg.com https://ad.doubleclick.net data: https://clips-media-assets.twitch.tv https://lumiere-a.akamaihd.net https://fbcdn-profile-a.akamaihd.net https://www.facebook.com https://ton.twitter.com https://*.fbcdn.net https://syndication.twitter.com https://media.riffsy.com https://www.google.com https://prod-profile.periscope.tv https://stats.g.doubleclick.net https://platform.twitter.com https://api.mapbox.com https://www.google-analytics.com blob: https://prod-thumbnail-small.pscp.tv https://prod-thumbnail- small.periscope.tv 'self' https://prod-thumbnail.periscope.tv; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVZXO2LGOQ%3D %3D%3D%3D%3D%3D&ro=false;
  11. 11. Warum soll ich CSP verwenden? Es gibt immer wieder eine Überraschung: https://typo3.org/teams/security/security- bulletins/typo3-core/
  12. 12. Ist meine Seite unsicher ohne CSP? Keine Ahnung!!! 1) CSP ist nur ein Extra! 2) Code first! (Framework second?)
  13. 13. Wann kann ich es verwenden? Immer, aber... 1) Ohne vernünftige script-src macht es keinen Sinn 2) Beim script-src nur vorsichtig! Es blockiert: - Inline event handlers - XSLT - javascript: 3) Versteckte Plugins 4) Nicht trivial, was ein Script genau macht
  14. 14. Wie implementiere ich die Policy? 1) Statischer Inhalt und/oder Single Domain? Vhost / Htaccess 2) Dynamische Inhalte, Multi-Domain, Multi-Tree? z.B: Die Extension CSP https://extensions.typo3.org/extension/csp/
  15. 15. Hinweis .htaccess 1) TYPO3 BE braucht unsafe-inline, unsafe-eval 2) AdminPanel braucht unsafe-inline, unsafe-eval
  16. 16. CSP Extension DEMO
  17. 17. C.S.P FRAGEN ?!
  18. 18. THX Kontakt: Slack: ottoandras Twitter: OttoAndras E-Mail: typo3csp@gmail.com

×