問題描述

業務接入DDoS高防后,用戶訪問業務時存在異常卡頓、延遲、訪問不通等問題。

問題原因

  1. 遇到這類問題時,需要您收集受影響的訪問地址,并通過Traceroute或MTR等工具進行鏈路測試,如下所示,定位是哪個節點的問題。
    說明
    mtr --no-dns [$IP]
    說明 [$IP]為您收集受影響的訪問地址。
    系統顯示類似如下,發現有個節點存在延遲。業務接入DDoS高防后存在卡頓、延遲、訪問不通等問題
  2. 確認該延遲節點的Host值是DDoS高防后端節點地址還是DDoS高防的地址。

解決方案

如果業務緊急,建議您先跳過高防,直接訪問源站,優先保證業務正常運行,然后在參考以下步驟排查處理:

DDoS高防后端節點異常分析與處理

您需要根據DDoS高防后端節點的類型,選擇對應的排查步驟。

源站類型 排查步驟
負載均衡SLB
  1. 使用TCPing工具,檢測SLB的IP地址和端口,查看是否有異常。詳情請參見DDoS高防清洗事件分析與處理
  2. 檢查SLB狀態是否有異常,例如連接數是否超過規格默認最大連接數。
  3. 檢查SLB是否設置了訪問控制,或者其他的訪問控制策略。

    如有,請確認已經放行了DDoS高防的回源IP網段。更多信息,請參見放行DDoS高防回源IP

  4. 檢查SLB后端的服務器,確認是否有安全軟件或其他IP封禁策略誤攔截了DDoS高防的回源IP。如有,請確認已經放行了DDoS高防的回源IP網段。更多信息,請參見放行DDoS高防回源IP
    說明 后端服務器配置SLB后,如果無法識別訪問者的真實源IP(沒有使用七層負載均衡),對后端服務器來說所有的請求都是來自高防回源IP段,因此分攤到每個回源IP上的請求量會增大很多,如果有安全軟件進行惡意IP識別并阻斷,則可能會誤攔截高防集群本身的回源IP,而此類回源IP都需要放行。
  5. 確認SLB IP地址是否暴露,若無法判斷或已暴露,建議您更換SLB,否則黑客可能會繞過DDoS高防直接攻擊源站。
云服務器ECS
  1. 使用TCPing工具,檢測ECS實例IP和端口,查看記錄是否有異常。詳情請參見DDoS高防清洗事件分析與處理
  2. 檢查ECS實例是否有異常事件,例如服務器本身黑洞及清洗事件、CPU使用率高、數據庫請求慢、出方向帶寬高等。
  3. 檢查ECS實例是否設置了安全組、安全軟件或其他的訪問控制策略。如有,請確認已經放行了DDoS高防的回源IP網段。更多信息,請參見放行DDoS高防回源IP
  4. 確認非網站業務是否添加真實源IP允許訪問ECS實例的安全組,詳情請參見非網站接入訪問業務異常
  5. 確認ECS實例IP是否暴露,若無法判斷或已暴露,黑客可能會繞過DDoS高防直接攻擊ECS實例。建議您更換源站ECS實例IP。更多信息,請參見更換源站ECS公網IP
非阿里云服務器
  1. 使用TCPing工具,檢測服務器IP和端口,查看記錄是否有異常。詳情請參見DDoS高防清洗事件分析與處理
  2. 檢查服務器是否有異常事件,例如CPU高、數據庫請求慢、出方向帶寬滿等。
  3. 檢查服務器本身是否設置了黑、白名單,安全軟件或者其他的訪問控制策略。如有,請確認已經放行了DDoS高防的回源IP網段。更多信息,請參見放行DDoS高防回源IP
  4. 確認服務器IP是否暴露,若無法判斷或已暴露,建議您更換服務器IP,不要使用之前已暴露的IP。否則黑客可能會繞過DDoS高防直接攻擊服務器。

DDoS高防問題

您可以在DDoS高防控制臺實例管理頁面查看高防實例的狀態。如果是出現以下狀態,請選擇對應的方法處理:
  • 清洗中

    當網絡流量超過清洗閾值時,阿里云會開始對攻擊流量進行清洗,此時可能會導致卡頓或者延遲問題。

  • 黑洞中

    假如您的服務器遭受大流量攻擊而進入黑洞,那么除阿里云內部和該服務器同地域的云產品仍然能夠正常連通該服務器外,其他所有來自外部的流量都會被丟棄。

DDoS高防清洗事件分析與處理
如下圖所示,表示DDoS高防實例有清洗事件,問題可能是清洗事件引起。使用TCPing工具,分別對受攻擊端口和未被攻擊端口進行延遲和丟包的測試:實例狀態
根據記錄結果,對照下表定位并解決問題。
受攻擊端口

有延時、丟包

未被攻擊端口

有延時、丟包

問題分析處理
說明不是清洗策略的原因,清洗策略未導致誤殺。
建議您查看后端服務器狀態是否異常,確認后端服務器的抗攻擊性能。若服務器抗攻擊能力較弱,DDoS高防需要收緊防御策略。您可以根據以下參數,分析服務器抗攻擊能力并調整DDoS高防的防御策略。
  • 正常用戶訪問情況
  • 業務主要交互過程
  • 應用對外服務能力
清洗策略導致出現問題。
說明不是清洗策略的原因,清洗策略正常。
一般不存在這種情況。
DDoS高防黑洞事件分析與處理
  1. 如下圖所示,說明DDoS高防實例有黑洞事件。請確認進入黑洞的DDoS高防實例的IP,以及受影響的訪問請求都經過該IP。實例狀態-黑洞中
  2. 建議您使用DDoS高防的黑洞解封功能,解除黑洞狀態。每個阿里云賬號每天共擁有五次黑洞解封機會,具體操作請參見黑洞解封

更多信息

本小節主要介紹TCPing工具,TCPing工具使用TCP的方式去查看端口情況,可以檢測出TCP延遲及連接情況。您可以單擊下載TCPing工具
  • Windows使用方法
    將Windows版的TCPing工具拷貝至Windows系統上,打開命令行工具,進入TCPing工具所在目錄,在命令行中運行tcping [$Domain_Name] [$Port]
    說明
    • [$Domain_Name]為您需要檢測的域名或IP地址。
    • [$Port]為需要檢測的端口號。
    系統顯示類似如下。
    Probing 192.168.XX.XX:80/tcp - Port is open - time=19.550ms
    Probing 140.XXX.XXX.8:80/tcp - Port is open - time=8.761ms
    Probing 192.168.XX.XX:80/tcp - Port is open - time=10.899ms
    Probing 192.168.XX.XX:80/tcp - Port is open - time=13.013ms
    
    Ping statistics for 192.168.XX.XX:80
         4 probes sent.
         4 successful, 0 failed.
    Approximate trip times in milli-seconds:
         Minimum = 8.761ms, Maximum = 19.550ms, Average = 13.056ms                            
  • Linux使用方法
    1. 上傳Linux版的TCPing工具,依次執行以下命令,安裝TCPing工具。
      tar zxvf tcping-1.3.5.tar.gz
      cd tcping-1.3.5
      make tcping.linux
    2. 執行以下命令,進行檢測。
      for ((i=0; i<10; ++i)) ; do ./tcping www.example.com 80;done
      系統顯示類似如下。
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.

適用于

DDoS高防