Protéger ses sessions screen
Aujourd'hui j'ai eu une prise de conscience. J'utilise au quotidien un homeserveur, sur lequel je mets en place des fois des services plus ou moins douteux au niveau de la fiabilité de leur code. Comme on n'est jamais à l'abris d'une compromission ou faille de sécurité, il existe une éventualité qu'un utilisateur malicieux accède à un shell de la machine.
Ce matin en me levant, je me suis demandé: et si jamais il arrive à utiliser mon compte ou bien un compte root, qu'est-ce qui l'empêche (entre autres) de regarder ce qu il y a dans mes sessions screen? En effet, il pourrait très bien tomber sur des conversation privée dans irssi que je garde sous la main.
En se penchant un peu sur cette affaire, on découvre alors que screen possède un système de verrouillage de session par mot de passe
Protéger une session
Dans une session screen à protéger, pressez tout simplement les raccourcis suivants :C-a :Entendre 'controle' + 'a', puis ':'.
Un prompt va vous demander de taper deux fois votre mot de passe. Désormais, à chaque réattachement de votre session, le mot de passe vous sera demandé. Celui-ci va être conservé en RAM, le temps d'existence de cette session.
Protéger toutes ses sessions
Maintenant, si on veut protéger touts nos sessions avec ce mot de passe, comment fait-on?Nous allons tout simplement récupérer notre mot de passe hashé dans le buffer de screen (celui qui est protégé):
C-a C-]Vous pouvez alors le copier dans votre screenrc grâce à l'option password:
$ vi ~/.screenrc
[...] password ici_le_mdp_hashé [...]En revanche, il n'existe pas encore de moyen pour que les sessions screen déjà lancées puissent relire le screenrc. Vous devez soit les relancer (ainsi que leur contenu), soit respécifier le mot de passe manuellement.
Le mot de la fin
Ce n'est pas grand chose, ça n'empêchera pas un intru de relancer l'application qui est dans screen pour faire des méfaits avec, mais ça protègera au moins ce que vous avez en cours.Voila, en espérant que cette révélation va égailler votre journée comme la mienne. ;)