濫用行為偵測

本頁內容適用於 Apigee 和 Apigee Hybrid。

查看 Apigee Edge 說明文件。

透過 Advanced API Security 的濫用情形偵測功能,您可以查看 API 的安全事件。安全事件是指具有相似模式的一組事件,可能代表安全威脅。Advanced API Security 會使用機器學習模型偵測惡意活動的模式,包括 API 網頁內容擷取和異常狀況,並根據類似模式將事件歸類。

Advanced API Security 偵測到安全事件時,會回報下列資訊:

  • 事件的風險等級和持續時間
  • 受事件影響的 Proxy
  • 事件的 IP 位址
  • 事件觸發的偵測規則
  • 事件的來源國家/地區

以及事件的其他相關資訊。

您可以透過 Apigee UI (如下所述)、Incidents API 或 Security stats API 存取濫用情形偵測功能。

如要瞭解使用濫用行為偵測功能所需的角色和權限,請參閱「 濫用行為偵測功能所需的角色和權限」。

如要使用這項功能,請啟用外掛程式。如果您是訂閱方案客戶,可以為機構啟用外掛程式。詳情請參閱「 為訂閱機構管理 Advanced API Security」。如果您是即付即用客戶,可以在符合資格的環境中啟用外掛程式。詳情請參閱「 管理 Advanced API Security 外掛程式」。

啟用機器學習模型來偵測濫用行為

Apigee 希望您允許我們使用貴機構的資料訓練模型,協助我們改善貴機構的濫用行為偵測機器學習模型。使用您的資料訓練模型,有助於提高模型偵測安全事件的準確度。訓練內容只會套用至貴機構。您的資料不會提供給其他 Google Cloud 客戶,用於訓練模型。

首次在 Apigee UI 中開啟「濫用行為偵測」頁面時,系統會顯示啟用要求,詢問您是否允許 Advanced API Security 的機器學習模型使用 API 流量資料進行模型訓練。您必須明確啟用相關設定,才能使用模型偵測濫用行為。請注意,如果選擇不加入模型訓練,您就不會看到進階異常偵測規則的任何偵測結果。如未選擇加入模型訓練,這項規則將無法運作。

如要瞭解管理是否啟用機器學習功能所需的角色,請參閱「濫用行為偵測功能所需的角色和權限」。

使用機器學習模型進行濫用偵測進階異常偵測

如要在濫用行為偵測功能中查看偵測到的異常狀況,您必須選擇允許 Advanced Anomaly Detection 機器學習模型,根據 API 流量資料進行訓練。

模型只會使用您的資料進行訓練。絕不會與其他 Google Cloud 客戶分享您的資料。

如要選擇使用 API 流量資料訓練異常偵測模型,請在將異常偵測功能新增至濫用行為偵測設定時,選取該選項。

開啟「濫用行為偵測」頁面

如要開啟「濫用行為偵測」頁面,請按照下列指示操作:

在 Google Cloud 控制台中,依序前往「Apigee」>「Advanced API Security」>「Abuse detection」(濫用行為偵測) 頁面。

前往「濫用行為偵測」

系統隨即會顯示「濫用行為偵測」主頁面:

濫用行為偵測主頁。

變更權限,允許 Apigee 改善機器學習模型

您隨時可以變更權限,允許 Apigee 改善機器學習模型,方法是點選「濫用行為偵測」頁面右上方的「設定」,然後選取啟用或停用這項功能的選項。

「濫用行為偵測」主頁

在頁面頂端,您可以選取下列任一近期時間範圍,查看該時間範圍內的事件:過去 1 天、1 週或 2 週。

頁面中的表格會顯示所選時間間隔內,貴機構受安全事件影響的環境。

表格的每一列也會顯示下列資訊:

  • 環境:發生濫用行為的環境。
  • 事件總數:所選時間範圍內,環境中的事件總數。如要進一步瞭解 UI 中顯示的事件和資料,請參閱「事件和顯示資料的限制」。
  • 風險等級:顯示嚴重、中度和低三種風險等級的事件數。風險等級是根據事件的不同特徵而定,例如偵測到的規則數量、類型,以及事件相對於合法流量的相對大小。風險等級可協助您判斷優先調查哪些事件,專注處理最嚴重的問題。

    風險等級可以是下列任一項:

    • 嚴重:嚴重事件具有高風險。建議您優先調查這些問題。
    • 中度:中度事件具有一定風險,但低於高風險事件,建議您優先處理這類事件,而非低風險事件。
    • 低:調查完高風險事件後,再調查低風險事件。

    每個風險等級旁的數字,代表該風險等級的事件數。

