在Debian系统上,vsftpd与防火墙(以UFW为例)协同配置步骤如下:
-
安装vsftpd
sudo apt update && sudo apt install vsftpd sudo systemctl start vsftpd && sudo systemctl enable vsftpd -
配置vsftpd
编辑配置文件/etc/vsftpd.conf,关键参数:anonymous_enable=NO:禁止匿名登录。local_enable=YES:允许本地用户登录。chroot_local_user=YES:限制用户至主目录。pasv_enable=YES:启用被动模式,设置端口范围(如pasv_min_port=40000、pasv_max_port=50000)。
保存后重启服务:
sudo systemctl restart vsftpd -
配置UFW防火墙
- 允许FTP控制端口(21)和数据端口(20):
sudo ufw allow 20/tcp sudo ufw allow 21/tcp - 允许被动模式端口范围(需与vsftpd配置一致):
sudo ufw allow 40000:50000/tcp - 启用防火墙并验证规则:
sudo ufw enable sudo ufw status verbose
- 允许FTP控制端口(21)和数据端口(20):
-
安全增强
- 启用日志记录:在
/etc/vsftpd.conf中设置xferlog_enable=YES。 - 定期更新vsftpd:
sudo apt update && sudo apt upgrade vsftpd。
- 启用日志记录:在
说明:若使用iptables,需通过iptables -A INPUT添加对应端口规则,并保存规则(sudo netfilter-persistent save)。优先使用UFW简化操作,确保防火墙规则与vsftpd的端口配置一致,避免连接被阻断。