Configuration d'un serveur SSH : limiter la durée d'un connexion ?

Le
Xavier Teyssier
Bonjour !

Existe t'il un moyen de limiter la durée maximale d'un connexion SSH ?

Par exemple, pour indiquer que la durée maximale de la connexion SSH
lancée par toto sera de N minutes, et si cette durée est atteinte, que
la connexion soit fermée.

J'ai bien trouvé quelque chose dans ce goût ( ClientAliveInterval ),
mais là, c'est en cas d'inactivité de la connexion. Je cherche quelque
chose de plus général


Pouvez vous m'indiquer des pistes à suivre ?

Cordialement,
--
Xavier Teyssier
Vos réponses Page 1 / 2
Trier par : date / pertinence
Nicolas George
Le #1179940
Xavier Teyssier wrote in message
Existe t'il un moyen de limiter la durée maximale d'un connexion SSH ?


Je n'ai pas la réponse, mais... pourquoi vouloir faire ça ?

Francis Chartier
Le #1361065
Xavier Teyssier écrivait ...

Pouvez vous m'indiquer des pistes à suivre ?


Dans mon /etc/sshd_config, j'ai la variable KeepAlive qui correspond à
ça (global côté serveur).

Ca peut être personnalisé pour les clients par le fichier ssh_config, ou
par un paramétrage en ligne de commande.

--
Francis Chartier

no_spam
Le #1180442
On Fri, 12 Nov 2004 09:09:48 +0100, Francis Chartier wrote:

Xavier Teyssier écrivait ...

Pouvez vous m'indiquer des pistes à suivre ?


Dans mon /etc/sshd_config, j'ai la variable KeepAlive qui correspond à
ça (global côté serveur).


Le keep-alive sert à déconnecter uniquement s'il n'y a pas d'activité
mais ne donne aucune limite de durée de session.
Ca n'est donc pas ça.
Je pense que c'est plus du coté de pam/login qu'il faut regarder...


mna
Le #1361021

Xavier Teyssier écrivait ...

Pouvez vous m'indiquer des pistes à suivre ?


Dans mon /etc/sshd_config, j'ai la variable KeepAlive qui correspond à
ça (global côté serveur).

Ca peut être personnalisé pour les clients par le fichier ssh_config, ou
par un paramétrage en ligne de commande.


Bonsoir,

Je pense qu'il y a confusion avec les options suivantes :
ClientKeepAlive
ClientAliveCountMax
et KeepAlive.

ces 3 options servent au contraire à faire passer des paquets ip
entre le serveur et le client de manière à 'tromper' les routeurs,
firewall et NAT intermédiaires qui peuvent dans certains cas avoir
un timeout sur inactivité qui coupe la communication entre les
2 extrémités.
les 2 premières vont de pair et les paquets transitent dans le tunnel
ssh, la troisième quant à elle est l'option classique de tcp et
les paquets transitent en 'clair' ( -> on peut les spoofer aisemment).
donc rien à voir avec la demande initiale.

Je n'ai pas de solution pour ta question, mais j'espère avoir éclairé
un peu.

A+
mna.


Raphaël 'SurcouF' Bordet
Le #1182235
Xavier Teyssier wrote:
Bonjour !

Existe t'il un moyen de limiter la durée maximale d'un connexion SSH ?

Par exemple, pour indiquer que la durée maximale de la connexion SSH
lancée par toto sera de N minutes, et si cette durée est atteinte, que
la connexion soit fermée.

J'ai bien trouvé quelque chose dans ce goût ( ClientAliveInterval ),
mais là, c'est en cas d'inactivité de la connexion. Je cherche quelque
chose de plus général...


Du côté de PAM, on trouve pam_time mais évidemment, il faudra utiliser
une connexion via PAM...

--
Raphaël 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net

Xavier Teyssier
Le #1353530
Bonjour !

Existe t'il un moyen de limiter la durée maximale d'un connexion SSH ?


Je m'auto-répond.

