vsftpd 在 Debian 上的最佳实践
一 基础安装与最小安全基线
sudo apt update && sudo apt install vsftpd -ysudo systemctl enable --now vsftpdanonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YESxferlog_enable=YES、xferlog_std_format=YESsudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak。二 加密传输与证书配置
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemsudo chmod 600 /etc/ssl/private/vsftpd.pemssl_enable=YESforce_local_logins_ssl=YES、force_local_data_ssl=YESssl_tlsv1_2=YES,并禁用不安全协议:ssl_sslv2=NO、ssl_sslv3=NO、ssl_tlsv1=NOrsa_cert_file=/etc/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.pemimplicit_ssl=YES 并开放 990/tcp(显式/隐式二选一,建议优先显式)。三 网络与防火墙配置
pasv_enable=YES、pasv_min_port=10000、pasv_max_port=10100sudo ufw allow 21/tcpsudo ufw allow 10000:10100/tcp四 用户管理与权限隔离
sudo adduser --system --home /srv/ftp/ftpuser --shell /usr/sbin/nologin ftpusersudo mkdir -p /srv/ftp/ftpuser/uploadsudo chown -R ftpuser:ftpuser /srv/ftp/ftpusersudo chmod 755 /srv/ftp/ftpuser && sudo chmod 775 /srv/ftp/ftpuser/uploaduserlist_enable=YES、userlist_file=/etc/vsftpd.userlist、userlist_deny=NOallow_writeable_chroot=YES,但更推荐“根不可写 + 上传目录可写”的模型)。五 性能与运维优化
max_clients=100、max_per_ip=5local_max_rate=307200(约 300 KB/s)、anon_max_rate=307200pasv_enable=YESnet.core.somaxconn、net.ipv4.tcp_tw_reuse 等),并监控 CPU/内存/IO(如 htop、vmstat、iostat、sar)。xferlog_enable=YES、xferlog_std_format=YESsudo systemctl restart vsftpd