Installation Linux

yum install -y vsftpd

Ce qui peut marcher out of the box tant qu'on ne veut pas se connecter via root.

Installation AIX

Pour AIX, récupérer le package [ici](http://www.perzl.org/aix/index.php?n=Main.Vsftpd "http://www.perzl.org/aix/index.php?n=Main.Vsftpd") par exemple, et installation via

smitty install_latest

Configuration FTPs

Génération d'une clé si on n'en a pas d'autre

openssl req -x509 -nodes -days 1095 -newkey rsa:4096 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.cert

Configuration dans /etc/vsftpd/vsftpd.conf

allow_anon_ssl=YES
anon_mkdir_write_enable=NO
anon_upload_enable=NO
anonymous_enable=NO
connect_from_port_20=YES
delete_failed_uploads=YES
dirmessage_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ftpd_banner= Bienvenue sur le serveur FTP
hide_file=.htaccess
hide_ids=YES
listen=YES
local_enable=YES
local_umask=022
log_ftp_protocol=YES
pam_service_name=vsftpd
pasv_enable=YES
pasv_max_port=65534
pasv_min_port=65435
rsa_cert_file=/etc/vsftpd/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/vsftpd.key
ssl_ciphers=HIGH
ssl_enable=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
tcp_wrappers=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO

Editer les utilisateurs autorisés (dans cette combinaison de userlist_) dans /etc/vsftpd/user_list

ftp

Le module qui va bien pour iptables /etc/sysconfig/iptables-config

IPTABLES_MODULES=\"ip_conntrack_ftp\"

Et la règle IN dans /etc/sysconfig/iptables ou via commande iptables plus service iptables save

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

On recharge et / ou démarre

service iptables restart    
chkconfig vsftpd on
service chkconfig start

SELinux est désactivé dans mon cas. Tests via Filezilla en mode debug OK.

Soucis mal compris : le ip_conntrack_ftp ne fait pas le boulot, il faut donc ouvrir la plage de port passif en entrée

-A INPUT -m state --state NEW -m tcp -p tcp --dport 65435:65534 -j ACCEPT

Attention à l'IPv6, vsFTPd n'est pas capable d'écouter sur v4 et v6. Parait-il qu'il suffit de faire écouter en IPv6 avec listen=NO listen_ipv6=YES. Et ne pas oublier ip6tables.