Gestion du temps d’inactivité d’un shell

I. Présentation

Il peut parfois arriver lorsqu'une connexion shell est établie sur un poste (SSH ou direct) d'oublier par négligence de fermer cet accès créant ainsi une ouverture à d'éventuelles attaques physiques. On peut imaginer qu'en allant sur une urgence ou en simple pause, une autre personne vienne sur le poste pour prendre le contrôle de l'accès SSH ou TTY de votre machine. Nous allons donc configurer notre shell pour qu'il se ferme automatiquement au bout de quelques minutes d'inactivité.

Nous allons faire en sorte qu’au bout de 5 minutes d’inactivité, le bash se ferme automatiquement. Cela évitera que si, par négligence, on laisse ouvert un terminal sur notre serveur et quelqu’un puisse venir derrière le prendre pour l’utiliser en ayant alors un accès total à la machine.

Dans le « man » de bash, nous apprenons que la valeur « TMOUT » pour « Timeout » (délai d’expiration) est le délai d’inactivité en seconde après lequel une session sera déconnectée.

II. Procédure

Il est possible de spécifier ce paramètre dans « ~/.bashrc » (ou « ~ » est le compte de l’utilisateur). Ce fichier étant chargé automatiquement au lancement d’un bash, c'est-à-dire d’un shell, ou si vous préférez au lancement d’une session. Par exemple pour « root », nous allons modifier le fichier « /root/.bashrc » pour ajouter le paramètre suivant :

TMOUT=300

Le délai à indiquer est en seconde (300 secondes = 5 minutes). Nous devons ensuite recharger la session terminale pour reprendre les nouveaux paramètres avec la commande :

cd /root
sources .bashrc

Ainsi, au bout de 5 minutes d’inactivité, nous aurons donc ce message d’erreur :

ShellDELAY01

L’inactivité d’une session n’est donc plus un problème car celle-ci est déconnectée automatiquement après un certain laps de temps.

Pour appliquer ce paramètre à tous les utilisateurs, il faut aller configurer le fichier « /etc/bash.bashrc » qui est le fichier sur lequel se base tous les « ~/.bashrc » des utilisateurs puis exécuter la commande suivante afin de mettre à jours les bash :

source /etc/bash.bashrc

Note : Le fichier « /etc/bash.bashrc » est parfois nommé « /etc/bashrc ».

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

Mickael Dorigny

Fondateur d’IT-Connect.fr et d’Information-security.fr.
Auditeur sécurité chez Amossys.

    mickael a publié 478 articles sur IT-Connect.See all posts by mickael

    Laisser un commentaire

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