More

    Mettre en place un accès SFTP avec restrictions et CHROOT sur Debian

    Introduction

    Dans ce tutoriel, nous allons voir comment configurer un serveur SFTP chrooté sur Debian. Le chroot est une technique qui permet d’isoler un processus et de le restreindre à un sous-ensemble du système de fichiers. En utilisant chroot pour SFTP, nous pouvons restreindre les utilisateurs à un répertoire spécifique, ce qui empêche l’accès à d’autres fichiers sur le système.

    Nous allons également configurer les options de sécurité du serveur SFTP pour limiter les commandes et les fonctionnalités disponibles pour les utilisateurs SFTP. En fin de compte, vous aurez un serveur SFTP sécurisé et fonctionnel que vous pourrez utiliser pour transférer des fichiers de manière fiable et sécurisée.

    Mise en place du serveur SFTP

    Si le paquet openssh-server n’est pas installé, vous pouvez l’e’ajouter avec les commandes suivantes:

    sudo apt-get update
    sudo apt-get install openssh-server

    Créez un utilisateur qui aura accès au SFTP :

    sudo adduser sftpuser

    Remplacez « sftpuser » par le nom d’utilisateur de votre choix et suivez les instructions pour définir un mot de passe.

    Créez un répertoire pour stocker les fichiers SFTP, dans notre exemple, ce sera /var/sftp :

    sudo mkdir /var/sftp

    Changez le propriétaire et le groupe du répertoire en sftpuser :

    sudo chown sftpuser:sftpuser /var/sftp

    Éditez le fichier de configuration /etc/ssh/sshd_config pour ajouter les options suivantes en bas de fichier:

    Match User sftpuser
        ChrootDirectory /var/sftp
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no

    Expliquons le code ci-dessus:

    1. Match User sftpuser: Cette ligne indique que les configurations suivantes s’appliqueront uniquement à l’utilisateur « sftpuser ». Si vous avez plusieurs utilisateurs SFTP, vous pouvez ajouter plusieurs blocs « Match User » avec des noms d’utilisateurs différents.
    2. ChrootDirectory /var/sftp: Cette ligne définit le répertoire racine pour l’utilisateur « sftpuser ». Il sera chrooté dans ce répertoire et ne pourra pas accéder à des fichiers ou des répertoires à l’extérieur de ce répertoire. Cela permet de sécuriser le serveur SFTP et d’empêcher les utilisateurs SFTP d’accéder à d’autres fichiers sur le système.
    3. ForceCommand internal-sftp: Cette ligne indique que la commande SFTP sera la seule commande disponible pour l’utilisateur « sftpuser ». Cela garantit que l’utilisateur ne peut pas exécuter de commandes sur le shell du système.
    4. AllowTcpForwarding no: Cette ligne désactive la redirection de port TCP pour l’utilisateur « sftpuser ». Cela empêche l’utilisateur de créer des tunnels de port et de contourner les restrictions de pare-feu.
    5. X11Forwarding no: Cette ligne désactive le transfert X11 pour l’utilisateur « sftpuser ». Cela e

    Pour appliquer les changements, redémarrez le service SSH pour appliquer les modifications :

    sudo systemctl restart sshd

    Il ne vous reste plus qu’à tester la connexion SFTP en utilisant un client SFTP tel que FileZilla, ou WinSCP apr exemple. Assurez-vous que vous vous connectez en utilisant l’utilisateur « sftpuser » et que vous pouvez transférer des fichiers vers et depuis le répertoire /var/sftp.

    Offrez-moi un café 😉

    Jonathan
    Jonathanhttps://pratiquepc.fr/
    Technicien, responsable atelier dans une ESN (Entreprise de services du numérique) de la région Paloise (64). Fondateur de Pratique PC. Je souhaite partager ma passion et mon expérience.

    Laisser un commentaire

    Saisissez votre commentaire
    Saisissez votre nom

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

    Derniers Articles

    Suivez-nous!

    145FansJ'aime
    56SuiveursSuivre
    140SuiveursSuivre
    7,660AbonnésS'abonner