怎样限制Debian FTP访问

1475
2025/4/3 6:32:10
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上限制FTP访问可以通过多种方法实现,包括使用防火墙规则、配置FTP服务器软件(如vsftpd)以及使用PAM(Pluggable Authentication Modules)进行用户认证和授权。以下是一些常见的方法:

方法一:使用防火墙规则

你可以使用iptables或ufw来限制FTP访问。

使用iptables

  1. 允许特定IP访问FTP服务器:

    sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.100 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 21 -j DROP
    

    这条规则允许来自192.168.1.100的IP访问FTP端口21,其他IP将被拒绝。

  2. 允许被动模式数据连接: FTP通常需要被动模式数据连接,你需要允许这些端口的流量。

    sudo iptables -A INPUT -p tcp --dport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
    

使用ufw

  1. 启用ufw:

    sudo ufw enable
    
  2. 允许特定IP访问FTP服务器:

    sudo ufw allow from 192.168.1.100 to any port 21
    sudo ufw deny 21
    
  3. 允许被动模式数据连接:

    sudo ufw allow 1024:65535/tcp
    

方法二:配置vsftpd

如果你使用的是vsftpd作为FTP服务器,可以通过编辑其配置文件来限制访问。

  1. 编辑vsftpd配置文件:

    sudo nano /etc/vsftpd.conf
    
  2. 添加或修改以下配置项:

    # 只允许本地用户登录
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    
    # 限制FTP访问IP
    tcp_wrappers=YES
    
  3. 重启vsftpd服务:

    sudo systemctl restart vsftpd
    

方法三:使用PAM进行用户认证和授权

你可以通过PAM模块来进一步限制FTP用户的访问权限。

  1. 安装PAM模块:

    sudo apt-get install libpam-pwquality
    
  2. 编辑PAM配置文件:

    sudo nano /etc/pam.d/vsftpd
    
  3. 添加以下行:

    auth required pam_pwquality.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
    account required pam_pwquality.so
    
  4. 重启vsftpd服务:

    sudo systemctl restart vsftpd
    

通过以上方法,你可以有效地限制Debian系统上的FTP访问,确保只有授权的用户能够访问FTP服务器。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Debian中如何利用Golang进行Web开发