8 en-têtes de sécurité HTTP que vous devez utiliser pour améliorer la sécurité

Publié: 2022-04-08

L'en-tête de sécurité HTTP est l'une des parties les plus basiques mais les plus puissantes de la sécurité Web. Grâce à ces mesures de sécurité, vous pourrez faire passer la sécurité de votre application Web au niveau supérieur. Il défend votre site Web de toutes les attaques que votre site Web doit probablement rencontrer.

Ces en-têtes de sécurité HTTP sont si puissants que lorsque vous les activez, ils protègent votre site Web de certaines attaques courantes telles que le détournement de clics, l'injection de code, les scripts intersites et bien d'autres.

Ainsi, dans cet article, nous vous expliquerons tout sur la liste des en-têtes de sécurité HTTP, comment ils peuvent être bénéfiques et comment vous pouvez les mettre en œuvre.

Restez à l'écoute et commençons !

Table des matières
Qu'est-ce que l'en-tête de sécurité HTTP ?
Pourquoi avez-vous besoin d'implémenter l'en-tête de sécurité HTTP ?
Exécuter la vérification des en-têtes de sécurité
Liste des en-têtes de sécurité HTTP les plus importants
Comment implémenter le correctif HTTP Security Headers Vulnerability sur votre site Web ?
Résumé
Questions fréquemment posées

Qu'est-ce que l'en-tête de sécurité HTTP ?

Fondamentalement, un en-tête de sécurité HTTP est un ensemble de commandes ou de directives qui sont échangées entre votre navigateur Web (ou tout client Web) et un serveur Web pour spécifier les détails liés à la sécurité de la communication HTTP. Ces échanges ou partages d'informations font partie du protocole HTTP. Ces commandes ou directives permettent à votre navigateur de savoir ce qui est autorisé à afficher ou non, pour votre site Web, afin d'assurer sa sécurité et aucune injection de logiciels malveillants.

Ces commandes d'en-tête de sécurité HTTP aident à protéger à la fois le navigateur Web et votre site Web contre toute menace de sécurité telle que les attaques de pirates ou l'injection de code malveillant . Ainsi, cette stratégie de sécurité agit comme un système de défense global.

Pourquoi avez-vous besoin d'implémenter l'en-tête de sécurité HTTP ?

Comme vous l'avez déjà remarqué, de nombreux articles et rapports ont circulé sur Internet au sujet de l'augmentation maximale des cyberattaques et des cas de violation de données au cours des dernières années. Et l'un des principaux coupables de tous ces incidents qui se produisent est de mauvaises mesures de sécurité et des erreurs de configuration.

Ces en-têtes de sécurité HTTP aident à arrêter certaines des attaques de pirates informatiques les plus courantes, les injections de logiciels malveillants, le détournement de clics, l'injection de scripts malveillants, etc. Ils fournissent une couche de protection supplémentaire en limitant certaines activités entre le serveur et le navigateur Web, tandis que l'application Web est course.

Bien qu'il y ait eu de nombreux en-têtes HTTP disponibles, le point est celui que vous devez implémenter pour obtenir une meilleure protection. Comme toute technologie Web qui évolue avec le temps, de nouveaux en-têtes HTTP apparaîtront et disparaîtront en fonction de la prise en charge du navigateur.

Il devient donc essentiel pour vous de décider quel en-tête HTTP vous devez implémenter et lequel ne pas, mais pour l'instant, vous devez implémenter ces 8 listes d'en-têtes de sécurité HTTP afin de pouvoir vous protéger contre certaines des menaces les plus courantes.

En plus de cela, l'en-tête HTTP Security peut également aider à améliorer le score SEO de votre site Web.

Exécuter la vérification des en-têtes de sécurité

Avant de poursuivre, la première chose à faire est d'effectuer une vérification de l'en-tête de sécurité sur votre site Web. Grâce à cela, il vous sera facile de voir quels sont les en-têtes de sécurité essentiels manquants sur votre site Web.

Pour ce faire, vous devez visiter le site Web des en-têtes de sécurité et entrer l'adresse de votre site Web comme indiqué dans l'image ci-dessous :

Run HTTP security headers check

Lorsque vous entrez l'URL de votre site Web et appuyez sur le bouton Analyser, un rapport complet sera généré, indiquant tous les en-têtes de sécurité HTTP manquants, le cas échéant, en rouge, et une note indiquant la sécurité de votre site Web.

HTTP security header scan results

À partir de l'image ci-dessus, vous pouvez voir les en-têtes de sécurité HTTP non détectés. que nous avons expliqué et répertorié ci-dessous.

