Installez VSFTP sur Ubuntu 20.04. Dans ce guide, vous allez apprendre à configurer un serveur FTP et à donner accès à un répertoire particulier en tant que chroot pour un utilisateur.
Cette configuration est testée sur une instance de VM Google Compute Engine exécutant Ubuntu 20.04 LTS.
Cette configuration fonctionne donc bien pour toute machine virtuelle sur AWS EC2 Instance ou DigitalOcean ou tout autre serveur d'hébergement cloud ou VPS ou Dédié.
Prérequis pour Google Cloud
Si vous utilisez Google Cloud Platform pour configurer le FTP, vous devez suivre les étapes suivantes.
- Un Compute Engine en cours d'exécution, consultez la section Configuration d'une instance Compute Engine avec Ubuntu 20.04.
- Terminé la configuration initiale du serveur Ubuntu.
Étapes de configuration du FTP
- Configurer votre instance de machine virtuelle
- Terminer la configuration initiale du serveur
- Configurer les règles du pare-feu
- Créer un nouvel utilisateur
- Installer le serveur FTP VSFTP
- Configurer FTP
- Vérifier la configuration
Je suppose que vous avez installé et configuré votre serveur.
Configurer les règles du pare-feu
Vous pouvez configurer FTP sur n'importe quel port que vous souhaitez, maintenant vous allez le configurer dans le port par défaut 21, vous devez donc créer une règle de pare-feu pour fournir l'accès à ces ports.
Nous ouvrons également les ports 40000 à 50000 pour les connexions en mode passif.
Accédez à Réseau VPC>> Règles de pare-feu et cliquez sur Créer des règles de pare-feu.
Dans Nom entrez ftp
Dans Cibles sélectionnez All instances in the network
Dans Filtre source sélectionnez IP ranges
Dans Plages d'adresses IP sources entrez 0.0.0.0/0
Dans Protocoles et ports vérifier TCP et entrez 20, 21, 990, 40000-50000
.
Cliquez sur Créer .
Autoriser les ports FTP dans UFW
Si vous utilisez UFW sur votre serveur, assurez-vous d'ouvrir le port pour autoriser les connexions à votre serveur, sinon vous ne pourrez pas vous connecter.
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Créer un nouvel utilisateur
Vous pouvez maintenant créer un nouvel utilisateur en utilisant la commande suivante pour tester le FTP.
sudo useradd -m -c "Name, Role" -s /bin/bash username
Configurez un mot de passe pour cet utilisateur.
sudo passwd username
Installer le serveur VSFTP
VSFTP est un protocole de transfert de fichiers très sécurisé pour les systèmes basés sur Linux. Par défaut, AWS ou Google Cloud n'autoriseront pas l'authentification basée sur un mot de passe pour les instances de machine virtuelle.
Avec VSFTP, vous pouvez exécuter votre propre serveur FTP et créer des utilisateurs et les affecter à n'importe quel répertoire et empêcher l'accès à d'autres répertoires en utilisant également chroot.
Vous pouvez maintenant installer VSFTP à l'aide de la commande suivante.
sudo apt install vsftpd
Une fois l'installation terminée, vous pouvez configurer VSFTP.
Configurer VSFTP
Commencez par créer une sauvegarde du fichier de configuration VSFTP d'origine.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Modifiez le vsftpd.conf
fichier et apportez les modifications suivantes.
sudo nano /etc/vsftpd.conf
Modifier les directives suivantes.
listen=YES listen_ipv6=NO
Décommenter les directives suivantes.
write_enable=YES local_umask=022 chroot_local_user=YES
Ajouter ces configurations jusqu'à la fin.
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
Ici vous avez configuré un userlist_file
qui contient la liste des utilisateurs FTP et user_config_dir
pour contenir les configurations spécifiques à l'utilisateur.
Ajoutez l'utilisateur que vous avez créé auparavant dans le userlist
fichier.
echo "username" | sudo tee -a /etc/vsftpd.userlist
Cette commande créera un fichier avec le nom vsftpd.userlist
et ajoutez-y l'utilisateur et affichez l'utilisateur ajouté dans le terminal.
Créez un répertoire avec le nom user_config_dir
pour contenir les configurations spécifiques à l'utilisateur.
sudo mkdir -p /etc/vsftpd/user_config_dir
Créez un nouveau fichier avec le même nom que le nom d'utilisateur dans ce répertoire.
sudo nano /etc/vsftpd/user_config_dir/username
Ajoutez la ligne suivante à ce fichier.
local_root=/path/to/your/directory
Enregistrez le fichier et quittez l'éditeur.
Redémarrez enfin VSFTP.
sudo systemctl restart vsftpd
Empêcher l'accès SSH
Vous devez maintenant empêcher l'accès SSH à l'utilisateur nouvellement créé en ajoutant le DenyUsers
directive dans votre sshd_config
.
sudo nano /etc/ssh/sshd_config
Ajoutez la ligne suivante au bas du fichier.
DenyUsers username other-user
Vous pouvez ajouter plusieurs utilisateurs séparés par un espace.
Redémarrez SSH.
sudo systemctl restart ssh
Préparez-vous à un poste de professionnel des technologies de l'information avec le système d'exploitation Linux
Vérifiez la configuration
Ouvrez maintenant votre client FTP et entrez l'adresse IP externe de votre serveur comme nom d'hôte, Port comme 21, nom d'utilisateur avec le nom d'utilisateur que vous avez créé auparavant et avec le mot de passe.
Vous serez maintenant connecté au serveur et vous ne pourrez accéder qu'au dossier qui vous est attribué.
Conclusion
Vous avez maintenant appris à configurer FTP sur votre instance de machine virtuelle sur Ubuntu 20.04.
Merci pour votre temps. Si vous rencontrez un problème ou des commentaires, veuillez laisser un commentaire ci-dessous.