應用 Google Threat Intelligence

Google Threat Intelligence 可讓 Google Cloud Armor Enterprise 訂閱者根據多種威脅情報資料類別,允許或封鎖外部應用程式負載平衡器的流量,確保流量安全。Google Threat Intelligence 資料分為下列類別:

  • Tor 結束節點:Tor 是一種開放原始碼軟體,可進行匿名通訊。如要排除隱藏身分的使用者,請封鎖 Tor 結束節點的 IP 位址 (流量離開 Tor 網路的點)。
  • 已知惡意 IP 位址:為提升應用程式的安全性狀態,需要封鎖的 IP 位址,因為已知網頁應用程式的攻擊來自這些位址。
  • 搜尋引擎:可允許啟用網站索引的 IP 位址。
  • VPN 供應商:信譽不佳的 VPN 供應商所使用的 IP 位址。封鎖這個類別可拒絕規避 IP 位址規則的嘗試。
  • 匿名 Proxy:已知匿名 Proxy 使用的 IP 位址。
  • 加密貨幣挖礦程式:已知加密貨幣挖礦網站使用的 IP 位址。
  • 公用雲端 IP 位址範圍:您可以封鎖這個類別,避免惡意自動化工具瀏覽網路應用程式;如果您的服務使用其他公用雲端,則可以允許這個類別。

如要使用 Google 威脅情報,請定義安全性政策規則,根據上述部分或所有類別允許或封鎖流量,方法是使用 evaluateThreatIntelligence 比對運算式,以及代表上述其中一個類別的動態饋給名稱。此外,您必須訂閱 Cloud Armor Enterprise。如要進一步瞭解 Cloud Armor Enterprise,請參閱 Cloud Armor Enterprise 總覽

設定 Google Threat Intelligence

如要使用 Google 威脅情報,請使用 evaluateThreatIntelligence('FEED_NAME') 比對運算式設定安全政策規則,並根據要允許或封鎖的類別提供 FEED_NAME。每個動態饋給中的資訊都會持續更新,保護服務免受新威脅侵擾,且無需額外設定步驟。有效引數如下。

動態饋給名稱 說明
iplist-tor-exit-nodes 符合 Tor 結束節點的 IP 位址
iplist-known-malicious-ips 比對已知會攻擊網頁應用程式的 IP 位址
iplist-search-engines-crawlers 與搜尋引擎檢索器的 IP 位址相符
iplist-vpn-providers 比對信譽不佳的 VPN 供應商所使用的 IP 位址範圍
iplist-anon-proxies 比對屬於開放式匿名 Proxy 的 IP 位址範圍
iplist-crypto-miners 比對屬於加密貨幣挖礦網站的 IP 位址範圍
iplist-cloudflare 符合 Cloudflare 代理服務的 IPv4IPv6 位址範圍
iplist-fastly 比對 Fastly Proxy 服務的 IP 位址範圍
iplist-imperva 比對 Imperva Proxy 服務的 IP 位址範圍
iplist-public-clouds
  • iplist-public-clouds-aws
  • iplist-public-clouds-azure
  • iplist-public-clouds-gcp
比對屬於公有雲的 IP 位址
  • 與 Amazon Web Services 使用的 IP 位址範圍相符
  • 符合 Microsoft Azure 使用的 IP 位址範圍
  • 與 Google Cloud使用的 IP 位址範圍相符

您可以使用下列 gcloud 指令設定新的安全政策規則,並搭配上表中的 FEED_NAME 和任何 ACTION,例如 allowdenythrottle。如要進一步瞭解規則動作,請參閱政策類型

gcloud compute security-policies rules create 1000 \
    --security-policy=NAME \
    --expression="evaluateThreatIntelligence('FEED_NAME')" \
    --action="ACTION"

如要排除 Google 威脅情報可能會封鎖的 IP 位址或 IP 位址範圍,可以使用下列運算式將位址加入排除清單,並將 ADDRESS 替換為要排除的位址或位址範圍。

evaluateThreatIntelligence('iplist-known-malicious-ips', ['ADDRESS'])

使用已命名的 IP 位址清單

Google Cloud Armor 已命名的 IP 位址清單可供您參照第三方供應商維護的 IP 位址和 IP 範圍清單。您可以在安全性政策中設定已命名的 IP 位址清單。您不需要手動個別指定每個 IP 位址或 IP 範圍。

本文中的「IP 位址」和「IP 位址清單」一詞包含「IP 位址範圍」

已有名稱的 IP 位址清單是指以不同名稱分組的 IP 位址清單。名稱通常是指提供者。已有名稱的 IP 位址清單不受每項規則 IP 位址數量的配額限制。

已有名稱的 IP 位址清單並非安全政策。您可以將這些運算式併入安全性政策,方法是參照這些運算式,就像參照預先設定的規則一樣。

舉例來說,假設第三方供應商有名為 provider-a 的 IP 位址清單 {ip1, ip2, ip3....ip_N_},您可以建立安全規則,允許 provider-a 清單中的所有 IP 位址,並排除不在該清單中的 IP 位址:

gcloud beta compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('provider-a')" \
    --action "allow"