環境詳細資料

如要查看所選時間範圍內某個環境的事件,請選取上表中的環境。系統隨即會開啟「環境詳細資料」檢視畫面:

事件檢視畫面。

如果看到事件或偵測到的流量,並想建立 安全性動作,封鎖或標記與事件或偵測到的流量相關的要求,請按一下頁面頂端的「建立安全性動作」。系統隨即會開啟「安全性動作」頁面。

「環境詳細資料」檢視畫面有兩個分頁:

  • 事件:顯示環境中的事件清單和相關資訊。
  • 偵測到的流量:顯示與事件相關的偵測濫用流量詳細資料。

事件

如上所示,「環境詳細資料」檢視畫面的「事件」分頁會顯示下列選項:

  • 環境:變更要查看事件的環境。
  • Proxy:您可以選取「全選」,顯示所有 Proxy 的事件,也可以選取一或多個 Proxy,只顯示所選 Proxy 的事件。
  • 納入已封存的事件:選取這個選項後,事件清單會顯示已封存的事件。封存的事件旁邊會顯示圖示: 已封存事件圖示。

    如要從清單中隱藏已封存的事件,請取消選取「包含已封存的事件」。 如果顯示的事件過多,或您想隱藏已調查的事件,可以封存事件。

「事件」檢視畫面也會顯示下列資訊:

  • 事件名稱:系統產生的事件摘要名稱。

    部分低風險事件名稱可能會顯示為「其他」。包括不符合明確定義的流量,以及高風險威脅模式。
  • 風險等級:事件的風險等級。一般來說,請先著重於高風險事件,這類事件的信心指數也高於低風險事件。
  • 熱門偵測規則:事件觸發的熱門偵測規則清單。

  • 事件流量:事件總數,也就是與事件相關的偵測規則標記的 API 呼叫。
  • 首次偵測到事件:系統偵測到事件中第一個事件的日期和時間。
  • 上次偵測到事件的時間:系統偵測到事件中最後一個事件的日期和時間。
  • 時間長度:事件的時間長度,從第一個事件到最後一個事件。
  • UUID:事件的通用唯一識別碼。

事件詳細資料

如要查看事件詳細資料,請在表格中點選事件名稱。這會顯示「事件詳細資料」檢視畫面的「總覽」窗格:

您可以按一下頁面頂端的「建立安全性動作」,建立 安全性動作來因應事件。

「事件詳細資料」檢視畫面包含「總覽」和「屬性」兩個分頁。 如要瞭解「總覽」分頁,請參閱總覽;如要瞭解屬性,請參閱屬性。

事件詳細資料檢視畫面

總覽

