在Debian上配置FTP服务器防火墙,常用工具为ufw或iptables,核心步骤如下:
一、基础规则配置
-
允许FTP控制与数据端口
- 控制连接(默认21端口):
sudo ufw allow 21/tcp或sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT - 数据连接(默认20端口):
sudo ufw allow 20/tcp或sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
- 控制连接(默认21端口):
-
开放被动模式端口范围
- 编辑FTP配置文件(如
/etc/vsftpd.conf),设置被动模式端口范围(如pasv_min_port=30000、pasv_max_port=31000)。 - 防火墙中开放该范围:
sudo ufw allow 30000:31000/tcp或sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT。
- 编辑FTP配置文件(如
二、工具选择与规则保存
- UFW(推荐):
- 启用防火墙:
sudo ufw enable。 - 保存规则:
sudo ufw reload,查看状态:sudo ufw status verbose。
- 启用防火墙:
- IPTables:
- 保存规则:
sudo iptables-save > /etc/iptables/rules.v4(需安装iptables-persistent)。 - 重启后自动加载规则。
- 保存规则:
三、安全增强建议
- 优先使用SFTP/FTPS:FTP协议不加密,建议改用SSH文件传输(SFTP)或FTPS(SSL/TLS加密)。
- 限制端口范围:被动模式端口范围尽量缩小(如30000-31000),避免开放过多端口。
- 验证配置:配置后通过FTP客户端测试连接,确保端口开放且服务正常。
参考命令总结
| 场景 | UFW命令 | IPTables命令 |
|---|---|---|
| 允许FTP控制/数据 | sudo ufw allow 20,21/tcp |
sudo iptables -A INPUT -p tcp --dport 20,21 -j ACCEPT |
| 允许被动模式端口 | sudo ufw allow 30000:31000/tcp |
sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT |
| 保存规则 | sudo ufw reload |
sudo iptables-save > /etc/iptables/rules.v4 |
以上步骤参考自,可根据实际需求调整端口范围和工具。