Sécuriser le port 8005 de Tomcat

I. Présentation

Dans ce tutoriel, nous allons étudier le fonction et la sécurisation du port 8005 de Tomcat. Par défaut sur Tomcat, trois ports sont paramétrés : le port 8080 pour les connexions clients depuis le navigateur, le port 8009 qui sert au protocole AJP pour la liaison entre Tomcat et Apache ainsi que le port 8005 qui sert à l'extinction du serveur.

II. Extinction par le port 8005

Les scripts d'extinction du serveur utilisent cet élément qui est configuré dans le fichier "conf/server.xml" :

tomcat8

Il faut se connecter en telnet en local depuis une connexion SSH pour pouvoir l'utiliser. En effet, le port 8005 n'est accessible uniquement en local. Quiconque aura une connexion en local sur le serveur (type SSH) pourra avoir accès au port 8005 :

tomcat9

Si nous saisissons ici n'importe quelle commande, la connexion se fermera :

tomcat10

Nous aurons alors le message suivant dans le fichier "logs/catalina.out" qui contient les logs du serveur Tomcat :

tomcat11

La commande reçue par le serveur Tomcat n'est pas interprétable par le serveur. En revanche si on entre la bonne commande qui est "SHUTDOWN" :

tomcat12

Nous aurons une extinction du serveur ainsi que ces différentes lignes dans le fichiers "logs/catalina.out" :

tomcat13

On voit donc bien que le serveur a reçu la commande "shutdown" valide et qu'il va donc se fermer.

III. Sécuriser le port shutdown

Pour sécuriser ce port et ainsi notre serveur Tomcat, nous allons dans un premier temps changer son port d'écoute. Il faut pour cela éteindre notre serveur Tomcat :

%Chemin_vers_Tomcat%/bin.shutdown.sh

Nous allons ensuite nous rendre dans le fichier de configuration de Tomcat pour aller modifier la ligne de l'élément serveur "shutdown". On changera cet élément pour y mettre le numéro de port que l'on souhaite lui allouer. Mettons par exemple "10005" :

tomcat14

Nous allons également changer la commande qui lancera l'extinction du serveur. Le principal objectif est de ne plus avoir les valeurs par défaut qui sont les premières visées par les attaquants. Nous changeons donc "SHUTDOWN" en "$hU7D0wn" (par exemple) :

tomcat15

Nous allons ensuite démarrer notre serveur Tomcat :

%Chemin_vers_Tomcat%/bin.shutdown.sh

Note : Cela peut mettre plus de temps que d'habitude étant donné que les paramètres ont changés.

Nous allons ensuite tenter à nouveau de fermer notre serveur depuis une connexion SSH faite sur le serveur.

tomcat16

Le port 8005 est donc bien devenu injoignable même en local. On va tenter une connexion maintenant sur le nouveau port "10005" et lancer la commande "SHUTDOWN" :

tomcat17

Nous aurons alors le message suivant dans nos logs :

tomcat18

On voit donc bien que les paramètres par défauts ne sont plus utilisables et que, pour un attaquant, il sera plus difficile de fermer le serveur car les paramètres de base ont été modifiés. Pour fermer notre serveur dans le cas présent, il faudra saisir "$hU7D0wn" en connexion sur le port "10005".

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur en sécurité des systèmes d'information chez Amossys

    mickael has 502 posts and counting.See all posts by mickael

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.