sudo apt update && sudo apt upgrade -y,确保系统内核、vsftpd及相关依赖处于最新版本,修复已知安全漏洞。sudo apt install vsftpd -y,选择默认配置即可(后续需手动优化)。编辑配置文件/etc/vsftpd.conf,找到anonymous_enable=YES,修改为anonymous_enable=NO,彻底禁止匿名用户登录,避免未授权访问。
chroot_local_user=YES,将用户限制在自己的家目录(如/home/ftpuser),无法访问系统其他路径。allow_writeable_chroot=YES,解决chroot环境下用户无法上传文件的问题(若无需用户写入,可省略此步)。local_enable=YES,禁止远程IP直接登录。userlist_enable=YES、userlist_file=/etc/vsftpd.userlist。userlist_deny=NO,仅/etc/vsftpd.userlist中的用户可登录;若设为YES,则列表内用户被拒绝。sudo apt install openssl -y。sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
/etc/vsftpd.conf中添加:ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
此配置强制数据传输和登录过程使用TLS1.0及以上协议,禁用不安全的SSLv2/3。sudo ufw allow 20/tcp && sudo ufw allow 21/tcp。sudo ufw allow 1024:1048/tcp。sudo ufw enable。pasv_enable=YES。pasv_min_port=1024、pasv_max_port=1048(避免使用低端口号,减少被拦截风险)。pasv_address=your_public_ip。sudo adduser ftpuser(按提示设置密码,家目录默认为/home/ftpuser)。/etc/ssh/sshd_config,添加DenyUsers ftpuser,然后重启SSH服务:sudo systemctl restart sshd。sudo chmod 755 /home/ftpuser(用户可读写执行,其他用户仅可读和执行)。sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
sudo chmod 755 /home/ftpuser/upload
在/etc/vsftpd.conf中添加:
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
日志将记录用户的上传、下载、登录等操作,便于后续审计。
使用tail命令实时查看日志:sudo tail -f /var/log/vsftpd.log;或通过grep筛选异常操作(如多次登录失败):sudo grep "failed" /var/log/vsftpd.log。
sudo apt update && sudo apt upgrade vsftpd -y,及时修补安全漏洞。/etc/vsftpd.conf和/etc/vsftpd.userlist,避免配置丢失。systemctl status vsftpd检查服务运行状态,若出现异常,通过日志定位问题并修复。通过以上步骤,可显著提升Debian系统上vsftpd的安全性,防范匿名访问、未授权数据传输、权限滥用等常见风险。需根据实际业务需求调整配置(如调整被动模式端口范围、添加更多用户到vsftpd.userlist等)。