Liste des en-têtes de sécurité HTTP les plus importants

Laissez-nous vérifier certains des en-têtes de sécurité HTTP les plus importants que vous devez implémenter sur vos applications Web pour améliorer la sécurité et activer une couche de protection supplémentaire.

1. Options de cadre X

Pour la première fois, Microsoft a introduit les options X-Frame dans son explorateur Internet Microsoft, ce qui aide à se protéger contre l'injection de scripts malveillants ou les attaques de scripts intersites. Cet en-tête de sécurité HTTP protège les iFrames de votre site Web en demandant aux navigateurs de demander s'ils doivent ou non traiter l'iFrame sur le site Web.

Il protège principalement de toutes les attaques de détournement de clic dans lesquelles un attaquant implémente plusieurs couches sur un lien ou un bouton pour rediriger les utilisateurs vers une autre page et voler leurs informations vitales.

Syntaxe à suivre :

Explication des instructions :

DENY : Cette directive ne permettra pas à iFrame de rendre

SAMEORIGIN : ​​cette directive permettra de rendre les iFrames uniquement avec la même origine.

ALLOW- FROM : cette directive autorise le rendu d'iFrame uniquement à partir d'une URL particulière.

2. Sécurité stricte du transport

L'en-tête Strict-Transport-Security ou HTTPS Strict Transport Security aide à protéger contre les attaques MIM et le détournement de cookies lorsqu'il est activé. Cette directive oblige le navigateur à utiliser HTTPS plutôt que la communication HTTP.

Laissez-nous comprendre comment cela fonctionne si vous exécutez un site Web sur HTTP et migrez vers celui-ci sur HTTPS. Vos anciens visiteurs essaieront toujours d'accéder à l'ancienne URL avec HTTP. Puisque vous avez déjà migré votre site Web vers HTTPS, l'ancienne URL le redirigera vers la nouvelle.

Mais le fait est que vos visiteurs peuvent toujours accéder à la version non cryptée de votre site Web avant de se rediriger vers la nouvelle URL cryptée. Entre le processus, les pirates ont la possibilité de faire des attaques MIM ou Man in the middle.

Mais lorsque vous activez Strict-Transport-Security, le navigateur recevra des instructions pour ne pas charger les sites Web HTTP plutôt que pour forcer le navigateur à communiquer via HTTPS.

Syntaxe à suivre :

Instructions Explication

max-age=<expire-time> : Cette directive vous permet de décider pendant combien de temps (en secondes) le navigateur peut y accéder via HTTPS.

max-age=<heure d'expiration> ; includeSubDomains : Si cette directive est mentionnée, cela signifie que la règle ci-dessus s'applique également à tous les sous-domaines du site Web.

max-age=<heure d'expiration> ; preload : cette directive indique que le site Web a été répertorié dans la liste globale des sites HTTPS.

3. Politique de sécurité du contenu

Cet en-tête de sécurité HTTP demande au navigateur de charger uniquement les contenus mentionnés dans la stratégie. Cela signifie que vous aurez le pouvoir de contrôler les ressources de votre site Web et d'autoriser les navigateurs à ne charger que les ressources de contenu que vous avez ajoutées à la liste blanche.

Il aide les navigateurs à décider d'où charger les ressources de contenu telles que les scripts, les images ou le CSS. Si vous parvenez à implémenter cet en-tête de sécurité HTTP avec succès, il protégera votre site Web contre le détournement de clics, les scripts intersites (XSS) et toute injection de code malveillant.

Bien qu'il ne garantisse pas une protection à 100%, il aide à prévenir et à limiter les dommages éventuels. Même, la majorité des navigateurs identifient maintenant ce problème grave et ont commencé à le prendre en charge.

Syntaxe à suivre :

Explication des instructions

<policy-directive> : vous pouvez inclure n'importe quelle directive de stratégie telle que script-src(CSS) , img-src (Images) ou style-src (feuille de style) et leur permettre de se charger.

4. Options de type de contenu X

Ce type d'en-tête vous permet de restreindre ou d'empêcher le reniflage de type MIME en indiquant au navigateur que les types MIME sont délibérément configurés sur le serveur. Fondamentalement, dans le reniflage MIME, il offre aux attaquants la possibilité d'injecter n'importe quel script malveillant exécutable.

Par exemple, un attaquant a injecté une ressource malveillante qui a modifié la réponse d'une autre ressource innocente, par exemple des images. En raison du reniflage MIME, le navigateur arrête de rendre le type de contenu d'image plutôt que de commencer à exécuter les ressources malveillantes qui ont été injectées.

