为FileZilla Server创建一个专用系统用户(如filezilla-server
),避免使用root账户运行,降低权限滥用风险。
sudo adduser --system --no-create-home --group filezilla-server
若需限制特定用户访问FTP,可通过FileZilla Server管理界面创建FTP用户,设置用户名、密码及主目录(如/home/ftpuser
),并在“文件操作”选项卡中配置读写权限(如仅允许上传/下载,禁止删除)。
通过ufw
(Uncomplicated Firewall)限制FTP服务(默认端口21)的访问范围,仅允许可信IP地址连接:
# 安装ufw(若未安装)
sudo apt install ufw
# 启用ufw
sudo ufw enable
# 允许FTP端口(TCP 21)
sudo ufw allow 21/tcp
# 限制仅特定IP访问(如192.168.1.100)
sudo ufw allow from 192.168.1.100 to any port 21
# 拒绝其他所有IP访问FTP
sudo ufw deny 21/tcp
# 检查ufw状态
sudo ufw status
若使用iptables
,可添加类似规则:
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j DROP
通过FileZilla Server管理界面(filezilla-server
)调整安全设置:
192.168.1.0/24
),或通过“主机访问”列表限制特定主机。通过chroot
将FTP用户限制在其主目录内,防止访问系统其他文件。若使用vsftpd
(替代FTP服务器),可编辑其配置文件:
sudo nano /etc/vsftpd.conf
添加或修改以下选项:
chroot_local_user=YES
allow_writeable_chroot=YES
重启vsftpd
服务使配置生效:
sudo systemctl restart vsftpd
注:若使用FileZilla Server,其自身管理界面已支持“主目录”设置,默认会将用户限制在该目录内。
通过PAM(Pluggable Authentication Modules)增强用户认证安全性,例如限制密码复杂度:
sudo apt install libpam-pwquality
编辑PAM配置文件(如/etc/pam.d/common-password
),添加密码策略:
password requisite pam_pwquality.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
此配置要求密码长度至少8位,且包含大小写字母、数字和特殊符号。
开启FileZilla Server的日志记录功能,便于追踪访问行为:
进入“编辑”→“设置”→“日志”,勾选“启用日志记录”,设置日志文件路径(如/var/log/filezilla.log
),并定期检查日志(如使用tail -f /var/log/filezilla.log
),及时发现异常访问。
以上方法可组合使用,根据实际需求调整(如仅需限制IP则用防火墙,需全面控制则用专用用户+FileZilla配置+chroot)。操作前建议备份相关配置文件(如/etc/filezilla-server/settings.xml
、/etc/vsftpd.conf
),避免误操作导致服务中断。