Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment implémenter les ancêtres des cadres CSP dans Apache, Nginx et WordPress?

cadre csp
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Protégez votre site Web contre les attaques de clic en mettant en œuvre l'en-tête CSP (Content Security Policy)

CSP est l'un des 10 principaux en-têtes sécurisés de l'OWASP et est souvent recommandé par les experts en sécurité ou les outils pour l'implémenter. Il existe de nombreuses options pour créer la stratégie afin d'appliquer la manière dont vous souhaitez exposer vos ressources Web.

L'une des directives appelées frame-ancestors qui ont été introduits dans CSP version 2 donne plus de flexibilité par rapport à la En-tête X-Frame-Options. frame-ancestors fonctionne de la même manière que les options X-Frame pour autoriser ou interdire l'intégration des ressources à l'aide de iframe, frame, object, embed et applet element.

Je pense que X-Frame-Options sera obsolète dans un proche avenir lorsque CSP sera entièrement compatible avec tous les principaux navigateurs. Au moment où j'écris, Ancêtres du cadre CSP fonctionne avec toutes les dernières versions de navigateur sauf IE.

Je ne sais pas quand Microsoft autorisera le support sur IE. Vous pouvez toujours vérifier la compatibilité du navigateur sur Puis-je utiliser le site.

Jetons un coup d'œil à la procédure de mise en œuvre suivante.

Apache HTTP

mod_headers est le prérequis pour injecter des en-têtes dans Apache. Selon le système d'exploitation et la version, mais si vous utilisez Ubuntu et Apache 2.4, vous pouvez utiliser a2enmod headers pour l'activer.

root@geekflare:/etc/apache2# a2enmod headers
Enabling module headers.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@geekflare:/etc/apache2# systemctl restart apache2
root@geekflare:/etc/apache2#

Notez les: toute la configuration que vous pouvez faire soit httpd.conf fichier ou tout fichier de configuration efficace que vous utilisez.

REFUSER DE TOUS

Similaire à X-Frame-Options DENY. Si vous ne souhaitez pas qu'un site (y compris soi-même) soit intégré, ajoutez ce qui suit.

Header set Content-Security-Policy "frame-ancestors 'none';"

Enregistrez le fichier et redémarrez Apache HTTP pour prendre effet.

J'ai essayé d'intégrer le site et comme vous pouvez le voir, il était bloqué.

Permettre de soi mais REFUSER les autres

Similaire à X-Frame-Options SAMEORIGIN, vous pouvez ajouter ce qui suit.

Header set Content-Security-Policy "frame-ancestors 'self';"

Autoriser de soi et de plusieurs domaines

X-Frame-Options n'avait pas d'option pour autoriser à partir de plusieurs domaines. Grâce à CSP, vous pouvez faire comme ci-dessous.

Header set Content-Security-Policy "frame-ancestors 'self' 'geekflare.com' 'gf.dev' 'geekflare.dev';"

Ce qui précède permettra au contenu d'être intégré à partir de self, geekflare.com, gf.dev, geekflare.dev. Changez ces domaines avec le vôtre.

Nginx

Le concept et la directive sont les mêmes que ceux expliqués ci-dessus dans la section HTTP Apache, sauf pour la façon dont vous ajoutez l'en-tête. Les en-têtes dans Nginx doivent être ajoutés sous le server bloc dans un fichier de configuration correspondant.

Nier tous

add_header Content-Security-Policy "frame-ancestors 'none';";

REFUSER tout mais pas soi-même

add_header Content-Security-Policy "frame-ancestors 'self';";

Autoriser à partir de plusieurs domaines

add_header Content-Security-Policy "frame-ancestors 'yoursite.com' 'example.com';";

L'exemple ci-dessus permettra d'intégrer du contenu sur yoursite.com et example.come. Après avoir apporté des modifications, n'oubliez pas de redémarrer le serveur Nginx pour tester la politique.

WordPress

Cela dépend de la façon dont vous hébergez WordPress.

Si vous êtes auto-hébergé comme un cloud ou un VPS, vous utilisez peut-être un serveur Web tel qu'Apache ou Nginx. Si tel est le cas, vous pouvez suivre ce qui précède pour implémenter dans le serveur Web au lieu de WordPress. Cependant, si vous sur l'hébergement mutualisé ou pas d'accès pour modifier les serveurs Web, vous pouvez alors utiliser un plugin.

Pour implémenter CSP dans WordPress, vous pouvez utiliser le Plug-in Content Security Policy Pro.

Vérification

Une fois que vous avez terminé la mise en œuvre, vous pouvez utiliser les outils de développement intégrés du navigateur ou un outil de test des en-têtes sécurisés.

Conclusion

CSP est l'un des puissants, en-têtes sécurisés pour éviter les vulnérabilités Web. J'espère que les instructions ci-dessus vous guideront sur la façon d'implémenter des ancêtres de cadres dans Apache et Nginx.

Merci à nos commanditaires
Plus de bonnes lectures sur Apache HTTP
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder