Bonjour,
J'aimerai que des gens ayant l'habitude de vsFTPd ou des services FTP en général se penchent un instant sur ma configuration afin de me dire si je ne suis pas en train de laisser passer quelque chose de moche s'il vous plait
!
En l'état j'ai des utilisateurs virtuels, dans des jails depuis lesquels ils sont bel et bien coincés et ne peuvent lire, écrire ou remonter dans l'arborescence au delà de leur répertoire racine et ils ne peuvent pas écrire à leur racine, seulement dans "www" (vous l'aurez compris, ça hébergera du site oueb).
J'ai activé l'SSL avec un certificat auto-signé en 4096 bits, l'SSL est implicite et le mode passif est activé.
Pour en arriver là j'ai lu un paquet de fois les options du manuel de vsFTPd et je pense avoir quelque chose de solide, mais n'ayant pas l'habitude de gérer ce genre de service de A à Z je me demande quand même si j'ai bien fais les choses.
Ci-dessous ma configuration de vsFTPd, avec un rappel des permissions utilisés, des détails sur mon certificat auto-signé etc:
/etc/vsftpd.conf:# vsftpd.beasts.org/vsftpd_conf.html
listen=YES
listen_ipv6=NO
allow_writeable_chroot=NO
# Anon users
#anonymous_enable=NO
#allow_anon_ssl=NO
#anon_mkdir_write_enable=NO
#anon_other_write_enable=NO
#anon_upload_enable=NO
#anon_world_readable_only=NO
#force_anon_data_ssl=NO
#force_anon_logins_ssl=NO
# SSL
ssl_enable=YES
implicit_ssl=YES
require_cert=NO
require_ssl_reuse=YES
rsa_cert_file=/etc/ssl/domain.com/ftp/domain.com.cert.pem
rsa_private_key_file=/etc/ssl/domain.com/ftp/domain.com.key.pem
#ssl_sslv2=NO
#ssl_sslv3=NO
#ssl_tlsv1=YES
#validate_cert=NO
#force_local_data_ssl=YES
#force_local_logins_ssl=YES
# Users control
guest_enable=YES
guest_username=virtual
user_sub_token=$USER
local_enable=YES
userlist_deny=NO
userlist_enable=NO
ftp_username=ftp
# Ownership and permission
chmod_enable=NO
chown_uploads=NO
virtual_use_local_privs=YES
write_enable=YES
anon_umask=017
local_umask=017
chown_upload_mode=0600
file_open_mode=0666
# Chroot
chroot_local_user=YES
passwd_chroot_enable=NO
local_root=/home/virtual/ftp/domain.com/$USER
# IP, Ports etc
connect_from_port_20=NO
port_enable=YES
port_promiscuous=NO
pasv_addr_resolve=NO
pasv_enable=YES
pasv_promiscuous=NO
listen_port=990
pasv_min_port=40000
pasv_max_port=40050
# Log and shit
dual_log_enable=YES
log_ftp_protocol=YES
xferlog_enable=YES
# Nice things
delete_failed_uploads=YES
local_max_rate=1000000 # 1Mb/s
max_clients=25
max_per_ip=2
# Other security settings
hide_ids=YES
ls_recurse_enable=NO
nopriv_user=nobody
secure_chroot_dir=/usr/share/empty
# PAM
pam_service_name=vsftpd
/etc/pam.d/vsftpd:
auth required pam_pwdfile.so pwdfile /somewhere/somepasswordfile
account required pam_permit.so
Mon certificat auto-signé:
Les permissions sur le home de l'utilisateur et la racine d'un utilisateur classique virtuel:
root@XXX:/home# ls -la
total 36
dr-xr-xr-x 4 virtual virtual 4096 oct. 20 16:14 virtual
root@XXX:/home# ls -la virtual/ftp/
total 12
dr-xr-xr-x 3 virtual virtual 4096 oct. 20 16:15 .
dr-xr-xr-x 4 virtual virtual 4096 oct. 20 16:14 ..
drwxr-xr-x 5 virtual virtual 4096 oct. 21 01:28 domain.com
root@XXX:/home# ls -la virtual/ftp/domain.com/
total 20
drwxr-xr-x 5 virtual virtual 4096 oct. 21 01:28 .
dr-xr-xr-x 3 virtual virtual 4096 oct. 20 16:15 ..
dr-xr-xr-x 3 virtual virtual 4096 oct. 21 01:28 toto
root@XXX:/home# ls -la virtual/ftp/domain.com/toto/
total 12
dr-xr-xr-x 3 virtual virtual 4096 oct. 21 01:28 .
drwxr-xr-x 5 virtual virtual 4096 oct. 21 01:28 ..
drwxr-xr-x 2 virtual virtual 4096 oct. 21 02:17 www
root@XXX:/home# ls -la virtual/ftp/domain.com/toto/www/
total 12
drwxr-xr-x 3 virtual virtual 4096 oct. 21 02:34 .
dr-xr-xr-x 3 virtual virtual 4096 oct. 21 01:28 ..
drwxrw---- 2 virtual virtual 4096 oct. 21 02:34 àlaboulangerie
-rw-rw---- 1 virtual virtual 33684941 oct. 21 02:44 sample.txt
Les permissions de /usr/share/empty:
root@XXX:/home# ls -la /usr/share/empty
total 8
drw-r--r-- 2 root root 4096 oct. 21 02:12 .
drwxr-xr-x 98 root root 4096 oct. 21 02:12 ..
Je pense qu'il me reste peu à paramétrer, j'ai commencé à écrire des scripts BASH pour gérer mes utilisateurs (ajout, suppression, modification de mot de passe etc). Je pense que je verrai avec l'usage ce qui manque, mais pour le moment y'a que la sécurité qui m'importe.
En vous remerciant par avance pour l'aide et les conseils que vous pourrez m'apporter.
Cordialement,
BarbeRousseLibre
Dernière modification par BarbeRousseLibre (21-10-2018 01:49:33)