Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

HSTS et en-têtes de sécurité pour votre site web

À chaque page, votre serveur web envoie des en-têtes (headers) : de courtes lignes contenant des instructions pour le navigateur. Elles déterminent en partie le niveau de sécurité avec lequel le navigateur traite votre site. Vous découvrirez ici ce qu'est HSTS, quels sont les autres en-têtes de sécurité et comment les configurer et les tester.

Votre site doit d'abord disposer d'un certificat fonctionnel et rediriger les visiteurs vers https. Pour cela, consultez Activer et renouveler un certificat SSL et résoudre les problèmes et Rediriger obligatoirement les visiteurs vers https.

À quoi sert HSTS ?

La redirection vers https présente un point faible : la première requête via http n'est pas encore chiffrée. Une personne connectée au même réseau, par exemple sur un wifi public, peut intercepter cette requête. HSTS (HTTP Strict Transport Security) résout ce problème. Votre site envoie via https l'en-tête suivant :

Strict-Transport-Security: max-age=31536000

Le navigateur retient alors qu'il ne peut ouvrir votre site que via https. Si un visiteur saisit plus tard http://, le navigateur le transforme lui-même en https, avant même que quoi que ce soit ne transite sur le réseau. Le navigateur ignore un en-tête HSTS reçu via une simple connexion http.

ÉlémentSignification
max-ageDurée pendant laquelle le navigateur retient l'instruction, en secondes. Le test d'internet.nl considère qu'au moins un an (31536000) est suffisant.
includeSubDomainsS'applique également à tous les sous-domaines, comme shop.votredomaine.nl et mail.votredomaine.nl.
preloadVous demandez l'inscription sur la liste intégrée aux navigateurs (hstspreload.org). Même la toute première visite est alors protégée. Cela nécessite notamment une durée d'un an, includeSubDomains et https sur tous les sous-domaines. En sortir prend beaucoup de temps.
max-age=0Efface l'instruction mémorisée, lors de la prochaine visite via https.
N'activez HSTS que lorsque https fonctionne partout. Si un navigateur a mémorisé HSTS et rencontre une erreur de certificat, le visiteur ne dispose d'aucun bouton pour continuer malgré tout. Si votre certificat expire ou n'est pas valide pour www, votre site reste inaccessible pour ces visiteurs jusqu'à la résolution du problème. Avec includeSubDomains, cela vaut aussi pour chaque sous-domaine, comme une ancienne page de caméra ou d'imprimante sans certificat. Procédez donc progressivement : commencez avec un max-age court, par exemple un jour (86400), vérifiez que tout fonctionne, puis augmentez par étapes jusqu'à un an.

HSTS chez WebOké

Sur la plupart de nos serveurs, le serveur web envoie HSTS par défaut pour chaque site web ouvert via https : Strict-Transport-Security: max-age=31536000. Cela correspond à un an, sans includeSubDomains et sans preload. Vous n'avez rien à faire pour cela. Sur quelques serveurs, cette option n'est pas activée par défaut ; vous devez alors l'activer vous-même. Pour savoir si votre site envoie déjà HSTS et avec quel max-age, consultez les outils de développement de votre navigateur ou le test d'internet.nl (voir ci-dessous).

L'interrupteur HSTS dans DirectAdmin

Dans DirectAdmin, accédez à Domain Setup et cliquez sur votre nom de domaine. Si Secure SSL est activé, vous verrez à côté de HSTS l'interrupteur Enable HTTP Strict Transport Security. Cliquez ensuite sur Save pour enregistrer. La procédure détaillée est décrite dans Toujours rediriger les visiteurs vers https.

Si votre site envoie déjà HSTS, vous n'avez pas besoin de cet interrupteur. Activez-le uniquement si votre site n'envoie pas encore HSTS. Configurez HSTS à un seul endroit : dans DirectAdmin ou dans .htaccess, pas les deux. Si le navigateur reçoit deux en-têtes HSTS, il n'utilise que le premier.

Les autres en-têtes de sécurité

