首页主机资讯如何在Ubuntu上配置VSFTPD防火墙规则

如何在Ubuntu上配置VSFTPD防火墙规则

时间2025-10-27 17:41:03发布访客分类主机资讯浏览449
导读:如何在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(使用nanovim):

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+OEnterCtrl+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
Crontab任务执行时间不准确怎么解决 如何在Ubuntu上配置VSFTPD带宽限制

游客 回复需填写必要信息