Lorsque vous activez cet en-tête, il confiera et forcera le navigateur à suivre uniquement les types MIME qui ont été spécifiés dans les en-têtes Content-type. De cette façon, vous pouvez facilement protéger et empêcher les attaques par injection de script malveillant ou par script intersite.

Syntaxe à suivre :

Explication des instructions :

La directive nosniff bloquera immédiatement une requête si la destination de la requête de type :

  • style
  • Le type MIME n'est pas text/CSS ou type Script
  • Le type MIME n'est pas le type JavaScript MIME

5. Politique de parrainage

Cette sécurité d'en-tête vous permettra de contrôler si les informations du référent doivent être révélées ? Si oui, de combien.

Cependant, pour les autres demandes, le navigateur ne partagera que des informations sur l'origine.

Syntaxe à suivre :

Explication des instructions :

origin-when-cross-origin : le navigateur partagera des informations de référence complètes pour les demandes de même origine et d'autres demandes, le navigateur ne partagera que l'origine.

no-referrer-when-downgrade : le navigateur ne partagera pas les informations de référence lors de l'envoi de l'en-tête Referrer pour les demandes vers des destinations moins sécurisées.

6. Fonctionnalité ou politique d'autorisation

Cet en-tête de sécurité permet à un site Web de décider de fournir ou non l'accès à une fonctionnalité ou une API particulière sur le navigateur. Avec l'aide de cet en-tête, vous pouvez facilement contrôler la fonctionnalité de n'importe quelle application sur votre navigateur, qui peut porter atteinte à votre vie privée et ne l'autoriser que si vous la trouvez légitime et nécessaire.

Par exemple, si vous ne souhaitez pas que le site Web accède à votre microphone, votre webcam ou votre emplacement et que vous souhaitez restreindre leur fonctionnalité en suivant la syntaxe ci-dessous :

syntaxe à suivre :

Explication des instructions :

La <directive> peut être n'importe quoi, comme l'accéléromètre, la lecture automatique, le capteur de lumière ambiante, la batterie, l'appareil photo, le microphone ou la géolocalisation.

tandis que <allowlist> est une liste d'origines, qui peut prendre une ou plusieurs valeurs telles que 'none', 'self' etc. mises séparément. Pour votre information, vous pouvez consulter la liste complète des directives et la liste des autorisations à partir d'ici.

7. Domaine croisé autorisé par X

À l'aide de cet en-tête de sécurité HTTP, vous pouvez donner des instructions au navigateur et contrôler toutes les requêtes provenant de plusieurs domaines. Lorsque vous activez cet en-tête, vous limiterez votre site Web au chargement de ressources de site Web inutiles provenant d'autres domaines. Pour que les ressources du site Web puissent être utilisées efficacement.

Cet en-tête de sécurité est facultatif et il n'est pas nécessaire de les avoir, mais il est bon de les installer et de les activer.

Syntaxe à suivre :

8. Protection XSS

La protection XSS ou l'en-tête de protection contre les scripts intersites sont introduits pour se protéger des attaques de scripts intersites. Ces attaques sont considérées comme très courantes et efficaces, c'est pourquoi la majorité des navigateurs Web ont activé la protection XSS par défaut.

Lorsqu'un attaquant tente d'infecter un site Web en injectant du code javascript malveillant lors d'une requête HTTP pour voler des informations confidentielles telles que des données de transaction, des données personnelles, etc. eux immédiatement.

Cependant, ce filtre n'était disponible que sur les anciens navigateurs, et il est maintenant devenu inutile pour les navigateurs modernes. Surtout si vous avez déjà mis en place une très bonne politique de sécurité et qu'il est bon d'aller de l'avant et de l'avoir au cas où vos visiteurs utilisent encore d'anciens navigateurs, qui ne comprennent pas la politique de sécurité du contenu.

Syntaxe à suivre :

Explication:

0 - cela désactivera la protection XSS

1 – Activer la protection XSS

1; mode=block - Empêche les navigateurs de charger entièrement la page Web, lorsqu'une attaque de script intersite est détectée.

1; report=<reporting-uri> – Lorsqu'une attaque XSS est détectée, la partie non sécurisée sera bloquée par le navigateur et signalée

Comment implémenter le correctif HTTP Security Headers Vulnerability sur votre site Web ?

