Comment Configurer un Chroot SFTP pour un Utilisateur Spécifique sur votre Serveur

L’isolement d’un utilisateur dans un répertoire spécifique via SFTP est une méthode efficace pour renforcer la sécurité de votre serveur. Ce guide vous expliquera comment configurer un environnement chroot pour un utilisateur, userwebhosting, en le limitant au répertoire /var/www/vhosts/domaine.com.

Prérequis

Avant de commencer, assurez-vous que le serveur OpenSSH est installé sur votre machine. Vous pouvez installer OpenSSH en utilisant l’une des commandes suivantes, selon votre distribution Linux :

  • Debian/Ubuntu :
    sudo apt-get install openssh-server
  • Red Hat/CentOS :
    sudo yum install openssh-server
  • Fedora :
    sudo dnf install openssh-server

Configuration de SSH pour SFTP avec Chroot

  1. Modifier le fichier de configuration SSH :
    Ouvrez le fichier /etc/ssh/sshd_config avec un éditeur de texte. Vous pouvez utiliser nano ou vim :

    sudo nano /etc/ssh/sshd_config
  2. Configurer le chemin chroot :
    Ajoutez ou modifiez les lignes suivantes à la fin du fichier pour configurer le chroot pour userwebhosting :

    Subsystem sftp internal-sftp
    
    Match User userwebhosting
       ChrootDirectory /var/www/vhosts/domaine.com
       ForceCommand internal-sftp
       AllowTcpForwarding no
       X11Forwarding no
       PermitTunnel no

    Enregistrez et fermez le fichier après avoir effectué ces modifications.

Préparation du Répertoire Chroot

  1. Attribution des propriétés au répertoire chroot :
    Assurez-vous que le répertoire /var/www/vhosts/domaine.com est la propriété de l’utilisateur root :

    sudo chown root:root /var/www/vhosts/domaine.com
    sudo chmod 755 /var/www/vhosts/domaine.com
  2. Création d’un sous-répertoire pour l’usage de l’utilisateur :
    Créez un sous-répertoire dans lequel userwebhosting pourra écrire :

    sudo mkdir /var/www/vhosts/domaine.com/data
    sudo chown userwebhosting:sftpusers /var/www/vhosts/domaine.com/data

Redémarrage du Service SSH

Après avoir effectué ces changements, redémarrez le service SSH pour appliquer les nouvelles configurations :

sudo systemctl restart sshd

Test de la Configuration

Testez la connexion SFTP pour vérifier que l’utilisateur est correctement limité au répertoire spécifié :

sftp userwebhosting@votre-ip-serveur

L’utilisateur userwebhosting devrait être confiné dans le répertoire /var/www/vhosts/domaine.com et capable d’écrire dans le sous-répertoire /data.

En suivant ces étapes, vous aurez configuré un environnement chroot SFTP sécurisé pour userwebhosting, limitant son accès au répertoire spécifié et renforçant la sécurité de votre serveur.


Ce format fournit un guide détaillé tout en restant clair et professionnel, parfait pour une publication sur votre site web.