L'injection de réponse HTTP avec l'en-tête sécurisé peut atténuer la plupart des vulnérabilités de sécurité Web.
Si vous gérez un environnement de production ou une application liée au paiement, l'équipe de test de sécurité / pénétration vous demandera également d'implémenter l'en-tête HTTP nécessaire pour vous conformer à la norme de sécurité PCI-DSS.
Avoir un en-tête sécurisé indique au navigateur de faire ou de ne pas faire certaines choses pour empêcher certaines attaques de sécurité.
La plupart d'entre vous utilisent peut-être un serveur Web comme Apache, Nginx, IIS devant Tomcat, vous pouvez donc implémenter les en-têtes directement dans le serveur Web.
Cependant, si vous n'avez pas de serveur Web en face ou devez implémenter directement dans Tomcat, alors bonnes nouvelles si vous utilisez Tomcat 8.
Tomcat 8 a ajouté la prise en charge des en-têtes de réponse HTTP suivants.
- X-Frame-Options - pour éviter les attaques de détournement de clic
- X-XSS-Protection - pour éviter les attaques de script intersite
- X-Content-Type-Options - bloquer le reniflement du type de contenu
- HSTS - ajoutez une sécurité de transport stricte
J'ai testé avec Apache Tomcat 8.5.15 on Océan numérique Serveur Linux (distribution CentOS).
Remarque : Si vous recherchez un renforcement et une sécurité globaux, vous pouvez consulter ce guide.
En tant que meilleure pratique, faire une sauvegarde du fichier de configuration nécessaire avant d'apporter des modifications ou de tester dans un environnement hors production.
- Connectez-vous au serveur Tomcat
- Allez dans le dossier conf sous le chemin où Tomcat est installé
- Décommentez le filtre suivant (par défaut, il est commenté)
httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter vrai
En décommentant ci-dessus, vous demandez à Tomcat de prendre en charge le filtre de sécurité d'en-tête HTTP.
- Ajoutez ce qui suit juste après le filtre ci-dessus
httpHeaderSecurity / *
En ajoutant ci-dessus, vous demandez à Tomcat d'injecter l'en-tête HTTP dans toutes les URL de l'application.
- Redémarrez le Tomcat et accédez à l'application pour vérifier les en-têtes.
Vous pouvez utiliser un outil en ligne pour vérifier l'en-tête ou utilisez F12 sur un navigateur pour inspecter.
Voici une référence de filtre rapide tirée d'un fichier web.xml.
L'activation de l'en-tête sécurisé dans Tomcat 8 est simple et, en tant qu'administrateur, vous devez prévoir de les implémenter pour une meilleure sécurité.
Si vous êtes nouveau sur Tomcat, vous voudrez peut-être prendre ce Cours d'administration Apache Tomcat.