Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Un petit mémo pour connaitre les en-têtes à ajouter dans la configuration du serveur web Nginx pour bloquer les attaques les plus courantes. Effectivement, que ce soit un CMS ou un site développé entièrement à la main peut contenir des failles, qui peuvent être exploitées par des personnes malveillantes. Afin de se protéger des exploits les plus courants, il sera ajouter des en-têtes qui seront exécutées par le navigateur internet. Les en-têtes sont soit ajoutées directement dans le fichier de configuration nginx.conf ou dans les différents « block server« . Un descriptif succinct est accompagné pour chaque en-tête. Cet en-tête permet de se protéger contre le détournement de clic (clickjacking) : add_header X-Frame-Options "SAMEORIGIN" always; Cet en-tête permet de faire une vérification stricte des types Mime. Elle n’accepte qu’une seule directive : nosniff. add_header X-Content-Type-Options nosniff; Cet en-tête permet d’activer les filtres anti-xss incorporés dans certains navigateurs. add_header X-XSS-Protection "1; mode=block"; L’en-tête CSP permet d’autoriser seulement les domaines déclarés à exécuter du script JavaScript, une feuille de style css, etc. Exemple pour WordPress avec gestion de sous domaine et accès aux fonts google : add_header Content-Security-Policy "default-src 'self' *.memo-linux.com; img-src 'self' data: http: https: *.memo-linux.com; font-src 'self' data: http: https: fonts.googleapis.com"; HSTS est un dispositif de sécurité par lequel un site web peut déclarer aux navigateurs qu’ils doivent communiquer avec lui en utilisant exclusivement le protocole HTTPS, au lieu du HTTP. De plus, cela permet d’éviter la réécriture de tous les chemins lorsqu’un site web passe au tout https. add_header Strict-Transport-Security "max-age=31536000; includeSubdomains"; Pour la prise en compte des ajouts dans la configuration du block serveur, il faut relancer le service nginx : systemctl restart nginx Avec l’aide de la commande curl, on va vérifier les différentes en-tètes : curl -I http://memo-linux.com HTTP/1.1 200 OK Server: nginx Date: Fri, 04 Sep 2015 10:29:21 GMT Content-Type: text/html; charset=UTF-8 Vary: Accept-Encoding X-Pingback: http://memo-linux.com/xmlrpc.php Content-Security-Policy: default-src 'self' *.memo-linux.com; img-src 'self' data: http: https: *.memo-linux.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.memo-linux.com; style-src 'self' 'unsafe-inline' http: https: fonts.googleapis.com; font-src 'self' data: http: https: fonts.googleapis.com X-Frame-Options: SAMEORIGIN X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Strict-Transport-Security: max-age=31536000; includeSubdomains X-Varnish: 887463 Age: 0 Via: 1.1 varnish-v4 Connection: keep-alive Pour plus d’infos : www.lexsi.com Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.