slanted W3C logo
Cover page images (jdll logo)

Migration vers HTTPS des serveurs Web du W3C
- retour d'expérience

José Kahan, W3C
jose.kahan(at)w3.org





Hit the space bar or swipe left for next slide

Protection d'une application Web

network context overview

Nous ne traiterons pas là l'authentification et le contrôle d'accès aux ressources privées

Les serveurs web du W3C

swimmer in the sea of documents

source: http://wellorderedlife.com/691/

Protection des échanges réseaux

HTTPS: Obstacles

HTTPS: Première étape HSTS

HTTPS: Problème Mixed Content

ff webconsole

source: https://developer.mozilla.org/en-US/docs/Security/Mixed_content

HTTPS: Deuxième étape Upgrade-Insecure-Requests (UIR)

HTTPS: Deuxième étape UIR (suite)

Protection contre contenu frauduleux

network context overview

Problème: Injection du contenu
(Cross-Site Scripting - XSS)

Solution: filtrer le contenu

obfuscated xss

source: http://www.slideshare.net/BradHill2/w3-conf-hillhtml5securityrealities-22563779

Content Security Policy (CSP)

Mode d'emploi

Content-Security-Policy:
   default-src *.w3.org;
   script-src  *.w3.org https://jquery.com;
     |           |
     V           V
  directive   valeur(s)
csp example

Notifications d'incidents CSP sur la console

firefox web console

Exemple: clickjacking

Directives CSP

default-srcTout sauf frames
font-srcfontes
img-srcimages
media-srcaudio + vidéo
object-srcplugins
script-srcscripts
style-srcCSS
form-actionformulaires
frame-ancestorsframes
plugin-typesMIME types autorisés pour les plugins
base-uriHTML base
child-srcworkers, frames
connect-srcContenu récupéré par XMLHttpRequest (XHR)
sandboxÉquivalent à HTML5 iframes sandbox
report-uriEnvoi de rapports de violation de politique

Report-only

Content-Security-Policy-Report-Only:
   default-src *.w3.org;
   font-src    *.w3.org https://fonts.gstatic.com data:;
   script-src  *.w3.org https://jquery.com;
   report-uri  https://www.w3.org/my_csp_report/test_fonts

Exemple de rapport CSP


{
    "csp-report": {
        "document-uri": "https://www.w3.org/blog/2008/10/understanding-http-put/embed/",
        "referrer": "https://intojava.wordpress.com/",
        "violated-directive": "script-src *.w3.org 'unsafe-inline'",
        "effective-directive": "script-src",
        "original-policy": "default-src *.w3.org; img-src *; style-src ...",
        "blocked-uri": "https://www.w3.org",
        "source-file": "https://www.w3.org",
        "line-number": 8,
        "column-number": 688,
        "status-code": 0
    }
}

Refactorisation de l'application

Exemple de refactorisation

CSP: Résumé d'experience

L'autorisation des requêtes script inter-origine

inter-origin resource sharing

Requêtes inter-origines avec CORS

Exemple CORS

Exemple CORS (suite)

Politique CORS au W3C

Conclusions

Références / outils

Migration vers HTTPS des serveurs
Web du W3C - retour d'expérience

Cover page images (jdll logo)

Merci !   Questions ?


https://www.w3.org/Talks/2016/0402-jdll-lyon-jk/

José Kahan, W3C
jose.kahan(at)w3.org




Last modified: Sun Apr 3 15:18:20 CEST 2016