03. SFTP (site web)
Dans ce chapitre, je vous explique comment utiliser le protocole SFTP.
Dans ce chapitre, je vous explique comment utiliser le protocole SFTP.
Pourquoi choisir le protocole SFTP plutôt que FTP ?
FTP est de base non sécurisé, ses commandes et données ne sont pas chiffrées, on peut donc intercepter le mot de passe de connexion ou le contenu des fichiers échangés.
Le chiffrement FTPS est possible mais exige une configuration plus lourde.
SFTP est plus simple à mettre en œuvre. Il est fourni avec le paquet openssh-server et permet de base le chiffrement des commandes et données transmises.
Il vérifie l’identité du client et chiffre les fichiers/répertoires échangés une fois la connexion sécurisée établie.
Il utilise les règles de chiffrement SSH (Secure SHell).
Comme dis précédemment, la commande sftp est inclus dans le paquet openssh-server.
Il faut donc installer ce paquet si cela n’est pas déjà fait, avec la commande :
Les fichiers de configuration de ce paquet se trouvent dans le répertoire /etc/ssh.
Sous Debian l’utilisateur (et le goupe) par défaut utilisé par Apache ou Nginx est www-data. C’est cet utilisateur qui a été définit pour tous les fichiers et sous répertoires contenus dans le répertoire de votre site web.
Les écritures effectuées depuis un client SFTP ne doivent pas modifier ces droits.
Nous allons donc utiliser un site miroir du répertoire contenant votre site web.
L’outil bindfs liera le dossier /var/www/votre_site_web/ à un répertoire miroir dédié aux accès SFTP. Les écritures effectuées à l’intérieur de ce répertoire n’affecteront pas les droits d’accès et permissions du dossier de votre site web.
Le répertoire miroir appartiendra au groupe sftp et à l’utilisateur sftp.
Commencez par la création du répertoire miroir :
Création du groupe sftp :
Création de l’utilisateur :
Appliquez les permissions suivantes sur le répertoire miroir :
Défnissez un mot de passe pour l’utilisateur sftp :
L’installation de bindfs de fait à l’aide de la commande :
Le paquet fuse est ajouté comme dépendance.
Montage automatique de votre site web dans le répertoire mirroir :
Exécutez la commande suivante pour monter la partition /home/sftp/sites-web/votre_site_web :
Afin de voir les connexions faites via le protocole SFTP, il faut :
sshPour cela, dans le fichier /etc/ssh/sshd_config commentez la ligne :
Et rajoutez les lignes suivantes :
Fixez les permissions sur les répertoires :
Pour finir redémarrez le service ssh :
Créez le fichier /etc/rsyslog.d/sftp.conf avec le contenu suivant :
Créez le répertoire :
Redémarrez le service rsyslog :
Créez le fichier /etc/logrotate.d/sftp avec le contenu suivant :