13/05/2024

Commandes et SystèmeSSH

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 ».

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail 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.