「總覽」窗格會顯示事件的基本資訊,包括:

  • 事件名稱:事件的名稱。
  • 風險等級:事件的風險等級。
  • 受影響的 Proxy:受事件影響的 Proxy 數量。按一下「查看 Proxy」即可查看受影響的 Proxy。
  • 時間長度:事件的時間長度,從第一個事件到最後一個事件。以及首次偵測到事件的日期和時間。
  • IP 位址 (計數):偵測到此事件的不重複 IP 位址數量。按一下「查看 IP 位址」,即可查看 IP 位址的詳細資訊。
  • 事件:顯示事件中活動的時間序列圖。在圖表中,每個時間點的對應 y 值,都是指該時間點前後一小段時間範圍內的事件總數。將游標懸停在圖表中的某個點上時,「值」下方會顯示最近時間範圍內的事件數量。將游標向左或向右移動,觀察數值變化,即可查看時間範圍變更時的值。

    「事件」窗格也會顯示環境和事件的流量總數。

  • 偵測到的熱門規則:最多顯示五個偵測到的熱門規則群組, 包括下列資訊:
    • 主要規則:事件觸發的最重要偵測規則。
    • 主要規則 API 事件:主要規則標記的 API 事件數量。
    • 偵測到的規則總數:事件觸發的偵測規則數量。

    如要查看所有規則,請按一下資訊卡底部的「查看所有規則」。

  • 偵測到的熱門國家/地區:地圖,顯示事件中事件的來源國家/地區。地圖下方會顯示最多五個國家/地區,以及這些國家/地區的流量占總流量的百分比。

    注意:如果系統無法判斷事件的來源國家/地區,地圖會顯示「未設定」。

    如要查看所有國家/地區,請按一下資訊卡底部的「查看所有國家/地區」。

  • IP 位址:查看事件中事件的來源 IP 位址,瞭解事件詳細資料。選取「顯示所有 IP 位址」,即可查看清單中的所有 IP 位址。

    「IP 位址」會顯示下列資料欄:

    • IP 位址:事件的 IP 位址。如果畫面上未顯示 IP 位址,請按一下「查看」。顯示 IP 位址後,按一下即可查看「詳細資料」檢視畫面。
    • 位置:IP 位址的位置。
    • 偵測到的流量:來自該 IP 位址的要求總數。
    • 通話百分比:來自 IP 位址的要求在環境中所有通話中所占的百分比。
    • 首次偵測到事件:事件中首次偵測到事件的時間。
    • 上次偵測到事件的時間:上次偵測到事件的時間。
  • 「API 金鑰」會依 API 金鑰列出事件。 選取「顯示所有 API 金鑰」,即可查看清單中的所有 API 金鑰。清單包含下列資料欄:

    • API 金鑰:事件的 API 金鑰。如果看不到金鑰,請按一下「查看」。API 金鑰顯示後,按一下即可查看「詳細資料」檢視畫面。
    • 應用程式:與 API 金鑰相關聯的開發人員應用程式或 AppGroup 應用程式。
    • 偵測到的流量:API 金鑰的請求總數。
    • 通話百分比:環境中所有通話中,來自 API 金鑰的要求所占的百分比。
    • 首次偵測到活動:事件中首次偵測到含有此 API 金鑰的請求。
    • 上次偵測到事件的時間:事件中上次偵測到含有此 API 金鑰的要求。

減少大量誤報

如果 Advanced API Security 的濫用行為偵測規則將大量誤判為異常的內部 IP 位址標示為異常,請按照本節的指引解決問題。

根據預設,Apigee 會使用 API 要求中 X-Forwarded-For (XFF) 標頭列出的第一個公開 IP 位址。不過,如果機構的內部 API 流量很大,XFF 標頭可能會在公開 IP 之前列出私人 IP (例如使用公開負載平衡器 IP 位址時)。在這種情況下,Apigee 的預設行為是忽略 XFF 標頭中的私人 IP,並將公開負載平衡器 IP 位址顯示為流量來源。這可能會導致 Apigee 將大量流量歸因於該公開 IP 位址,進而遭到 Advanced API Security 的濫用偵測功能標示為異常流量模式。

您可以為環境設定 用戶端 IP 位址解析,指明 Apigee 應使用的來源 IP 位址,藉此減輕這個問題的影響。使用用戶端 IP 位址解析,可協助 Apigee 針對 API 流量回報真正的來源 IP 位址。舉例來說,您可以指示 Apigee 一律使用 XFF 標頭中的第一個 IP 位址,即使是私人 IP 位址也一樣。

封存事件

為協助您區分已調查的事件和尚未調查的事件,您可以封存不再需要處理的事件。封存事件後,系統會將其從「環境詳細資料」>「事件」清單中隱藏 (前提是未選取「Include archived incidents」(包含已封存的事件))。封存事件不會刪除事件: 如果改變心意,隨時可以取消封存。

如要封存事件,請在 「事件詳細資料」檢視畫面頂端選取 「封存」。 完成後,「封存」按鈕標籤會變更為「取消封存」。 「取消封存」按鈕。

取消封存事件

如要取消封存封存的事件,請按照下列步驟操作:

  1. 在「環境詳細資料」>「事件」檢視畫面中,按一下要取消封存事件旁邊的圖示: 已封存事件圖示。
  2. 按一下事件清單頂端的「取消封存」。

或者,如果您位於事件的「事件詳細資料」檢視畫面,請按一下「取消封存」。

偵測到的流量

