xat59.vsftpd
Description
Installer et configurer le serveur FTP vsftpd.
Fonctionnalités :
- utilisateurs locaux
- utilisateurs virtuels
- chrooting
- non sécurisé / tls v1
- TLS explicite et implicite
- plusieurs instances vsftpd
Ne couvre pas :
- création de certificat et de clé SSL
Installation du rôle
$ git clone https://github.com/Xat59/ansible-role-vsftpd
Variables
vsftpd_enable_local_users : Activer la connexion des utilisateurs locaux
Remarque : Si vsftpd_enable_virt_users est 'true', la valeur de cette variable sera écrasée par 'true'- requis : Non
- valeur par défaut : true
- choix : true ou false
vsftpd_chroot_local_users : Activer le chrooting pour les utilisateurs locaux
Remarque : chrooting nécessite que l'utilisateur soit placé dans un chemin chroot valide (propriétaire et mode)- requis : Non
- valeur par défaut : false
- choix : true ou false
vsftpd_ftp_banner : Message d'accueil lors de la première connexion
- requis : Non
- valeur par défaut : Serveur FTP privé
vsftpd_passive_min_port : Numéro de port minimum pour la connexion de données
Remarque : utile pour la configuration du pare-feu- requis : Non
vsftpd_passive_max_port : Numéro de port maximum pour la connexion de données
Remarque : utile pour la configuration du pare-feu- requis : Non
vsftpd_passive_address : Adresse IP pour la connexion
- requis : Non
vsftpd_ssl_enabled : Activer ou désactiver le support SSL
- requis : Non
- valeur par défaut : false
- choix : true ou false
vsftpd_ssl_privkey : Chemin vers la clé du certificat SSL
- requis : si vsftpd_ssl_enabled est 'True'
vsftpd_ssl_certificate : Chemin vers le certificat SSL
- requis : si vsftpd_ssl_enabled est 'True'
vsftpd_ssl_implicit : Activer ou désactiver le TLS implicite
Si activé, une poignée de main SSL est attendue en premier sur toutes les connexions (FTPs)
Si désactivé, le TLS explicite est activé (FTPes)- requis : Non
- valeur par défaut : true
- choix : true ou false
vsftpd_systemd_service_name : Nom de l'instance vsftpd
Remarque : Si redéfini, le fichier de configuration vsftpd et le fichier de service systemd hériteront de ce nom. Si non redéfini, le fichier de configuration et le fichier de service systemd garderont leurs valeurs par défaut.
Exemple Avec vsftpd_systemd_service_name défini sur 'vsftpd-implicit', le fichier de configuration sera /etc/vsftpd/vsftpd-implicit.conf et le fichier de service systemd sera vsftpd@vsftpd-implicit.service.- requis : Non
- valeur par défaut : vsftpd
vsftpd_guest_username : Un login invité (tous les utilisateurs non anonymes) est associé à l'utilisateur réel spécifié dans ce paramètre.
- requis : Non
vsftpd_enable_virt_users : Activer les utilisateurs virtuels sur l'instance vsftpd
Remarque : définir cette variable sur 'true' écrasera la variable vsftpd_chroot_local_users sur 'true'.- requis : Non. Mais, si vous devez définir des utilisateurs virtuels via vsftpd_virt_users, vous devez définir vsftpd_enable_virt_users sur 'True'.
- valeur par défaut : false
- choix : true ou false
vsftpd_no_log : Désactiver l'enregistrement des tâches traitant des informations sensibles
- requis : Non.
- valeur par défaut : true
- choix : true ou false
vsftpd_virt_users : Liste des utilisateurs virtuels activés avec des remplacements de paramètres par utilisateur
requis : Non
Paramètres disponibles par utilisateur :
- username : nom d'utilisateur de l'utilisateur virtuel actuel
- requis : Oui
- password : mot de passe de l'utilisateur virtuel actuel
- requis : Oui
- local_root : répertoire personnel de l'utilisateur virtuel actuel
- requis : Non
- write_enable : autorisation d'écriture de l'utilisateur virtuel actuel
- requis : Non
- guest_username : remappage de l'utilisateur virtuel actuel vers l'utilisateur local spécifié
- requis : Non
Exemple : voir les exemples ci-dessous.
- username : nom d'utilisateur de l'utilisateur virtuel actuel
Utilisation
- FTP non sécurisé
---
- hosts: host01
gather_facts: yes
become: yes
- role: ansible-role-vsftpd
- FTP sécurisé avec TLS explicite (FTPes)
---
- hosts: host01
gather_facts: yes
become: yes
- role: ansible-role-vsftpd
vsftpd_ssl_enabled: true
vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
vsftpd_ssl_implicit: false
- FTP sécurisé avec TLS implicite (FTPs)
---
- hosts: host01
gather_facts: yes
become: yes
- role: ansible-role-vsftpd
vsftpd_ssl_enabled: true
vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
vsftpd_ssl_implicit: true
- FTP non sécurisé avec utilisateurs virtuels
---
- hosts: host01
gather_facts: yes
become: yes
- role: ansible-role-vsftpd
vsftpd_enable_virt_users: true
vsftpd_virt_users:
- username: xat
password: xat
guest_username: www-data
local_root: /var/www/
write_enable: yes
- username: jdoe
password: jdoe
guest_username: www-data
local_root: /var/www
write_enable: no