En-têteProtège contreValeur de départ
X-Content-Type-OptionsLe navigateur devine lui-même la nature d'un fichier, si bien qu'une « image » téléversée peut être exécutée comme un script.nosniff (la seule valeur valide)
Content-Security-Policy: frame-ancestors ou X-Frame-OptionsLe clickjacking : un autre site charge votre page de manière invisible dans un cadre, de sorte que les visiteurs cliquent sur vos boutons à leur insu.frame-ancestors 'self', ou l'ancien en-tête X-Frame-Options: SAMEORIGIN
Referrer-PolicyLors d'un clic vers un autre site, le navigateur transmet l'adresse de la page précédente, contenant parfois un terme de recherche ou un numéro de commande.strict-origin-when-cross-origin, ou plus strict same-origin ou no-referrer. Internet.nl ne considère comme bonnes que les valeurs strictes.
Permissions-PolicyDétermine quelles fonctions du navigateur votre page et les cadres intégrés peuvent utiliser, comme la caméra, le microphone et la localisation.camera=(), microphone=(), geolocation=() désactive ces trois fonctions. Si votre site utilise l'une d'elles, retirez-la.
Content-Security-Policy (complet)Limite les emplacements depuis lesquels les scripts, styles et images peuvent être chargés. Cela rend l'injection de scripts malveillants (XSS) beaucoup plus difficile.Sur mesure pour chaque site. Évitez unsafe-inline, unsafe-eval et les caractères génériques (wildcards).

Configuration dans .htaccess

Placez ces lignes en haut du fichier .htaccess dans le dossier public_html de votre domaine. Faites d'abord une copie du fichier.

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  # Uniquement si votre site n'envoie pas encore HSTS (voir ci-dessus) :
  # Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>

N'ajoutez includeSubDomains que si vous êtes certain que chaque sous-domaine dispose de https. Si vous utilisez WordPress, vous pouvez également configurer les en-têtes à l'aide d'une extension. Choisissez une extension reconnue et toujours mise à jour, et configurez chaque en-tête à un seul endroit : dans l'extension ou dans .htaccess.

Une Content-Security-Policy complète peut casser votre site : une règle trop stricte bloque par exemple vos statistiques, votre bouton de paiement, une vidéo intégrée ou votre fenêtre de chat. Testez-la d'abord avec l'en-tête Content-Security-Policy-Report-Only. Celui-ci ne bloque rien, mais affiche dans la console du navigateur ce qui serait bloqué. En cas de doute, confiez cette tâche à votre développeur web, ou commencez uniquement par frame-ancestors.

Sur un VPS avec nginx ou Caddy

Sur un VPS, vous n'utilisez pas DirectAdmin et souvent pas non plus de .htaccess. Vous configurez alors les en-têtes dans les paramètres de votre serveur web. Aucun des deux n'envoie HSTS ni ces en-têtes automatiquement.

nginx : dans le bloc server pour le port 443 :

add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "frame-ancestors 'self'" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Avec always, les en-têtes sont également envoyés avec les pages d'erreur. Attention : si un bloc location contient lui-même un add_header, les règles du bloc server ne s'appliquent plus à cette location. Répétez-les alors à cet endroit, ou placez-les dans un fichier distinct que vous insérez partout avec include. Testez la configuration avec nginx -t et chargez-la avec systemctl reload nginx.

Caddy : dans le bloc de votre site dans le Caddyfile :

header {
	Strict-Transport-Security "max-age=31536000"
	X-Content-Type-Options "nosniff"
	Content-Security-Policy "frame-ancestors 'self'"
	Referrer-Policy "strict-origin-when-cross-origin"
}

Chargez la modification avec systemctl reload caddy. Pour la mise en place d'un site avec nginx ou Caddy, consultez nginx avec un certificat Let's Encrypt et Caddy : un site web avec https automatique dans le guide VPS.

Tester

  • Internet.nl : saisissez votre domaine dans le test de site web sur internet.nl.
  • Votre navigateur : ouvrez votre site, appuyez sur F12 (ou choisissez Inspecter), accédez à l'onglet Réseau, rechargez la page et cliquez sur la première requête. Sous En-têtes de réponse (Response Headers), vous voyez tout ce que votre serveur envoie.
  • La ligne de commande : curl -sI https://votredomaine.nl/ affiche les en-têtes.

Après chaque modification, vérifiez que votre site, vos formulaires et votre page de paiement fonctionnent toujours. Veillez également à maintenir à jour votre CMS, vos extensions et vos thèmes. Consultez Sécuriser wp-login.php de WordPress.

Pour aller plus loin

Envie d'en savoir plus ? Suivez le cours gratuit Sécurité en ligne pour les entrepreneurs, leçon 4.2 Votre site web : https, HSTS et en-têtes de sécurité, ou le cours gratuit WordPress, leçon 7.4 Renforcer la sécurité du site : droits, en-têtes et extensions de sécurité.

Cet article vous a-t-il été utile ?

← Retour à DirectAdmin et panneau de contrôle WebOké

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…