偵測到的流量是指觸發濫用偵測規則的流量。「偵測到的流量」檢視畫面會顯示事件相關資訊,這些事件是偵測到的流量的特定例項。這個頁面會顯示過去 14 天內「偵測到最後一個事件」的事件。如要進一步瞭解 UI 中顯示的資料時間範圍,請參閱「事件和顯示資料的限制」。

如要開啟「偵測到的流量」檢視畫面,請在「環境詳細資料」檢視畫面中選取「偵測到的流量」:

「偵測到的流量」檢視畫面。

「偵測到的流量」檢視畫面會顯示下列資料:

  • 總流量:要求總數。
  • 偵測到的流量:來自偵測到濫用行為的 IP 位址的要求數量。
  • 占偵測到流量的百分比:偵測到的流量占總流量的百分比。
  • 偵測到的 IP 位址數量:偵測到的濫用行為所對應的不重複 IP 位址數量。來自相同 IP 位址的多項要求只會計為一次。

「偵測到的流量」檢視畫面也會顯示表格,列出與偵測到的濫用行為相應的每個 IP 位址詳細資料。請注意,基於隱私權考量,系統預設不會顯示 IP 位址。如要查看所有 IP 位址,請選取表格頂端的「顯示所有 IP 位址」。

IP 位址表格的每一列都會顯示:

  • IP 位址:偵測到濫用行為的 IP 位址。按一下「查看」即可查看地址。 顯示 IP 位址後,按一下即可查看「詳細資料檢視畫面」。
  • 位置:IP 位址的位置。
  • 熱門應用程式金鑰:IP 位址要求中最常使用的應用程式金鑰。注意: 應用程式金鑰是 API 金鑰的別稱。
  • 偵測規則:因濫用行為而觸發的偵測規則清單。
  • 熱門網址:從 IP 位址收到最多要求的網址。
  • 偵測到的流量:來自 IP 位址的要求數量。
  • 占偵測到流量的百分比:來自 IP 位址的請求占環境中所有請求的百分比。
  • 首次偵測到活動的時間:在「安全分數」頁面頂端選取的時間範圍內,系統首次在來自 IP 位址的要求中偵測到活動。
  • 上次偵測到事件:上次在 IP 位址的請求中偵測到事件的時間,時間範圍為「安全分數」頁面頂端選取的時間範圍。

詳細資料檢視畫面

「詳細資料」檢視畫面會顯示事件或偵測到的流量相關資訊。系統會顯示偵測到的規則、首次和上次偵測日期,以及來自 API 金鑰 IP 位址的偵測流量屬性。(如要進一步瞭解詳細資料欄位,請參閱 Analytics 維度參考資料和 安全性統計資料 API 維度)。

如果是 IP 位址,「詳細資料」分頁也會顯示相關的「輸入存取記錄」資訊。如需相關資訊,請參閱「濫用行為偵測中的輸入存取記錄」。

如果事件或流量的偵測規則包含異常偵測規則,「進階異常偵測原因」部分會顯示偵測到的異常流量資訊。

原始資料分頁

按一下 IP 位址或 API 金鑰後,選取「原始」資料分頁標籤,即可查看偵測到的流量原始資料,包括時間戳記、要求路徑和回應狀態碼。最多取樣顯示 1,000 列的原始資料,不一定是最新資料。

「濫用行為詳細資料」分頁

如果事件或偵測到的流量包含偵測到的異常狀況,「濫用詳細資料」分頁會顯示偵測到的異常事件相關資訊,包括來自 IP 位址的流量時間序列圖表,並標示異常事件。

時序圖會顯示異常指標附近和發生異常時的活動。舉例來說,如果錯誤率突然升高,時間序列的 y 軸會顯示錯誤率升高前、升高時和升高後的變化。如果流量暴增,時間序列的 Y 軸會顯示該事件發生前、發生時和發生後的流量資料。

模型不一定會標示並顯示時間序列圖表中的所有異常資料。 模型會選取對環境層級錯誤率影響最大的活動。

圖表下方的連結會直接連往與事件相關的記錄 Google Cloud 。如需相關資訊,請參閱「濫用行為偵測中的輸入存取記錄」。

屬性

「屬性」檢視畫面可讓您深入瞭解事件或偵測到的流量詳細資料。屬性 (也稱為維度) 是資料分組,可讓您以不同方式查看事件。舉例來說,API 產品屬性可讓您依 API 產品查看資料。

