debian

debian系统中vsftp的防火墙配置

小樊
36
2025-04-20 02:25:32
栏目: 智能运维

在Debian系统中配置VSFTPD(Very Secure FTP Daemon)的防火墙,通常需要使用iptablesufw(Uncomplicated Firewall)。以下是使用这两种方法的步骤:

使用 iptables

  1. 安装必要的软件包: 确保你已经安装了vsftpdiptables

    sudo apt update
    sudo apt install vsftpd iptables
    
  2. 配置VSFTPD: 编辑VSFTPD的配置文件 /etc/vsftpd.conf,确保以下配置项正确设置:

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  3. 重启VSFTPD服务

    sudo systemctl restart vsftpd
    
  4. 配置防火墙: 使用iptables允许FTP流量。以下是一些常见的规则:

    # 允许FTP控制连接(端口21)
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
    # 允许FTP数据连接(端口20)
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
    # 允许被动模式FTP数据连接(端口范围通常在1024到1048之间)
    sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT
    
    # 允许已建立的连接
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # 默认拒绝所有其他连接
    sudo iptables -P INPUT DROP
    
  5. 保存防火墙规则: 使用iptables-persistent保存规则,以便在系统重启后仍然有效。

    sudo apt install iptables-persistent
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

使用 ufw

  1. 安装必要的软件包: 确保你已经安装了vsftpdufw

    sudo apt update
    sudo apt install vsftpd ufw
    
  2. 配置VSFTPD: 编辑VSFTPD的配置文件 /etc/vsftpd.conf,确保以下配置项正确设置:

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  3. 重启VSFTPD服务

    sudo systemctl restart vsftpd
    
  4. 启用UFW

    sudo ufw enable
    
  5. 配置UFW规则: 允许FTP流量。以下是一些常见的规则:

    # 允许FTP控制连接(端口21)
    sudo ufw allow 21/tcp
    
    # 允许FTP数据连接(端口20)
    sudo ufw allow 20/tcp
    
    # 允许被动模式FTP数据连接(端口范围通常在1024到1048之间)
    sudo ufw allow 1024:1048/tcp
    
    # 允许已建立的连接
    sudo ufw allow 'vsftpd'
    
  6. 检查UFW状态

    sudo ufw status
    

通过以上步骤,你应该能够在Debian系统中成功配置VSFTPD的防火墙。请根据你的具体需求调整防火墙规则。

0
看了该问题的人还看了