Votre site peut-il être intégré par un autre ?
Le clickjacking cache votre vraie page dans un cadre invisible sur un autre site, si bien qu'un visiteur clique sur vos boutons sans le savoir. Collez une URL pour voir si d'autres sites peuvent l'intégrer dans un cadre, et si cela met vos visiteurs en danger.
- X-Frame-Options
- CSP frame-ancestors
Voici l'URL chargée dans un cadre sur notre page, exactement comme le ferait un attaquant. Si vous voyez la page, n'importe quel site peut faire de même. Si le cadre affiche une erreur comme "refused to connect", votre navigateur l'a bloquée.
Cette URL utilise du http simple, que les navigateurs ne chargent pas dans une page https, donc le cadre reste vide dans tous les cas. Fiez-vous au verdict des en-têtes ci-dessus.
Comment corriger
Envoyez un Content-Security-Policy avec frame-ancestors, ainsi que X-Frame-Options pour les anciens navigateurs. Ajoutez les deux sur le serveur web placé devant votre site.
nginx
add_header Content-Security-Policy "frame-ancestors 'self'" always;
add_header X-Frame-Options "SAMEORIGIN" always;
Apache
Header always set Content-Security-Policy "frame-ancestors 'self'"
Header always set X-Frame-Options "SAMEORIGIN"
Vous utilisez Odoo ? Choisissez 'self' plutôt que 'none' : l'éditeur du site web affiche vos propres pages dans un cadre sur le même domaine. CICDoo active ces en-têtes par défaut sur chaque instance qu'il déploie.
Comment fonctionne l'attaque
Votre page, les clics d'un autre
Un cadre invisible
L'attaquant charge votre vraie page dans un iframe transparent et la place au-dessus d'un leurre, comme un bouton de gain ou un lecteur vidéo.
Un vrai clic
Le visiteur est déjà connecté à votre site. Son clic atterrit sur votre page : il approuve un paiement, change un e-mail ou accorde un accès.
Un seul en-tête suffit
frame-ancestors ou X-Frame-Options indique au navigateur quels sites peuvent vous intégrer dans un cadre. Sans eux, le navigateur l'autorise à tout le monde.
FAQ
Vos questions, nos réponses
Que vérifie ce test ?
Nous demandons l'URL depuis notre serveur et lisons deux en-têtes de réponse : X-Frame-Options et la directive frame-ancestors de Content-Security-Policy. La page charge aussi l'URL dans un cadre pour que vous voyiez le résultat dans votre propre navigateur.
Quel en-tête utiliser ?
frame-ancestors est le standard moderne et l'emporte dès qu'il est présent. Gardez aussi X-Frame-Options pour les anciens navigateurs. Utilisez 'self' pour n'autoriser que votre propre domaine, ou 'none' pour bloquer tout cadre.
Pourquoi le cadre est-il vide ?
Certains sites bloquent l'intégration, affichent une page vide aux visiteurs inconnus ou utilisent du http simple, que les navigateurs refusent de charger dans une page https. Le verdict des en-têtes ne dépend pas de votre navigateur.
Mon site est-il vulnérable s'il peut être intégré dans un cadre ?
Pas forcément. Le clickjacking exige une page avec une action qui compte, comme un paiement ou une modification de paramètres, un visiteur connecté et un cookie de session que le navigateur envoie dans un cadre sur un autre site. Les navigateurs actuels retiennent les cookies sans SameSite=None, donc une page intégrée se charge généralement déconnectée. Les en-têtes valent quand même la peine : ils ferment la porte pour de bon et les audits de sécurité les vérifient.
ALLOW-FROM est-il encore pris en charge ?
Non. Les navigateurs actuels ignorent X-Frame-Options ALLOW-FROM. Pour autoriser certains sites partenaires, listez-les plutôt dans frame-ancestors.
Conservez-vous l'URL ?
Nous ne conservons qu'une trace de la requête pour limiter la fréquence, ni l'URL ni le résultat.
Des en-têtes de sécurité auxquels vous n'avez plus à penser.
CICDoo fait tourner Odoo sur des serveurs qui vous appartiennent, avec protection contre l'intégration en cadre, SSL, connexion à deux facteurs, sauvegardes et une analyse de sécurité quotidienne de chaque instance.
Aucun frais par utilisateur. Vos serveurs restent les vôtres.