Utilisation des montages SSHFS sécurisés sur GNU/Linux

Utilisation des montages SSHFS sécurisés sur GNU/Linux

I. Présentation

Au travers de ce tutoriel, je vous propose de mettre en œuvre un système de fichiers SSH. Le système SSHFS est un système de fichiers client, basé sur l’utilitaire FUSE, permettant de monter des répertoires distants, au travers d’une connexion SSH. Ce mécanisme utilise le protocole SFTP qui est un sous-système de SSH et est activé, par défaut, sur la plupart des serveurs ssh.

REMARQUE : comme SSHFS s’appuie sur le protocole SFTP, toutes les données transmises entre le serveur et le client doivent être chiffrées et déchiffrées à la volée. Ceci implique donc que les performances de ce mécanisme sont moindres, par rapport à un montage NFS. De plus, cela accroît l’utilisation de la CPU, à la fois sur le serveur et sur le client.

Toutefois, comparé aux autres protocoles système en réseau, tels que NFS ou SAMBA, l’énorme avantage de SSHFS, c’est qu’il n’est pas nécessaire d’effectuer une quelconque configuration du côté du serveur. Pour mettre SSHFS en œuvre, il suffit simplement d’accéder au serveur distant via SSH depuis le client.

De plus, SSHFS peut être utilisé indifféremment sur GNU/Linux, MacOS ou même Microsoft Windows. Dans ce tutoriel nous activerons sshfs sur un serveur Gnu/Linux pour une distribution CentOS7.

 

II. Installation de SSHFS

Sur une distribution CentOS7 (et autres distributions type Red Hat), il suffit simplement d’exécuter la commande suivante pour installer sshfs :

# yum install sshfs

Il va sans dire que pour une distribution type Debian, on exécutera plutôt les commandes suivantes :

$ sudo apt update
$ sudo apt install sshfs

Dès lors que le package est installé, il ne reste donc plus qu’à l’utiliser. Dans le chapitre suivant, nous verrons les différentes opérations de montage et démontage d’un système de fichier SSHFS.

III. Utilisation de SSHFS

Afin de monter un répertoire distant, l’utilisateur SSH a besoin d’y accéder via la commande ssh. La commande de montage SSHFS est généralement de la forme suivante :

$ sshfs ()@:()  (Options)

Ainsi, la commande sshfs lira le fichier de configuration SSH en utilisant les paramètres courants. Lorsque l’on ne précise pas le répertoire distant , par défaut, l’accès sera effectué sur le répertoire d’accueil de l’utilisateur distant.

Par exemple, pour réaliser le montage du répertoire d’accueil de l’utilisateur phil d’un hôte distant ayant l’adresse IP 192.168.1.100, il faut créer le répertoire devant servir de point de montage sur le client:

# mkdir /usr/share/phil

Ensuite, il ne reste plus qu’à exécuter la commande sshfs de montage du répertoire distant ci-dessous, sur la machine cliente :

$ sshfs (email protected):/home/phil /usr/share/phil

Comme pour toute connexion SSH, il nous sera demandé le mot de passe de l’utilisateur concerné. Si l’on souhaite éviter de saisir systématiquement ce mot de passe, on peut générer une paire de clé privée/publique pour l’utilisateur concerné (ici, dans l’exemple, il s’agit de l’utilisateur phil) et ajouter la clé publique en fin de fichier authorized_keys sur l’hôte distant. La copie de la clé publique peut se faire via l’utilitaire ssh-copy-id :

$ ssh-copy-id @

REMARQUE: pour ce transfert de clé, le mot de passe nous sera réclamé une dernière fois. Mais, dès lors que la clé publique est intégrée au fichier mentionné ci-dessus, on pourra effectuer autant de connexion sur le compte de l’utilisateur que souhaité, sans pour autant saisir un quelconque mot de passe.

On peut alors interagir avec le répertoire distant directement, comme si celui-ci se trouvait en local. Il devient alors possible d’y éditer des fichiers, ou d’en créer/supprimer autant que l’on souhaite.

Maintenant, afin d’automatiser l’opération de montage de ce système de fichiers sécurisé, on peut bien évidemment éditer le fichier /etc/fstab pour y ajouter l’occurrence de notre nouveau montage comme décrit ci-dessous:

(email protected):/home/phil /usr/share/phil fuse.sshfs defaults 0 0

ATTENTION : lorsque l’on insère ce genre de règle dans le fichier /etc/fstab, il faut s’assurer que l’on gère correctement la connexion sans mot de passe vue précédemment en insérant la clé publique de l’utilisateur dans le fichier authorized_keys de l’hôte distant.

Le démontage d’un système de fichier SSHFS peut utiliser à la fois la commande umount mais également la commande fusermount selon les modèles suivants :

$ fusermount -u /usr/share/phil

Ou

$ umount /usr/share/phil

 

IV. Conclusion

Dans ce tutoriel, nous avons vu comment utiliser les systèmes de fichiers SSHFS pour monter (ou démonter) un répertoire distant sur SSH. Cela peut être utile lorsque l’on souhaite interagir avec des fichiers ou répertoires distants, utilisant des applications de la machine locale.

Par ailleurs, à des fins de sécurisation des flux, on peut parfaitement cantonner les accès utilisateurs à leur répertoire d’accueil, en initialisant une prison chroot du service SFTP et en changeant le port de service SSH par défaut, par une autre valeur.

Ce genre de fonctionnalité permet d’ajouter une couche de sécurité à des applications transverses, tout en autorisant une grande flexibilité d’utilisation et une meilleure traçabilité des actions. Cela devrait faire plaisir à votre RSSI!

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Comment durcir la configuration de son serveur SSH ?

Comment durcir la configuration de son serveur SSH ?

Table de Matieres1 I. Présentation2 II. Sécurisation générale de SSH2.1 A. Modifier le port et …

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Table de Matieres1 I. Présentation2 II. Préparation du serveur2.1 A. Configuration du réseau2.2 B. Vérification …

Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

Table de Matieres1 I. Présentation2 II. Prérequis3 III. Vérifier la présence de la clé SSH4 …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.