SysFailure

Imprimer

Restriction de connexions SSH

.

Il est souvent utile de pouvoir restreindre les possibilités d'un (ou de plusieurs) utilisateurs qui ont accès à un système via SSH. Le cas le plus courant est de n'autoriser que des transferts de fichiers, via scp ou sftp, et d'interdire toute connexion interactive. Il existe plusieurs outils pour cela, nous décrivons ici RSSH.

Principe de RSSH

Le principe sous-jacent à RSSH est simple : il s'agit d'un interpréteur de commandes, dont les fonctionnalités sont réduites à autoriser uniquement des transferts de fichiers (scp, sftp, cvs, rdist ou rsync). L'activation de RSSH se fait en le définissant comme interpréteur de commandes pour les utilisateurs concernés :

$ grep rssh /etc/passwd
restreint:x:1002:1003:Test Rssh:/home/restreint:/usr/bin/rssh

Il faut s'assurer que l'exécutable /usr/bin/rssh fait partie des interpréteurs de commandes autorisés pour les connexions à distance (si vous utilisez le module pam_shells ou équivalent) :

auth  required   pam_tally.so file=/var/log/faillog onerr=succeed
auth required pam_shells.so
auth required pam_nologin.so
auth include system-auth

Le fichier /etc/shells contient la liste des interpréteurs de commandes autorisés :

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/bash
/bin/sh
# Pour RSSH
/usr/bin/rssh