Introduction
Lors de la gestion d’un serveur Linux, fournir un accès restreint aux utilisateurs pour les transferts de fichiers sans leur accorder un accès complet à l’interpréteur de commandes est une préoccupation courante en matière de sécurité. Deux outils permettent d’y parvenir : rssh et scponly. Ces shells restreints permettent aux utilisateurs d’effectuer des opérations spécifiques de transfert de fichiers via SCP, SFTP et rsync tout en empêchant l’exécution de commandes.
Dans ce guide, nous allons couvrir l’installation et la configuration de rssh et de scponly sur un système Linux.
Installation de rssh
Installer rssh
La plupart des distributions Linux fournissent rssh dans leurs dépôts de paquets. Vous pouvez l’installer à l’aide des commandes suivantes :
Pour Debian/Ubuntu :
sudo apt update && sudo apt install rssh -yPour CentOS/RHEL :
sudo yum install rssh -yPour Arch Linux :
sudo pacman -S rsshConfigurer rssh
Une fois installé, configurez rssh en éditant son fichier de configuration :
sudo nano /etc/rssh.confDécommentez les options nécessaires pour autoriser SCP, SFTP ou rsync. Exemple :
allowcp
allowftp
allowrsyncEnregistrez et quittez le fichier.
Configurer un utilisateur avec rssh
Pour faire de rssh l’interpréteur de commandes d’un utilisateur spécifique, exécutez la commande suivante
sudo usermod -s /usr/bin/rssh nom d'utilisateurMaintenant, l’utilisateur ne peut effectuer que des opérations autorisées via SCP, SFTP ou rsync.
Installer scponly
Installer scponly
Pour les systèmes basés sur Debian :
sudo apt update && sudo apt install scponly -yPour les systèmes CentOS/RHEL :
sudo yum install scponly -yPour Arch Linux :
sudo pacman -S scponlyConfigurer scponly pour un utilisateur
Pour restreindre l’accès d’un utilisateur à scponly, modifiez son shell :
sudo usermod -s /usr/bin/scponly nom d'utilisateurPour s’assurer que l’utilisateur est correctement restreint, testez avec :
ssh nomutilisateur@serveurL’accès à l’interpréteur de commandes devrait être refusé, mais les transferts de fichiers SCP/SFTP devraient être autorisés.
Test et vérification
Pour vérifier la configuration, essayez de transférer des fichiers en utilisant :
Pour SCP :
scp file.txt username@server:/home/username/Pour SFTP :
sftp nomutilisateur@serveurSi la configuration est correcte, les utilisateurs devraient pouvoir transférer des fichiers, mais pas exécuter de commandes.
Conclusion
En utilisant rssh et scponly, les administrateurs peuvent renforcer la sécurité en limitant l’accès des utilisateurs aux seuls transferts de fichiers. Cela permet d’éviter les accès non autorisés au shell tout en autorisant les opérations d’échange de fichiers nécessaires. Veillez à mettre régulièrement à jour les configurations afin de les aligner sur les politiques de sécurité.

