web-dev-qa-db-fra.com

Configurez votre IIS serveur pour utiliser l'en-tête "Content-Security-Policy"

Je dois ajouter des en-têtes personnalisés dans IIS pour "Content-Security-Policy", "X-Content-Type-Options" et "X-XSS-Protection".

J'obtiens la procédure pour ajouter ces en-têtes mais je ne sais pas quelle devrait être la valeur de ces clés. https://technet.Microsoft.com/pl-pl/library/cc753133 (v = ws.10) .aspx

http://content-security-policy.com/

Veuillez suggérer. Merci

12
Gerry

De cet article , il semblerait que vous définissiez votre politique de sécurité du contenu (et, à son tour, remplissez ces en-têtes) directement dans votre fichier de configuration IIS. L'exemple donné dans le poste lié,

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Content-Security-Policy" value="default-src 'self';" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

montre comment procéder; dans votre fichier de configuration, dans la section httpProtocol, ajoutez une entrée à la collection customHeaders contenant le nom (ie "Content-Security-Policy" et une valeur définissant le CSP que vous souhaitez implémenter. l'exemple donné, un CSP très simple est implémenté, qui ne permet que le chargement des ressources du site local (self).

La deuxième ressource que vous avez liée répertorie les différentes options que vous pouvez utiliser dans votre customHeader et des exemples de leurs valeurs valides. La seule chose à retenir est que les options suivantes doivent être séparées par ; Et la chaîne doit se terminer par un ; Final.

20
F. Stephen Q

Une vieille question mais puisque google vous dépose ici ...

J'ai trouvé un excellent "constructeur" pour les options CSP:

https://report-uri.io/home/tools/

Maintenant, cela semble être une "réponse de lien uniquement" mais en fait, le lien est un éditeur CSP entièrement construit, vous cliquez sur les cases, sélectionnez vos sites Web dont vous avez besoin dans votre CSP et la chaîne CSP revient configurée pour vous (copiez simplement et collez le résultat dans votre en-tête pour Content-Security-Policy). Je ne pouvais pas espérer répliquer la fonctionnalité dans cette réponse d'où le lien.

7
AngryCarrotTop

Open Web Application Security Project (OWASP) a quelques exemples de Content-Security-Policy et quelques liens utiles sur leur Content Security Policy Cheat Sheet under Preventing Clickjacking :

Pour empêcher tout cadrage de votre utilisation de contenu:

Content-Security-Policy: frame-ancestors 'none' 

Pour autoriser uniquement votre site, utilisez:

Content-Security-Policy: frame-ancestors 'self' 

Pour autoriser un domaine approuvé (my-trusty-site.com), procédez comme suit:

Content-Security-Policy: frame-ancestors my-trusty-site.com

Mozilla Developers Network a une syntaxe complète et des exemples pour les deux Content-Security-Policy et X-ContentTypeOptions :

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

X-Content-Type-Options: nosniff

Voici un exemple X-XSS-Protection :

X-XSS-Protection: 1; mode=block
6
JohnC

Sur Server 2012 R2:

  1. Ouvrez IIS Manager.
  2. Cliquez sur IIS Server Home.
  3. DoubleClick sur les en-têtes de réponse HTTP.
  4. Cliquez sur Ajouter sous Actions à droite.
  5. Ajoutez le nom et les valeurs.
1
Masud Khan