溫馨提示×

Debian虛擬機防火墻配置技巧

小樊
43
2025-10-23 08:51:04
欄目: 云計算

Debian虛擬機防火墻配置技巧

一、工具選擇:優先使用UFW(簡化配置)

對于大多數Debian用戶,UFW(Uncomplicated Firewall) 是管理防火墻的首選工具,它基于iptables但提供了更簡潔的命令行接口,適合新手快速上手。若需更底層的高級配置(如復雜規則、自定義鏈),再選擇iptables。

二、UFW基礎配置步驟

  1. 安裝與啟用
    首先更新軟件包列表并安裝UFW:

    sudo apt update && sudo apt install ufw
    

    啟用UFW(啟用后會默認拒絕所有傳入連接,允許所有傳出連接):

    sudo ufw enable
    

    啟用時系統會提示是否允許SSH連接(若通過SSH管理虛擬機,必須選擇“是”,否則會導致斷連)。

  2. 常用規則操作

    • 允許端口:開放HTTP(80/tcp)、HTTPS(443/tcp)、SSH(22/tcp)等常用端口:
      sudo ufw allow 80/tcp    # 允許HTTP
      sudo ufw allow 443/tcp   # 允許HTTPS
      sudo ufw allow 22/tcp    # 允許SSH
      
    • 允許特定IP訪問:限制某IP(如公司IP 192.168.1.100)訪問所有端口:
      sudo ufw allow from 192.168.1.100
      
    • 允許服務:通過服務名快速開放端口(如MySQL的3306端口):
      sudo ufw allow mysql     # 等同于允許3306/tcp
      
    • 刪除規則:通過規則編號(sudo ufw status numbered查看)或直接指定規則刪除:
      sudo ufw delete 3        # 刪除第3條規則
      sudo ufw delete allow 80/tcp  # 刪除允許80/tcp的規則
      
    • 查看狀態:查看當前規則及狀態(verbose模式顯示詳細信息):
      sudo ufw status          # 簡略狀態
      sudo ufw status verbose  # 詳細狀態
      
  3. 高級UFW配置

    • 限制SSH登錄速率:防止暴力破解,限制每分鐘最多3次嘗試:
      sudo ufw limit 22/tcp
      
    • 允許特定網絡接口:僅允許eth2接口訪問3306端口(如虛擬機綁定特定網卡):
      sudo ufw allow in on eth2 to any port 3306
      
    • 開啟日志記錄:記錄被拒絕的連接,便于排查問題:
      sudo ufw logging on
      
    • 重置UFW:若配置錯誤,可通過重置恢復默認狀態(會刪除所有規則):
      sudo ufw reset
      

三、iptables高級配置(可選)

若需更靈活的規則(如端口轉發、自定義鏈),可使用iptables,但需手動保存規則并設置開機加載:

  1. 安裝與基本配置
    安裝iptables:

    sudo apt update && sudo apt install iptables
    

    配置默認策略(拒絕所有傳入,允許所有傳出):

    sudo iptables -P INPUT DROP
    sudo iptables -P OUTPUT ACCEPT
    

    允許已建立的連接(避免中斷現有會話):

    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    

    允許SSH(22/tcp)、HTTP(80/tcp)、HTTPS(443/tcp):

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    

    拒絕其他所有入站連接(作為最后一條規則):

    sudo iptables -A INPUT -j DROP
    
  2. 保存與自動加載規則
    Debian默認不保存iptables規則,需手動保存:

    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    

    創建開機加載腳本(/etc/network/if-pre-up.d/iptables):

    sudo tee /etc/network/if-pre-up.d/iptables <<EOF
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables/rules.v4
    EOF
    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

    此時重啟虛擬機后,iptables規則會自動加載。

四、關鍵安全技巧

  1. 默認策略設置
    無論使用UFW還是iptables,都應遵循“默認拒絕,顯式允許”原則:

    • UFW:sudo ufw default deny incoming(拒絕所有傳入)、sudo ufw default allow outgoing(允許所有傳出);
    • iptables:sudo iptables -P INPUT DROP(拒絕所有傳入)、sudo iptables -P OUTPUT ACCEPT(允許所有傳出)。
  2. SSH安全配置

    • 啟用前先放行SSH端口(避免斷連);
    • 更改默認SSH端口(如2222):編輯/etc/ssh/sshd_config,修改Port 2222,然后重啟SSH;
    • 禁用root直接登錄:PermitRootLogin no(需用普通用戶+sudo);
    • 使用SSH密鑰對替代密碼登錄(更安全)。
  3. 測試與驗證

    • 配置規則后,用telnetnmap測試端口是否開放(如nmap -p 80 your_vm_ip);
    • 檢查UFW狀態(sudo ufw status)或iptables規則(sudo iptables -L -n -v),確保無沖突規則;
    • 查看UFW日志(/var/log/ufw.log)或系統日志(journalctl -u ufw),排查異常連接。

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