溫馨提示×

Linux FTP Server如何實現IP黑名單功能

小樊
48
2025-06-11 21:07:06
欄目: 智能運維

在Linux上,有多種方法可以實現FTP服務器的IP黑名單功能。以下是一些常見的方法:

方法一:使用vsftpd的配置文件

  1. 編輯vsftpd配置文件: 打開/etc/vsftpd/vsftpd.conf文件,添加或修改以下配置項:

    tcp_wrappers=YES
    

    這將啟用TCP Wrappers,允許你使用hosts.denyhosts.allow文件來控制訪問。

  2. 配置hosts.deny和hosts.allow

    • 創建或編輯/etc/hosts.deny文件,添加你想要黑名單的IP地址:

      vsftpd: 192.168.1.100
      vsftpd: 192.168.1.101
      
    • 創建或編輯/etc/hosts.allow文件,允許特定的IP地址訪問:

      vsftpd: 192.168.1.1
      vsftpd: 192.168.1.2
      

    這樣,只有hosts.allow文件中列出的IP地址才能訪問FTP服務器,其他IP地址將被拒絕。

方法二:使用iptables

  1. 阻止特定IP地址: 使用iptables命令來阻止特定的IP地址訪問FTP服務器:

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

    這將阻止來自192.168.1.100192.168.1.101的FTP連接。

  2. 允許特定IP地址: 如果你需要允許某些IP地址訪問FTP服務器,可以使用以下命令:

    sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.1 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.2 -j ACCEPT
    

方法三:使用fail2ban

  1. 安裝fail2ban: 如果你還沒有安裝fail2ban,可以使用以下命令進行安裝:

    sudo apt-get install fail2ban
    
  2. 配置fail2ban: 創建或編輯/etc/fail2ban/jail.local文件,添加以下配置:

    [DEFAULT]
    bantime = 3600
    findtime = 600
    maxretry = 3
    
    [vsftpd]
    enabled = true
    port = ftp
    filter = vsftpd
    logpath = /var/log/vsftpd.log
    banaction = iptables-multiport
    
  3. 創建過濾器: 創建或編輯/etc/fail2ban/filter.d/vsftpd.conf文件,添加以下內容:

    [Definition]
    failregex = ^%(__prefix_line)s(?:error:.*|.*denied|.*access denied).*$
    ignoreregex =
    
  4. 重啟fail2ban: 重啟fail2ban服務以應用配置:

    sudo systemctl restart fail2ban
    

    fail2ban將監控FTP日志文件,并根據配置阻止惡意IP地址。

通過以上方法,你可以有效地實現Linux FTP服務器的IP黑名單功能。選擇適合你需求的方法進行配置即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女