Si votre fournisseur de services d'hébergement Web vous permet d'avoir accès à l'un des deux fichiers .htaccess ou wp-config.php. Ensuite, il peut être facile d'implémenter un correctif de vulnérabilité d'en-tête de sécurité HTTP sur votre site Web en ajoutant les en-têtes de sécurité HTTP n'importe où.

Chez WPOven , vous fournirez un accès SSH, grâce auquel vous pourrez facilement accéder au gestionnaire de fichiers et modifier votre fichier .htaccess .

Étape 1 : Vous devez d'abord activer l'accès SSH pour le site. Pour ce faire, vous devez accéder au site à partir du tableau de bord WPOven .

ssh 1 8 HTTP Security Headers You Must Use To Enhance Security

Accédez à la section "Outils" .

ssh 2 8 HTTP Security Headers You Must Use To Enhance Security

Ensuite, à partir de la section "Outils" , vous devez appuyer sur le bouton "Activer l'accès SSH" en bas de la page.

ssh 3 8 HTTP Security Headers You Must Use To Enhance Security

Étape 2 : Une fois l'accès SSH activé pour le site, vous pouvez alors vous connecter via des applications tierces comme Putty ou PenguiNet en utilisant les identifiants de connexion SFTP de votre site

Cependant, vous pouvez également accéder à votre fichier .htaccess ou wp-config.php, directement via un client FTP connu sous le nom de File Zilla.

Tout ce que vous avez à faire est de suivre ces étapes ci-dessous :

  1. Tout d'abord, vous devez vous connecter à votre site Web WordPress à l'aide du client FTP. Cela vous permettra de modifier votre fichier .htaccess. Ce fichier se trouve dans le répertoire racine de votre site WordPress.
  2. Si le fichier .htaccess n'est pas visible, vous voudrez peut-être archiver les fichiers cachés.
  3. Il n'est pas nécessaire d'avoir un éditeur spécial, vous pouvez écrire le code dans n'importe quel éditeur de texte tel que le Bloc-notes.
  4. Vous devez écrire ce code et l'ajouter au fichier .htaccess. Il est conseillé de l'ajouter à la fin du fichier .htaccess.
  5. Lorsque vous trouvez le site, téléchargez-le sur votre disque local, puis ouvrez-le dans n'importe quel éditeur de texte. L'option la plus simple est un bloc-notes standard. Ajoutez le code suivant en bas du fichier :

Modifiez les attributs, les directives et les valeurs selon vos besoins, enregistrez-les et téléchargez-les.

Alternativement, vous pouvez également accéder aux fichiers de configuration de votre serveur Web et appliquer ces en-têtes de sécurité. Cependant, si vous n'aimez pas apporter de modifications par vous-même et que vous êtes un client WPOven, vous pouvez ouvrir un ticket d'assistance et nous pouvons le faire rapidement pour vous.

Résumé

À partir du message ci-dessus, vous pouvez voir à quel point il est important d'avoir un en-tête de sécurité HTTP activé sur votre site Web. Et dans quelle mesure ils fournissent un renforcement de la sécurité du site Web. Cependant, ces sécurités ont été implémentées par défaut dans les navigateurs les plus récents et les plus avancés disponibles. Mais encore, il n'y a aucune raison pour laquelle j'ai trouvé que vous ne devriez pas les utiliser.

Si vous n'avez pas accès aux serveurs de votre site Web, vous trouvez cela difficile. Il est toujours préférable de demander l'aide de professionnels. Il est préférable de contacter votre fournisseur d'hébergement Web et de lui demander d'implémenter des en-têtes de sécurité HTTP sur votre site Web.

Questions fréquemment posées

Les en-têtes HTTP sont-ils sécurisés ?

Oui, les en-têtes de sécurité HTTP sont l'une des directives de renforcement de la cybersécurité les plus importantes. Toutes les informations contenues dans les en-têtes HTTP sont cryptées.

Quels sont les en-têtes qui ajoutent de la sécurité ?

Certains des en-têtes qui ajoutent de la sécurité au site Web sont :
1. Options de cadre X
2. Sécurité stricte du transport
3. Politique de sécurité du contenu
4. Options de type de contenu X
5. Politique de parrainage
6. Fonctionnalité ou politique d'autorisation
7. Domaine croisé autorisé par X
8. Protection XSS

Qu'est-ce que l'en-tête CSP ?

L'en-tête CSP ou Content Security Policy indique au navigateur de ne charger que les contenus mentionnés dans la stratégie. Cela signifie que vous aurez le pouvoir de contrôler les ressources de votre site Web et d'autoriser les navigateurs à ne charger que les ressources de contenu que vous avez ajoutées à la liste blanche.