您無法建立自己的自訂命名 IP 位址清單。這項功能僅適用於與 Google 合作的第三方供應商所維護的具名 IP 位址清單。如果這類具名 IP 位址清單不符合您的需求,您可以建立安全政策,根據要求來源的 IP 位址,允許或拒絕存取資源。詳情請參閱「設定 Google Cloud Armor 安全性政策」。

如要使用已命名的 IP 位址清單,您必須訂閱 Google Cloud Armor Enterprise,並在 Cloud Armor Enterprise 中註冊專案。詳情請參閱「具名 IP 位址清單的適用情形」。

只允許來自核准第三方供應商的流量

常見用途是建立許可清單,其中包含允許的第三方合作夥伴的 IP 位址,確保只有來自該合作夥伴的流量可以存取負載平衡器和後端。

舉例來說,CDN 供應商必須定期從原始伺服器提取內容,然後將內容發布至自己的快取。與 Google 合作可讓 CDN 供應商直接連線至 Google 網路邊緣。CDN 使用者 Google Cloud 可以在提取原始內容時使用這項直接連線。在這種情況下,CDN 使用者可能會想建立安全政策,只允許來自特定 CDN 供應商的流量。

在這個範例中,CDN 供應商會發布 IP 位址清單 23.235.32.0/20, 43.249.72.0/22, ⋯,。CDN 使用者設定安全規則,只允許來自這些 IP 位址的流量。因此,系統允許兩個 CDN 供應商存取點 (23.235.32.1043.249.72.10),並允許其流量。系統會封鎖來自未經授權存取點的流量。198.51.100.1

Google Cloud Armor 已命名的 IP 位址。
Google Cloud Armor 具名 IP 位址 (按一下可放大)。

使用預先設定的規則,簡化設定和管理作業

CDN 供應商通常會使用許多 CDN 使用者需要使用的知名 IP 位址。這些清單會隨時間變更,因為供應商會新增、移除及更新 IP 位址。

在安全性政策規則中使用已命名 IP 位址清單,可簡化 IP 位址的設定和管理程序,因為 Google Cloud Armor 每天都會自動同步處理 CDN 供應商的資訊。這樣一來,您就不必手動維護龐大的 IP 位址清單,省時省力,還能避免出錯。

以下是預先設定的規則範例,允許來自供應商的所有流量:

evaluatePreconfiguredExpr('provider-a') => allow traffic

IP 位址清單供應商

下表列出的 IP 位址清單提供者,均支援 Google Cloud Armor。這些是與 Google 合作的 CDN 供應商。IP 位址清單會透過個別公開網址發布。

這些合作夥伴會分別提供 IPv4 位址和 IPv6 位址清單。 Google Cloud Armor 會使用提供的網址擷取清單,然後將清單轉換為已命名的 IP 位址清單。您可透過表格中的名稱參照清單。

舉例來說,下列程式碼會在安全政策 POLICY_NAME 中建立優先順序為 750 的規則,納入 Cloudflare 的已命名 IP 位址清單,並允許來自這些 IP 位址的存取要求:

gcloud beta compute security-policies rules create 750 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \
    --action "allow"
供應商 網址 IP 位址清單名稱
Fastly https://api.fastly.com/public-ip-list sourceiplist-fastly
Cloudflare

https://www.cloudflare.com/ips-v4

https://www.cloudflare.com/ips-v6

sourceiplist-cloudflare
Imperva

https://my.imperva.com/api/integration/v1/ips

如要存取 Imperva 的清單,請提出POST要求。您也可以使用下列指令:

curl -d "" https://my.imperva.com/api/integration/v1/ips

sourceiplist-imperva

如要列出預先設定的具名 IP 位址清單,請使用下列 gcloud CLI 指令:

gcloud compute security-policies list-preconfigured-expression-sets \
    --filter="id:sourceiplist"

這會傳回:

EXPRESSION_SET
sourceiplist-fastly
sourceiplist-cloudflare
sourceiplist-imperva

同步處理 IP 位址清單

Google Cloud Armor 只會在偵測到格式正確的變更時,與各供應商同步處理 IP 位址清單。Google Cloud Armor 會對所有清單中的 IP 位址執行基本語法驗證。

已命名 IP 位址清單的適用情形

Google Cloud Armor Enterprise 現已全面推出。第三方提供的已命名 IP 位址清單適用情形如下:

  1. 如果您訂閱 Google Cloud Armor Enterprise 方案,即可在已註冊的專案中使用已命名的 IP 位址清單。您可以建立、更新及刪除含有已命名 IP 位址清單的規則。
  2. 如果 Google Cloud Armor Enterprise 層級訂閱方案到期,或您以其他方式返回 Standard 層級,就無法新增或修改含有具名 IP 位址清單的規則,但可以刪除現有規則,以及更新規則來移除具名 IP 清單。
  3. 如果專案已包含使用已命名 IP 位址清單的規則,且您未註冊 Google Cloud Armor Enterprise,則可繼續使用、更新及刪除使用已命名 IP 位址清單的現有規則。在這種專案中,您可以建立納入具名 IP 位址清單的新規則。

後續步驟