溫馨提示×

Debian FTP Server的防火墻設置怎么做

小樊
41
2025-09-29 03:35:01
欄目: 智能運維

Debian FTP Server防火墻設置指南
配置Debian FTP Server的防火墻需確保FTP服務所需端口(控制連接、數據傳輸、被動模式)開放,同時兼顧安全性。以下是使用ufw(推薦,操作簡便)和iptables(底層配置)的詳細步驟:

一、前置準備

  1. 安裝FTP服務器(如未安裝):
    sudo apt update && sudo apt install vsftpd -y
    
  2. 配置FTP服務器(關鍵:設置被動模式端口范圍):
    編輯/etc/vsftpd.conf,確保以下參數正確(被動模式端口范圍需與防火墻規則一致,示例為50000-50050):
    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    pasv_enable=YES
    pasv_min_port=50000
    pasv_max_port=50050
    
    重啟服務使配置生效:
    sudo systemctl restart vsftpd
    

二、使用ufw(推薦)配置防火墻

ufw是Debian默認的簡化防火墻工具,適合新手快速配置。

  1. 安裝并啟用ufw
    sudo apt install ufw -y
    sudo ufw enable  # 啟用ufw(首次啟用會提示確認)
    
  2. 允許FTP流量
    • 允許FTP控制連接(默認端口21):
      sudo ufw allow 21/tcp
      
    • 允許FTP數據傳輸(主動模式需開放端口20,但現代FTP客戶端多使用被動模式,此步可選):
      sudo ufw allow 20/tcp
      
    • 允許被動模式端口范圍(根據vsftpd.conf中的pasv_min_port/pasv_max_port設置):
      sudo ufw allow 50000:50050/tcp
      
  3. 允許FTP over TLS(可選,提升安全性)
    若啟用FTPS(FTP over SSL/TLS),需額外開放控制端口990和數據端口989:
    sudo ufw allow 990/tcp
    sudo ufw allow 989/tcp
    
  4. 檢查并重載規則
    • 查看當前規則(確認ACTIVE狀態):
      sudo ufw status verbose
      
    • 重載規則(修改后需重載生效):
      sudo ufw reload
      

三、使用iptables配置防火墻

iptables是Linux底層防火墻工具,適合需要精細控制的場景。

  1. 安裝iptables(若未安裝):
    sudo apt install iptables -y
    
  2. 添加防火墻規則
    • 允許FTP控制連接(端口21):
      sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
      
    • 允許FTP數據傳輸(主動模式端口20,被動模式需后續規則):
      sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
      
    • 允許被動模式端口范圍(根據vsftpd.conf設置,示例為50000-50050):
      sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
      
    • 允許已建立的連接(避免被動模式數據傳輸被阻斷):
      sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      
    • 允許本地回環接口(本地服務通信):
      sudo iptables -A INPUT -i lo -j ACCEPT
      
    • 拒絕其他所有輸入流量(最后一條規則,確保安全):
      sudo iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
      
  3. 保存規則(避免重啟失效):
    • 安裝iptables-persistent保存規則:
      sudo apt install iptables-persistent -y
      sudo netfilter-persistent save
      
    • 或手動保存至/etc/iptables/rules.v4
      sudo sh -c "iptables-save > /etc/iptables/rules.v4"
      

四、注意事項

  1. 被動模式端口一致性
    FTP服務器(vsftpd.conf)的pasv_min_port/pasv_max_port必須與防火墻規則中的被動模式端口范圍完全一致,否則客戶端無法正常下載/上傳文件。
  2. 安全性優化
    • 避免使用FTP明文傳輸(易被竊聽),建議啟用FTPS(vsftpd配置ssl_enable=YES)或改用SFTP(SSH內置,更安全)。
    • 限制FTP用戶訪問權限(如chroot_local_user=YES將用戶限制在主目錄)。
    • 僅允許可信IP地址訪問FTP(通過ufw/iptables的from參數限制,例如sudo ufw allow from 192.168.1.0/24 to any port 21/tcp)。
  3. 測試連接
    使用FTP客戶端(如FileZilla)測試連接,確保能正常訪問FTP服務器并傳輸文件。

通過以上步驟,可完成Debian FTP Server的防火墻配置,確保服務安全可用。

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