如要查看事件的「屬性」,請選取「事件詳細資料」檢視畫面頂端的「屬性」分頁標籤。

如要查看事件或偵測到的流量中特定 API 位址或 API 金鑰的「屬性」,請在總覽頁面的結果表格中,按一下 IP 位址或 API 金鑰。

選取 API 產品的「屬性」窗格。

左窗格會顯示所有屬性,以及每個屬性的不同值數量。您可以選取屬性,查看事件詳細資料。

上圖顯示「屬性」檢視畫面,並已選取「國家/地區」。 「國家/地區」窗格會顯示每個區域的 API 呼叫百分比圖表。

如果看到任何值為 (not set),請參閱「屬性值為 (not set) 時代表什麼意思」。

「篩選器」欄位可依據各種屬性,篩選窗格中顯示的屬性資料。

一般來說,屬性的窗格會顯示表格,依屬性值顯示事件資料。該表格含有以下各欄:

  • 發出的呼叫總數:API 呼叫總數。
  • 通話次數百分比:每個屬性值的通話次數占總通話次數的百分比。
  • 上次偵測時間:上次偵測到與事件相關的事件。

部分屬性的資料表會顯示額外資料欄。

如要瞭解各項屬性,包括:

  • API 產品: 依API 產品查看詳細資料。
  • 國家/地區:查看事件發生所在國家/地區的詳細資料。
  • AppGroup 應用程式:依相關 AppGroup 應用程式查看詳細資料。如果要求未與任何 AppGroup 建立關聯,「AppGroup 應用程式」和「AppGroup 名稱」欄會顯示 (not set)。請改為參閱開發人員應用程式資訊。
  • AppGroups:依相關 AppGroups 名稱查看詳細資料。如果要求未與任何 AppGroup 建立關聯,「AppGroup 名稱」和「AppGroup 應用程式」欄會顯示 (not set)。請改為查看「開發人員」資訊。
  • 開發人員:查看開發人員 (即應用程式開發者) 的詳細資料。「開發人員」包含標示為「應用程式」的資料欄,列出每個開發人員的應用程式。如果應用程式屬於 AppGroup,則「開發人員」欄會顯示 (not set),而「應用程式」欄會顯示 AppGroup 應用程式。詳情請參閱「AppGroups 名稱」分頁。
  • 開發人員應用程式:依應用程式查看詳細資料。「開發人員電子郵件」欄會列出每個應用程式開發人員的電子郵件地址。如果應用程式屬於 AppGroup,則「開發人員」欄會顯示 (not set),而「應用程式」欄會顯示 AppGroup 應用程式。詳情請參閱「AppGroups 應用程式」分頁。
  • Proxy:按一下「proxy」即可查看詳細資料。
  • 回應代碼:依回應代碼查看詳細資料。
  • 規則:依偵測規則查看詳細資料。
  • 使用者代理程式:依使用者代理程式查看詳細資料,也就是發出 API 呼叫的軟體代理程式。

屬性值為 (not set) 是什麼意思?

有時屬性的值為 (not set)。導致這個狀況的原因很多,舉例來說,Apigee 可能沒有足夠的資訊來判斷屬性的值,例如 API 呼叫的來源國家/地區。或者,屬性可能不適用於特定情況。詳情請參閱「 數據分析實體值『(not set)』代表什麼意義?」。

濫用行為偵測中的輸入存取記錄

如果您已為 Apigee 進入流量存取記錄啟用 Cloud Logging,IP 位址或 API 金鑰的詳細資料頁面會提供直接連往 Cloud Logging 的連結,並為目前選取的 IP 位址設定篩選條件。

如需使用資訊,請參閱「 使用 Logs Explorer 查看記錄檔」。建議的篩選條件:

  • 如要查看所有異常類型,請查看所有通話。
  • 如要只查看錯誤,請將結果限制為「錯誤」嚴重性。
如果未啟用 Apigee 輸入存取記錄的 Cloud Logging,這個欄位會提供 Cloud Logging 的詳細資訊連結。

請參閱「記錄 Apigee 存取記錄」,瞭解使用 Apigee 執行個體的 Cloud Logging 輸入存取記錄時,相關資訊和重要的定價影響。

