Comment durcir la sécurité Apache Tomcat

Comment durcir la sécurité Apache Tomcat
Apache Tomcat est un serveur d'applications Java gratuit et open source qui est rempli de fonctionnalités incroyables hors de la boîte. Bien que la sécurité d'Apache Tomcat se soit considérablement améliorée au fil des ans, cela ne signifie pas que ce n'est pas exploitable.

Dans ce guide, nous discuterons de différentes façons de sécuriser votre serveur Apache Tomcat. Les méthodes discutées dans ce guide sont les mieux adaptées à la production car vous pouvez ou non les exiger pendant le développement.

1 - Supprimer les informations du serveur

Un moyen simple d'augmenter la sécurité du serveur Apache Tomcat est de supprimer la bannière du serveur de la réponse HTTP. S'il est exposé, le drapeau pourrait fuir la version de Tomcat que vous utilisez, ce qui facilite la collecte d'informations sur le serveur et les exploits connus.

Dans les versions récentes de Tomcat (Tomcat 8 et plus), la bannière du serveur est désactivée par défaut. Cependant, si vous utilisez une version plus ancienne de Tomcat, vous devrez peut-être le faire manuellement.

Modifier le serveur.Fichier XML sous le répertoire confrent du répertoire d'installation Tomcat.

Localisez l'entrée du port du connecteur et supprimez le bloc de serveur.

Avant:

ConnectionTimeout = "20000"
server = ""
redirectport = "8443" />

Après:

ConnectionTimeout = "20000"
redirectport = "8443" />

Enregistrez le fichier et redémarrez le service Apache Tomcat.

2 - Activer SSL / TLS

SSL vous permet de servir les données entre le serveur et le client sur le protocole HTTPS. Pour utiliser SSL dans Tomcat, améliorant ainsi la sécurité, modifiez le serveur.Fichier XML et directive SSLenabled dans le port de connecteur comme:

ConnectionTimeout = "20000"
SsleNabled = "true" schéma = "https" keystorefile = "conf / key.jks "keystorepass =" mot de passe "clientAuth =" false "sslprotocol =" tls "
redirectport = "8443" />

L'entrée ci-dessus suppose que vous avez un stade de clés avec un certificat SSL.

3 - Ne pas exécuter Tomcat comme racine

Ne jamais exécuter Tomcat en tant qu'utilisateur privilégié. Cela vous permet de protéger le système en cas de service Tomcat compromis.

Créer un utilisateur pour exécuter le service Tomcat.

sudo useradd -m -u -d / home / tomcat -s $ (qui false) tomcat

Enfin, modifiez la propriété de l'utilisateur Tomcat créé.

Chown -r Tomcat: Tomcat / Home / Tomcat

4 - Utilisez le responsable de la sécurité

Il est bon d'exécuter le serveur Apache Tomcat à l'aide du gestionnaire de sécurité. Cela empêche les applets non fiables de fonctionner dans le navigateur.

./Commencez.SH-Sécurité

Vous trouverez ci-dessous un exemple de sortie:

Pour ce faire, utilisez le script Catalina avec le drapeau de la sécurité.
Utilisation de Catalina_Base: / Home / Debian / Apache-Tomcat-10.0.dix
Utilisation de Catalina_Home: / Home / Debian / Apache-Tomcat-10.0.dix
Utilisation de Catalina_tmpdir: / Home / Debian / Apache-Tomcat-10.0.10 / temp
Utilisation de jre_home: / usr
Utilisation de ClassPath: / Home / Debian / Apache-Tomcat-10.0.10 / bac / bootstrap.jar: / home / debian / apache-tomcat-10.0.10 / bin / tomcat-juli.pot
Utilisation de catalina_opts:
Utilisation du responsable de la sécurité
Tomcat a commencé.

5 - supprimer les applications indésirables

Apache Tomcat est livré avec des applications d'échantillons par défaut exploitables. La meilleure mesure par rapport à cela est de les supprimer de votre répertoire WebApps.

Vous pouvez supprimer des applications telles que:

  1. ROOT - La page par défaut de Tomcat
  2. Docs - Documentation Tomcat
  3. Exemples - Servlets pour les tests

6 - Modifier la procédure d'arrêt de Tomcat

Une autre façon de sécuriser Tomcat est de modifier la procédure d'arrêt. Cela peut aider à empêcher les utilisateurs malveillants de fermer les services de Tomcat.

Tomcat peut être arrêté en utilisant le port 8005 sur Telnet et l'envoi de la commande d'arrêt:

$ telnet localhost 8005
Essayer 127.0.0.1…
Connecté à localhost.
Le caractère d'échappement est '^]'.
fermer
Connexion fermée par hôte étranger.

Pour résoudre ce problème, modifiez le serveur.Fichier XML et supprimer le bloc suivant.

Si vous souhaitez garder la commande d'arrêt en vie, modifiez le port et la commande par défaut. Par exemple:

7 - Ajouter des drapeaux sécurisés et httponly

Les attaquants peuvent également manipuler les cookies et sessions des applications installées. Pour résoudre ce problème, modifiez le Web.Fichier XML et ajouter les entrées suivantes dans le bloc de configuration de session.


vrai
vrai

Conclusion

Cet article a décrit certaines configurations nécessaires que vous pouvez faire pour Apache Tomcat pour aider à augmenter et à améliorer la sécurité. Veuillez noter que les méthodes discutées ne sont que quelques-unes des nombreuses mesures que vous pouvez prendre pour sécuriser Tomcat.