linux

Linux vsftp防火墙设置:如何防止未授权访问

小樊
42
2025-07-17 08:22:48
栏目: 智能运维

在Linux系统中,使用vsftpd(Very Secure FTP Daemon)作为FTP服务器时,配置防火墙是防止未授权访问的重要步骤。以下是详细的防火墙设置指南,帮助你确保FTP服务器的安全性。

安装和启动vsftpd服务

首先,确保你已经安装了vsftpd。在基于Debian的系统(如Ubuntu)上,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install vsftpd

在基于RHEL的系统(如CentOS)上,可以使用以下命令安装:

sudo yum install vsftpd

安装完成后,启动并启用vsftpd服务:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

配置防火墙

使用firewalld配置防火墙

Firewalld是CentOS 7及更高版本中默认的防火墙管理工具。以下是配置firewalld的基本步骤:

  1. 查看当前防火墙状态

    sudo firewall-cmd --state
    
  2. 添加必要的端口

    • 允许FTP控制连接(端口21):
    sudo firewall-cmd --permanent --add-port=21/tcp
    
    • 允许FTP数据连接(端口范围40000-50000):
    sudo firewall-cmd --permanent --add-port=40000-50000/tcp
    
    • 允许TLS(端口990):
    sudo firewall-cmd --permanent --add-port=990/tcp
    
  3. 重新加载防火墙规则

    sudo firewall-cmd --reload
    
  4. 启用防火墙

    sudo firewall-cmd --enable
    

使用iptables配置防火墙

如果你选择使用iptables,以下是基本步骤:

  1. 查看当前iptables规则

    sudo iptables -L
    
  2. 添加必要的端口

    • 允许FTP控制连接(端口21):
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
    • 允许FTP数据连接(端口范围40000-50000):
    sudo iptables -A INPUT -p tcp --dport 40000:50000 -j ACCEPT
    
    • 允许TLS(端口990):
    sudo iptables -A INPUT -p tcp --dport 990 -j ACCEPT
    
  3. 保存iptables规则

    • 对于基于Debian的系统:
    sudo netfilter-persistent save
    
    • 对于基于RHEL的系统:
    sudo service iptables save
    
  4. 重启iptables服务

    • 对于基于Debian的系统:
    sudo systemctl restart netfilter-persistent
    
    • 对于基于RHEL的系统:
    sudo systemctl restart iptables
    

测试防火墙配置

使用FTP客户端(如FileZilla)连接到你的服务器,确保可以正常访问FTP端口。如果使用TLS,确保SSL/TLS配置正确。

注意事项

通过以上步骤,你可以在Linux系统上成功配置vsftpd的防火墙,确保FTP服务器的安全性和可靠性。如果有任何问题,请参考相关文档或联系系统管理员。

0
看了该问题的人还看了