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