Lorsqu'une connexion ssh est initialisée, avant de lancer le shell de
l'utilisateur, sshd éxécute les commandes se trouvant dans /etc/ssh/sshrc.
On peut donc y mettre un script à lancer en tache de fond qui, en gros,
fera :
sleep le_temps_qu'on_accorde_à_la_connexion ;
kill -15 la_connexion_qui_va_bien


Cordialement,
--
Xavier Teyssier

Nicolas George
Le #1353527
Xavier Teyssier wrote in message
On peut donc y mettre un script à lancer en tache de fond qui, en gros,
fera :
sleep le_temps_qu'on_accorde_à_la_connexion ;
kill -15 la_connexion_qui_va_bien


La tâche de fond en question serait lancée avec les droits de l'utilisateur
logué, celui-ci pourra alors la tuer sans problème. Si tu en es à faire des
trucs comme ça, il vaut probablement mieux avoir un démon superviseur avec
les droits de root qui lit les logs de sshd et tue le moment venu. Ce n'est
pas très difficile à programmer.

Xavier Teyssier
Le #1353526
Xavier Teyssier wrote in message
On peut donc y mettre un script à lancer en tache de fond qui, en gros,
fera :
sleep le_temps_qu'on_accorde_à_la_connexion ;
kill -15 la_connexion_qui_va_bien



La tâche de fond en question serait lancée avec les droits de l'utilisateur
logué, celui-ci pourra alors la tuer sans problème.


Oui mais non ! Je m'explique.
En fait, le shell lancé n'est pas un vrai shell, mais authpf (un truc
sous OpenBSD qui permet, lors de la connexion SSH, de modifier les
règles du firewall en fonction de l'IP du connecté).
L'utilisateur n'a donc en fait pas accès à une ligne de commande, et ne
peut donc pas tuer le script...

Cordialement,
--
Xavier Teyssier


TiChou
Le #1185402
Dans le message *Nicolas George* tapota sur f.c.o.l.configuration :

Xavier Teyssier wrote:
On peut donc y mettre un script à lancer en tache de fond qui, en gros,
fera :
sleep le_temps_qu'on_accorde_à_la_connexion ;
kill -15 la_connexion_qui_va_bien


La tâche de fond en question serait lancée avec les droits de
l'utilisateur logué, celui-ci pourra alors la tuer sans problème. Si tu en
es à faire des trucs comme ça, il vaut probablement mieux avoir un démon
superviseur avec les droits de root qui lit les logs de sshd et tue le
moment venu. Ce n'est pas très difficile à programmer.


De plus rien de plus simple pour l'utilisateur d'inhiber le script
/etc/ssh/sshrc. En effet, s'il crée le fichier .ssh/rc dans son répertoire
home, le fichier /etc/ssh/sshrc sera alors ignoré par sshd.

--
TiChou


Mickaël
Le #1185039
Salut

Oui par xinetd. Va sur funix http://www.funix.org et trouve la documentation
sur xinetd.

Mickaël

"TiChou" news:
Dans le message *Nicolas George* tapota sur f.c.o.l.configuration :

Xavier Teyssier wrote:
On peut donc y mettre un script à lancer en tache de fond qui, en gros,
fera :
sleep le_temps_qu'on_accorde_à_la_connexion ;
kill -15 la_connexion_qui_va_bien


La tâche de fond en question serait lancée avec les droits de
l'utilisateur logué, celui-ci pourra alors la tuer sans problème. Si tu
en


es à faire des trucs comme ça, il vaut probablement mieux avoir un démon
superviseur avec les droits de root qui lit les logs de sshd et tue le
moment venu. Ce n'est pas très difficile à programmer.


De plus rien de plus simple pour l'utilisateur d'inhiber le script
/etc/ssh/sshrc. En effet, s'il crée le fichier .ssh/rc dans son répertoire
home, le fichier /etc/ssh/sshrc sera alors ignoré par sshd.

--
TiChou





Publicité
Poster une réponse
Anonyme