Création d`un ftp sécurisé sous linux

Transcription

Création d`un ftp sécurisé sous linux
Lamdaouar
Blanc
07/12/2015
TP4 - Mise en oeuvre d’une architecture FTP sécurisée
Sommaire
I-Introduction.................................................................................2
II- Configuration du serveur...........................................................2
III- Création d’utilisateur FTP.........................................................5
IV- Création d'utilisateur virtuel......................................................7
V-Tests..........................................................................................8
A-Tests en graphique.....................................................................8
B-Test en console........................................................................11
VI-Conclusion..............................................................................12
1/12
Lamdaouar
Blanc
07/12/2015
I-Introduction
Au travers de ce TP, nous allons mettre en place un serveur ftp, VsFTPd, qui est un serveur
FTP possédant une sécurité optimale.
Nous allons configurer ce serveur, créer plusieurs utilisateurs, les configurer, et créer un
répertoire personnel pour l’un des utilisateurs.
Nous allons aussi modifier les droits de ce dossier et des utilisateurs.
Enfin, nous testerons les différents accès grâce à Filezilla sous Windows puis en console
sous Debian.
II- Configuration du serveur
On clone une machine serveur sous Linux. On l’adresse et la renomme.
Puis on installe le paquet vsftpd qui est le paquet centrale qui va nous permettre
d’importer( installer) le service ftp sécurisé. Grâce à la commande Shell apt-get install (le
nom du paquet à installer) .
Grâce à la syntaxe cat /etc/passwd . on va voir si l'utilisateur système “ftp” est bien présent.
(on le remarque sur la dernière ligne car il a été installé en dernier).
2/12
Lamdaouar
Blanc
07/12/2015
L’utilisateur ftp appartient bien au groupe FTP , pour voir s’il est présent dans le groupe il
suffit de taper groups (suivit du nom du groupe).
On créé une copie du fichier de configuration au cas ou il y aurait des difficultés pour revenir
à une configuration propre.
vsftp est maintenant installé, nous allons donc compléter le fichier de configuration
/etc/vsftpd.conf :
#nous voulons que le serveur fonctionne de manière permanente.
listen=YES
# port d'écoute
listen-port=21
# on ne veut pas de connexions en mode anonymous
anonymous enable=NO
# On veut que les utlisateurs locaux puissent se connecter .
# c'est indispensable pour que les utilisateurs virtuels puissent se connecter.
local_enable=YES
# Les utilisateurs peuvent remonter des fichiers sur le serveur.
write enable=YES
# Le masque local est à 022 ( les fichiers auront des droits 755)
local umask=022
# On interdit l'upload anonyme
anon upload enable=NO
#on interdit la création de repertoires pour anonymous
anon mkdir write enable=NO
3/12
Lamdaouar
Blanc
07/12/2015
# Les heures d'enregistrements des fichiers seront affichées
# à l'heure locale.
use lcoaltime=YES
# Les logs seront enregistrés dans le fichier suivant.
xferlog file=/var/log/vsftpd.log
# On déclare les valeurs de timeout :
# Durée en secondes d'incativité avant déconnexion de la session
idle_session_timeout=300
# Durée en secondes d'inactivité avant déconnexion de données.
data_connection_timeout=120
# Débit max du serveur en Bytes/seconde (0 = débit illimité).
local_max_rate=0
# Personnalisation de la bannière
ftpd banner=Bienvenue sur le serveur Debian SIO groupe 3
# On veut limiter les utilisateurs à leur répertoire personnel.
chroot local user=YES
# Fichier des utilisateurs
userlist file=/etc/vsftpd/user list
#Chargement de la liste userlist_file
userlist=YES
#On refuse les utlisateurs de la liste
userlist_deny=YES
# On autorise les utlisateurs virtuels
virtual use lcoal privs=YES
# On fait en sorte que les utilisateurs "guest" soit activés
guest_enable=YES
guest_username=ftp
# On active les droits spécifiques par utilisateur
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#nom du service d'authentification utilisé par le serveur.
pam_service_name=vsftpd
On redémarre le service vsftpd pour qu’il puisse prendre en compte les changements. Pour
ce faire on utilise la commande shell suivante service (nom du service) restart.
4/12
Lamdaouar
Blanc
07/12/2015
III- Création d’utilisateur FTP.
Nous créons un utilisateur mohamed ainsi qu’un utilisateur mael, afin de pouvoir tester par la
suite les accès au ftp. Pour ce faire on utilise la commande shell adduser (nom de
l’utilisateur) --shell (le chemin du ftp) -- home (son répertoire personnel)
On ajoute l’utilisateur mohamed à la liste des utilisateurs non autorisé en écriture. Le fichier
qui contient les utilisateurs qui ne sont pas autorisé à écrire s’appelle user_list et il se
trouve dans /etc/vsftpd .
On relie ici le shell de l’utilisateur au shell de base. ( Car on crée un lien symbolique suivit
d’une redirection).
On vérifie si les deux utilisateurs on été rajouté dans le ftp, on va se rendre dans le fichier
/etc/passwd,puis on utilise la commande Shell gedit (suivit du fichier voulut) .
5/12
Lamdaouar
Blanc
07/12/2015
Dans le fichier passwd on voit que les utilisateurs crée sont associé au ftp.
On essaie de se connecter avec les utilisateurs , cela est un échec, mais c’est normal car ce
sont des utilisateurs ftp et non pas systèmes.
On donne la propriétés au utilisateurs mohamed et mael sur leur dossier personnel. Grâce à
la commande
6/12
Lamdaouar
Blanc
07/12/2015
IV- Création d'utilisateur virtuel.
On peut créer des utilisateurs virtuels à qui l’on peut associer des emplacements(répertoire
personnel) sur notre serveur FTP.
Dans le répertoire vsftpd_user_conf on créé un fichier Mael . Ce fichier va permettre à
l’utilisateur concerné(Dans notre cas Mael) de pouvoir ce connecter sur son répertoire
personnel.
Dans le fichier on indique bien l’emplacement ou l’utilisateur va pouvoir “atterrir”. Dans
notre cas lorsque Mael va se connecter il va être redirigé vers son répertoire personnel.
.Dans le fichier login ici, on rentre les utilisateurs ainsi que leurs mot de passe.
7/12
Lamdaouar
Blanc
07/12/2015
On rentre dans le dossier de l’utilisateur mael, et l’on créé un fichier test.
Ensuite on créé un dossier ftp_backup, et l’on change les droits du dossier /home, pour les
mettre au maximum.
Ensuite on change la possession du dossier pour mael.
Maintenant on redémarre le service vsftpd.
On retourne dans le dossier ftp_backup, et l’on y voit le fichier index.html qui a été upload en
graphique.
V-Tests
A-Tests en graphique
Après avoir configuré les droits sur les utilisateurs. On sait que l'utilisateur Mohamed a le
droit de se connecter au serveur ftp cependant l'utilisateur n’a accès qu’au répertoire
var/www et il ne peut pas écrire , modifier ou ajouter dans ce répertoire car il n’a pas le
droit.
8/12
Lamdaouar
Blanc
07/12/2015
On remarque que l'utilisateur Mohamed peut ouvrir le lien index.html qui se trouve dans le
répertoire var/www.
Pour l’utilisateur Mael on lui associe tout les droits sur le répertoire ftp_backup, donc dans
le dossier ftp_backup Mael peut importer ce qu’il veut de sa machine vers le ftp.
9/12
Lamdaouar
Blanc
07/12/2015
Avec les droits attribués, l’utilisateur Mael peut importer des fichiers et les créer(nouveau
dossier). Donc notre configuration est correcte .
L’utilisateur Paul ne peut pas se connecter car on ne l’a pas ajouté au fichier login.txt donc il
ne peut pas se connecter au serveur ftp. On remarque que l’erreur est de type “critique”
donc cela veut dire que le serveur ne reconnaît même pas l’utilisateur(car il n’existe pas).
10/12
Lamdaouar
Blanc
07/12/2015
B-Test en console
Après avoir effectué des tests en graphique on va se lancer dans les tests en console .
Pour se connecter à un serveur ftp sous Linux il suffit de taper ftp (suivit de l’adresse IP).
Sachant que notre serveur a pour adresse 172.16.67.15 on doit taper ftp 172.16.67.15 . une
fois qu’on est connecté au serveur il faut s’identifier .
Dans notre cas Mael possède tout les droits donc on va se connecter avec Mael . On
remarque qu’on peut créer un dossier dans le répertoire ftp_backup .
Lorsqu’on se connecte avec Mohamed qui a juste le droit de lire dans le répertoire var/www.
lorsqu’on essaye de créer un dossier on nous refuse, car on n’a pas les droits (permission
denied). En plus on a la description des droits 550(juste lire et exécuter un fichier).
11/12
Lamdaouar
Blanc
07/12/2015
VI-Conclusion
Durant ce TP nous avons pu mettre en place le serveur ftp VsFTPd, avec sa sécurité
maximal.
Nous avons, sur ce serveur, créé et configuré des utilisateurs, avec un répertoire personnel,
et des droits d’accès et de connections différents.
Enfin, nous avons accéder au serveur ftp à distance, depuis les différents utilisateurs, avec
la console de Debian ainsi que Filezilla sous Windows.
En faisant cela, nous avons pu mettre en place et constater les niveaux d’accès par
utilisateurs.
12/12