Vous êtes ici : Accueil > Administration réseaux > Installer facilement un serveur SFTP
Installer facilement un serveur SFTP
Dans cet article, nous allons voir comment installer simplement un serveur SFTP. Pour ma part, je l'ai installé sur un serveur Debian Squeeze mais cela est facilement adaptable à d'autres distribution GNU/Linux.
Installation du serveur SSH :
Pour installer le serveur SSH rien de plus simple :
# apt-get install openssh-server
Sécurisation du serveur SSH :
Modifier le port d'écoute :
La première chose à faire lors de l'installation d'un serveur SSH, est de changer le port d'écoute du serveur. Localisez la ligne suivant dans le fichier /etc/ssh/sshd_config (généralement située au début de celui-ci) :
Port 22
Remplacer la valeur du port 22 par 222 par exemple.
Ce changement permet de se prémunir des attaques de robots qui vont essayé de forcer votre serveur SSH sur le port par défaut qui est le 22.
Interdire les connexions root :
Une sécurisation supplémentaire est d'interdire les connexions directes pour l'utilisateur root.
Cela se passe dans le même fichier que précédemment à l'aide de la ligne suivante :
PermitRootLogin yes
Changer la valeur yes par no.
Cela ajoute une sécurité supplémentaire car même si l'accès à votre serveur SSH est forcé, il le sera à l'aide d'un utilisateur normal. Il faudra donc que le pirate arrive trouver le mot de passe root afin de bénéficier d'un accès total au serveur.
Enregistrez le fichier modifié et redémarrez le serveur ssh avec la commande :
# /etc/init.d/ssh restart
Essayez ensuite de vous connecter à votre serveur à l'aide de la commande :
$ ssh votre_utilisateur@votre_serveur -p votre_numéro_de_port
Si la connexion se passe sans soucis, vous pouvez passez à l'étape suivante, sinon vérifiez vos paramètres
Configuration du serveur SFTP :
Nous allons maintenant configurer le serveur SFTP. Pour cela, éditez à nouveau le fichier /etc/ssh/sshd_config et rajoutez à la fin de celui les lignes suivantes :
Subsystem sftp internal-sftp Match group ftp ChrootDirectory /home/ftp/ AllowTCPForwarding yes
Explications :
- Subsystem sftp internal-sftp : permet de spécifier que l'on veut utiliser SFTP
- Match group ftp : autorise l'accès qu'aux utilisateurs appartenant au groupe ftp
- ChrootDirectory /home/ftp/ : spécifie la racine du FTP
- AllowTCPForwarding yes : autorise la redirection des ports TCP
Le fait de "chrooter" le répertoire de destination du FTP permet de cloisonner ce répertoire est ainsi de l'isoler du reste du système. Pour l'utilisateur c'est comme s'il n'y avait rien d'autre sur le serveur. Si cette option n'est pas présente, lors de la connexion, un utilisateur pourra remonter à la vraie racine du site (ce qui pose un problème de sécurité évident).
Création du répertoire racine du FTP :
Nous allons maintenant créer le répertoire racine du FTP.
# mkdir -p /home/ftp
Vous pouvez maintenant créer l'arborescence voulu pour votre FTP.
Il faut ensuite appliquer au répertoire de destination les droits adéquats. Ces droits correspondent en fait à ce que vous voulez permettre à vos utlisateurs. Pour ma part, je permettrait juste à mes utilisateurs de pouvoir récupérer les documents présents sur le FTP et de ne pas en créés. Ceci afin de pouvoir contrôler un minimum son contenu. Si cela n'est pas votre cas pour vous vous pouvez bien entendu adapter ces droits.
# chmod 605- R /home/ftp/
Il nous reste maintenant a redémarrer le serveur SSH afin de prendre en compte toute la configuration :
# /etc/init.d/ssh restart
Ajout des utilisateurs dans le groupe ftp :
Pour ajouter des utilisateurs dans le groupe ftp, il faut bien sûr, dans un premier temps créé ce groupe :
# groupadd ftp
Nous allons ensuite rajouter les utilisateurs dans le groupe ftp :
# gpasswd -a votre_utilisateur ftp
Test de la configuration :
Utilisez votre client FTP favori pour tester le bon fonctionnement du FTP. Veillez à bien sélectionner SFTP dans le protocole et indiquez le port configuré pour votre serveur SSH (222 dans cet article).
Normalement, vous ne devriez pas rencontrer de problèmes particuliers.
J'espère avoir été assez clair, et comme d'habitude si vous avez des questions ou des remarques n'hésitez pas!!
Articles similaires
Espace utilisateur
-
Connexion
Pingback: sms onay()