Serveur fichiers Securise
Le but de ce projet, c’est de mettre en place un serveur de fichiers sécurisé. Nous avons comme prérequis un serveur Linux avec OpenSSH1 installée (déjà préinstallé sur la majorité de distributions), un client Windows avec le logiciel Winscp2 ou Filezila3.
Pour l’exercice, je créerai quelques utilisateurs de test.
adduser alice
....
adduser bob
La bonne pratique est de donner accès qu’aux répertoires souhaités et non pas sur la racine du système. Je vais aussi créer leurs répertoires:
root@dmz:~# mkdir /srv/sftp/home
root@dmz:~# mkdir /srv/sftp/home/bob
root@dmz:~# mkdir /srv/sftp/home/alice
root@dmz:~# mkdir /srv/sftp/home/radu
root@dmz:/srv/sftp/home# chown radu:radu radu/
root@dmz:/srv/sftp/home# chown bob:bob bob/
root@dmz:/srv/sftp/home# chown alice:alice alice/
Premier moyen configuration :
En suite, je configure le service OpenSSH via le fichier de configuration sshd_config:
nano /etc/ssh/sshd_config
J’ajoute sur la ligne 116 l’option — d (dossier) et le chemin du répertoire à utiliser. J’utilise la variable système $USER ça va remettre chaque utilisateur dans son propre répertoire à la connexion.
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server -d "/srv/sftp/home/$USER/"
Deuxième moyenne
Je mets tous mes utilisateurs dans un seul groupe “tssrgrp” et je configure mon fischer configuration :
usermod -aG tssrgrp alice
usermod -aG tssrgrp bob
usermod -aG tssrgrp radu
Subsystem sftp internal-sftp
Match Group tssrgrp
ChrootDirectory /srv/sftp/home/%u
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
Résultats :
Quand tout ça est fait, j’ouvre winscp sur l’ordi client et je renseigne mes utilisateurs pour essayer la connexion :
Je peux voir que mes utilisateurs se connectent avec succès à leur répertoire.
Install OpenSSH ubuntu: https://www.cyberciti.biz/faq/ubuntu-linux-install-openssh-server/ ↩︎
WinsSCP : https://winscp.net/eng/download.php ↩︎
Filezila : https://filezilla-project.org/ ↩︎