如何在Ubuntu上配置VSFTPD防火墙规则
导读:如何在Ubuntu上配置VSFTPD防火墙规则 1. 前置准备:安装并启用UFW防火墙 Ubuntu默认使用**UFW(Uncomplicated Firewall)**作为防火墙管理工具。若未安装,可通过以下命令安装并启用: sudo a...
如何在Ubuntu上配置VSFTPD防火墙规则
1. 前置准备:安装并启用UFW防火墙
Ubuntu默认使用**UFW(Uncomplicated Firewall)**作为防火墙管理工具。若未安装,可通过以下命令安装并启用:
sudo apt update
sudo apt install ufw
sudo ufw enable # 启用防火墙(默认拒绝所有入站连接)
2. 安装并配置VSFTPD
2.1 安装VSFTPD
sudo apt install vsftpd
2.2 修改VSFTPD配置文件
编辑配置文件/etc/vsftpd.conf(使用nano或vim):
sudo nano /etc/vsftpd.conf
根据需求调整以下关键参数(确保以下配置存在或取消注释):
listen=YES # 启用独立监听模式(IPv4)
listen_ipv6=NO # 禁用IPv6(若无需IPv6)
anonymous_enable=NO # 禁止匿名用户登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写操作(上传/删除文件)
chroot_local_user=YES # 将本地用户限制在其主目录(增强安全性)
allow_writeable_chroot=YES # 允许chroot目录可写(避免权限问题)
pasv_enable=YES # 启用被动模式(必需,否则无法通过防火墙传输数据)
pasv_min_port=50000 # 被动模式最小端口(自定义范围)
pasv_max_port=50100 # 被动模式最大端口(自定义范围,建议预留100+端口)
保存并退出编辑器(Ctrl+O→Enter→Ctrl+X)。
2.3 重启VSFTPD服务
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd # 设置开机自启
3. 配置UFW防火墙规则
3.1 允许FTP控制连接(端口21)
FTP的控制连接(用于发送命令)默认使用端口21,必须允许:
sudo ufw allow 21/tcp
3.2 允许FTP数据连接
FTP的数据连接分为两种模式,需根据实际情况配置:
- 主动模式(Port Mode):服务器主动连接客户端的数据端口(默认端口20),需允许:
sudo ufw allow 20/tcp - 被动模式(Passive Mode):客户端主动连接服务器的指定端口范围(需与
vsftpd.conf中的pasv_min_port/pasv_max_port一致),需允许该端口范围:sudo ufw allow 50000:50100/tcp # 替换为你的实际端口范围
3.3 允许FTP相关流量(可选但推荐)
若需更灵活地允许FTP状态跟踪(如已建立的连接),可添加以下规则:
sudo ufw allow proto tcp from any to any port 21/tcp
sudo ufw allow proto tcp from any to any port 20/tcp
sudo ufw allow proto tcp from any to any port 50000:50100/tcp
3.4 重新加载UFW规则
sudo ufw reload # 应用新规则
4. 验证防火墙规则
检查UFW状态,确认规则已生效:
sudo ufw status verbose
预期输出应包含以下内容(端口范围根据你的配置调整):
Status: active
To Action From
-- ------ ----
21/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
50000:50100/tcp ALLOW Anywhere
21/tcp (v6) ALLOW Anywhere (v6)
20/tcp (v6) ALLOW Anywhere (v6)
50000:50100/tcp (v6) ALLOW Anywhere (v6)
5. 测试FTP连接
使用FTP客户端(如FileZilla)连接服务器:
- 主机:服务器IP地址
- 用户名/密码:本地用户凭证
- 端口:21
- 传输模式:选择被动模式(PASV)
若能正常登录并上传/下载文件,则说明防火墙规则配置成功。
注意事项
- 被动模式端口范围:需确保
vsftpd.conf中的pasv_min_port/pasv_max_port与UFW规则中的端口范围一致,否则会导致数据传输失败。 - 防火墙默认策略:UFW默认拒绝所有入站连接,若需允许其他服务(如SSH),需额外添加规则(如
sudo ufw allow 22/tcp)。 - 安全性增强:建议启用SSL/TLS加密(修改
vsftpd.conf中的ssl_enable=YES并配置证书),进一步提升FTP传输安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上配置VSFTPD防火墙规则
本文地址: https://pptw.com/jishu/735905.html