將流量從濫用行為偵測範圍中排除

在某些情況下,您可能會想將流量從濫用行為偵測範圍中排除。舉例來說,如果您有一組 IP 位址,且知道這些位址用於自動測試或探查,您可能就不會想將來自這些來源的過多流量標示為濫用。

將屬性新增至排除清單,即可將流量從濫用行為偵測範圍中排除。排除清單會指定要排除的流量,以及排除原因。目前 Apigee 支援 CIDR 範圍和 IP 位址,做為排除流量時可用的屬性。

排除清單

排除清單會收集要排除偵測的屬性。您可以為每個環境建立多份排除清單,每份清單可包含多個 CIDR 範圍和 IP 位址。

管理排除清單時,您可以直接新增或修改屬性。舉例來說,您不需要等待 IP 位址出現在濫用行為偵測事件中,即可將其從偵測範圍中排除。

加入排除清單的流量最多可能需要三天,才會從新事件中排除。排除流量後,系統不會再偵測到該流量或將其歸類為事件,但先前的報表仍會顯示該流量,並在使用者介面的「排除項目」欄中標示事件和偵測到的流量。

排除清單欄位

排除清單包含下列欄位。標示為「選填」以外的欄位均為必填。

欄位 說明
顯示名稱 清單的顯示名稱。這個名稱會顯示在「 排除條件分頁中。
IP 位址和 CIDR 範圍 要從偵測範圍排除的 IP 位址或 CIDR 範圍。您必須至少加入一個 CIDR 範圍或 IP 位址,且每個清單最多可排除 30 個 CIDR 範圍和 IP 位址。

盡可能使用 CIDR 範圍,而非 IP 位址。
原因 排除流量的原因。從提供的理由中選取。
詳細資料 (選填) 關於清單的註解,提供流量遭排除的詳細原因。

管理排除清單

如要直接管理排除清單,請按照下列步驟操作:

  1. 選取要偵測濫用的環境。
  2. 選取「排除條件」分頁標籤。
  3. 如要建立新的排除清單,請按一下「建立」。如要編輯現有的排除清單,請在該清單的列中,選取「更多動作」選單中的「編輯」。
  4. 按照「排除清單欄位」的說明填寫欄位。

使用濫用行為偵測事件詳細資料頁面排除流量

如要排除一或多個 IP 位址:

  1. 查看事件詳細資料。
  2. 在「IP addresses」(IP 位址) 清單中,按一下「Display all IP addresses」(顯示所有 IP 位址),即可查看清單中的 IP 位址。
  3. 找出要排除偵測的 IP 位址,然後勾選旁邊的方塊。
  4. 按一下清單頂端的「從偵測中排除」。
  5. 選取現有排除清單或建立新的清單。
  6. 按照「排除清單欄位」的說明填寫欄位。
  7. 按一下 [儲存] 以儲存變更。

使用「偵測到的流量」頁面排除流量

如要排除一或多個 IP 位址:

  1. 選取要偵測濫用的環境。
  2. 選取「偵測到的流量」分頁標籤。
  3. 在偵測到的流量「IP 位址」清單中,按一下「顯示所有 IP 位址」,即可查看清單中的 IP 位址。
  4. 找出要排除偵測的 IP 位址,然後勾選旁邊的方塊。
  5. 按一下清單頂端的「從偵測中排除」。
  6. 選取現有排除清單或建立新的清單。
  7. 按照「排除清單欄位」的說明填寫欄位。
  8. 按一下 [儲存] 以儲存變更。

濫用行為偵測的限制

濫用行為偵測功能有下列限制。

  • 如果上次偵測到事件的時間超過 14 天,就不會顯示在濫用行為偵測使用者介面中。如要進一步瞭解使用者介面中顯示的事件和資料,請參閱「事件和顯示資料的限制」。
  • 首次為機構啟用進階 API 或重新啟用時,系統會將事件分組為事件,因此會有延遲。之後就會定期延遲。
  • 如果機構的流量很大,事件詳細資料屬性頁面可能需要一段時間才能載入。
  • 每個環境最多可有 15 份排除清單,每份清單最多可有 30 個 CIDR 範圍和 IP 位址。
  • Apigee Hybrid 目前不支援 AppGroup。