Google Cloud 上的 OWASP 2021 年十大資安風險緩解選項

Last reviewed 2024-07-31 UTC

本文將協助您找出可防範 OWASP 前十大常見應用程式層級攻擊的產品和緩解策略。 Google Cloud OWASP Top 10 是由 Open Web Application Security (OWASP) Foundation 提出的清單,列出應用程式擁有者應注意的前 10 大安全性風險。雖然沒有任何安全產品能保證完全防範這些風險,但在架構中適時採用這些產品和服務,有助於打造強大的多層安全解決方案。

Google 基礎架構的設計宗旨是協助您以安全的方式建構、部署及運作服務。Google 會管理實體和作業安全、靜態和傳輸中的資料加密,以及安全基礎架構的許多其他重要層面。將應用程式部署至Google Cloud即可享有這些優勢,但您可能需要採取額外措施,才能保護應用程式免於特定攻擊。

這份文件列出的緩解策略會依應用程式安全風險和 Google Cloud 產品排序。許多產品都有助於制定深度防禦策略,防範網路安全風險。本文提供相關資訊,說明其他產品如何降低 OWASP Top 10 風險,並詳細說明 Google Cloud Armor 和 Apigee 如何降低各種風險。Google Cloud Armor (網路應用程式防火牆) 和 Apigee (API 閘道) 可有效阻擋各種攻擊。這些產品位於網際網路的流量路徑中,可在外部流量抵達 Google Cloud中的應用程式之前加以封鎖。

產品總覽

下表列出的 Google Cloud 產品可協助防範前 10 大安全性風險:

產品 摘要 A01 A02 A03 A04 A05 A06 A07 A08 A09 A10
資料存取透明化控管機制 透過管理員存取活動記錄檔和核准控管機制,更全面地瞭解及管理雲端服務供應商的資料存取活動
Apigee 設計、保護及擴充應用程式設計介面
Artifact Registry 集中儲存構件和建構依附元件
二進位授權 確保只有受信任的容器映像檔能部署至 Google Kubernetes Engine
Cloud Armor 在 Google 網路邊緣部署網頁應用程式防火牆 (WAF),防範常見的攻擊媒介
Cloud Asset Inventory 查看、監控及分析所有 Google Cloud 和 Google Distributed Cloud 或多雲資產,包括不同專案和服務的資產
Cloud Build 在 Google Cloud中建構、測試及部署
Cloud Key Management Service 管理 Google Cloud
Cloud Load Balancing 控管 SSL Proxy 或 HTTPS 負載平衡器交涉的密碼
Cloud Logging 即時管理及分析記錄檔,靈活調整作業規模
Cloud Monitoring 從 Google Cloud 服務和各種應用程式與第三方服務收集及分析指標、事件和中繼資料
Cloud Source Repositories 讓團隊集中儲存、管理及追蹤程式碼
Google Security Operations 運用 Google 的基礎架構、偵測技術和信號,大規模自動即時找出威脅
Identity Platform 在應用程式中加入身分與存取權管理功能、保護使用者帳戶,以及調度身分管理資源
Identity-Aware Proxy (IAP) 利用身分和背景資訊把關,控管使用者對應用程式和 VM 的存取權
reCAPTCHA 協助網站防範詐欺活動、垃圾內容和濫用行為
Secret Manager 儲存 API 金鑰、密碼、憑證和其他機密資料
Security Command Center 集中顯示安全分析和威脅情報,協助找出應用程式中的安全漏洞
Sensitive Data Protection 找出、分類及保護高度機密資料
Titan 安全金鑰 使用防範網路釣魚的雙重驗證裝置,保護高價值使用者。這類裝置內建硬體晶片 (內含 Google 打造的韌體),可驗證金鑰的完整性
虛擬私有雲防火牆 允許或拒絕虛擬機器 (VM) 執行個體的往來連線
VirusTotal 分析可疑檔案和網址,偵測惡意軟體類型,並自動與安全性社群分享相關資訊
VPC Service Controls 隔離多用戶群 Google Cloud 服務的資源,降低資料竊取風險
Google Cloud 安全性公告 與 Google Cloud 產品相關的最新安全性公告

A01:存取權控管失效

存取控管機制失效是指在用戶端僅部分強制執行的存取控管機制,或是實作不完善的機制。如要減輕這些控制項的影響,通常需要在應用程式端重新編寫程式碼,確保只有獲得授權的使用者才能存取資源。

Apigee

用途:

  • 強制執行存取權控管
  • 限制資料操弄

Apigee 支援分層方法,可實作存取權控管機制,防止惡意行為者未經授權變更或存取系統。

設定角色式存取權控管 (RBAC),只允許使用者存取所需的資源和設定。建立加密的鍵/值對應,儲存機密鍵/值組合,這些組合會在 Edge UI 和管理 API 呼叫中顯示為遮蓋。使用貴公司的識別資訊提供者設定單一登入

設定開發人員入口網站,根據使用者角色顯示特定 API 產品。設定入口網站,根據使用者角色顯示或隱藏內容。

Cloud Asset Inventory

用途:

  • 監控未經授權的 IT (又稱影子 IT)
  • 過時的運算執行個體

資料外洩最常見的途徑之一,就是孤立或未經授權的 IT 基礎架構。設定即時通知,在有非預期的執行中資源時收到警示,這些資源可能安全性不足或使用過時軟體。

Cloud Load Balancing

用途:

  • 精細的 SSL 和 TLS 密碼控制

指派預先定義的群組或自訂密碼清單,供 Cloud Load Balancing 使用,避免使用安全性較低的 SSL 或 TLS 密碼。

Cloud Armor

用途:

  • 篩選跨來源要求
  • 篩選本機或遠端檔案包含攻擊
  • 篩選 HTTP 參數汙染攻擊

許多存取控制中斷的情況無法透過網頁應用程式防火牆解決,因為應用程式不需要或無法正確檢查每個要求的存取權杖,而且資料可以在用戶端遭到竄改。多項與存取權控管機制失效相關的 Juice Shop 挑戰。舉例來說,以其他使用者的名義發布意見回饋,就是利用部分要求未在伺服器端通過驗證的事實。如您在挑戰解決方案中看到的,這項安全漏洞的攻擊完全是在用戶端進行,因此無法使用 Cloud Armor 緩解。

如果無法立即修補應用程式,部分問題可透過伺服器端緩解。

舉例來說,如果您的網路伺服器實作跨來源資源共用 (CORS) 時發生錯誤,導致可能發生跨網站要求偽造 (CSRF) 攻擊,如 CSRF Juice Shop 挑戰所示,您可以透過自訂規則,完全封鎖來自非預期來源的要求,藉此減輕這個問題的影響。下列規則會比對來源不是 example.com 和 google.com 的所有要求:

has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )

如果系統拒絕符合這類規則的流量,CSRF 挑戰的解決方案就會停止運作。

購物籃操縱挑戰會使用 HTTP 參數污染 (HPP),讓您瞭解如何按照挑戰解決方案攻擊商店。系統會根據通訊協定攻擊規則集偵測 HPP。如要協助封鎖這類攻擊,請使用下列規則: evaluatePreconfiguredExpr('protocolattack-stable')

Identity-Aware Proxy 和情境感知存取權

用途:

  • 集中控管存取權
  • 支援雲端和內部部署
  • 保護 HTTP 和 TCP 連線
  • 情境感知存取權

IAP 可讓您使用身分和背景資訊,在應用程式周圍建立安全的驗證和授權防護牆。透過以 Cloud Identity 和 IAM 為基礎建構的集中式管理驗證和授權系統,防止公開發布的應用程式授權或存取控管機制失效。

依據使用者身分和要求內容,在網頁應用程式、VM、API 和 Google Workspace 應用程式中強制實行精細的存取權控管機制,而不需要傳統的 VPN。 Google Cloud 將貴機構的雲端和內部部署應用程式以及基礎架構資源都集中於單一平台上。

Security Command Center

Security Command Center 包含兩項服務,可協助您解決存取控制機制失效的問題:Security Health Analytics 和 Web Security Scanner。

安全狀態分析支援下列用途:

  • 強制執行 MFA 或雙重驗證
  • API 金鑰保護
  • 監控 SSL 政策

Security Health Analytics 會監控多重驗證合規性、SSL 政策和 API 金鑰的健康狀態,協助您防範存取權控管機制失效。

Web Security Scanner 支援下列用途:

  • 公開存放區
  • 不安全的要求標頭驗證

Web Security Scanner 會掃描網頁應用程式,找出安全漏洞,例如公開顯示的程式碼存放區要求標頭驗證設定錯誤

A02:密碼編譯失敗

加密失敗可能是因為傳輸期間缺乏加密或加密強度不足,或是意外洩漏機密資料。針對這些安全漏洞的攻擊通常是應用程式專屬,因此需要採取縱深防禦措施來防範。

Apigee

用途:

  • 保護機密資料

使用單向和雙向 TLS,在通訊協定層級保護機密資訊。

使用「指派訊息」政策和「JavaScript」政策等政策,在將資料傳回用戶端前移除機密資料。

使用標準 OAuth 技術,並考慮加入 HMAC、雜湊、狀態、隨機數、PKCE 或其他技術,提高每個要求的驗證層級。

在 Edge Trace 工具中遮蓋機密資料

鍵/值對應中加密靜態敏感資料。

Cloud Asset Inventory

用途:

  • 搜尋服務
  • 存取權分析工具

資料外洩最常見的途徑之一,就是孤立或未經授權的 IT 基礎架構。您可以分析雲端資產時間序列資料,找出無人維護的伺服器,以及共用規則過於寬鬆的儲存空間。

設定即時通知,在資源佈建作業發生非預期情況時收到快訊,避免資源遭到不當保護或未經授權存取。

Cloud Data Loss Prevention API (屬於機密資料保護服務)

用途:

  • 探索及分類機密資料
  • 自動遮蓋資料

Cloud Data Loss Prevention API (DLP API) 可掃描儲存在值區或資料庫中的任何潛在機密資料,防止資訊意外洩漏。如果系統偵測到不允許的資料,可能會自動標記或遮蓋

Cloud Key Management Service

用途:

  • 安全地管理加密編譯金鑰

(Cloud KMS) 有助於避免加密金鑰外洩。您可以透過這項雲端託管金鑰管理服務,以內部部署的方式管理雲端服務的對稱式及非對稱加密編譯金鑰。您可以產生、使用、輪替及銷毀 AES256、RSA 2048、RSA 3072、RSA 4096、EC P256 和 EC P384 加密編譯金鑰。

Cloud Load Balancing

用途:

  • 精細的 SSL 和 TLS 密碼控制

您可以透過 SSL 政策控管負載平衡器允許的 SSL 和 TLS 功能與加密,防止機密資料外洩。視需要封鎖未獲核准或不安全的密碼

Cloud Armor

用途:

  • 篩選已知的攻擊網址
  • 限制機密端點存取權

一般來說,應從源頭阻止機密資料外洩,但由於每次攻擊都是針對特定應用程式,因此網路應用程式防火牆只能以有限的方式廣泛阻止資料外洩。不過,如果無法立即修補應用程式,可以使用 Cloud Armor 自訂規則,限制對易受攻擊端點或要求模式的存取權。

舉例來說,由於不安全的目錄遍歷和空位元組注入攻擊,導致多項有關機密資料曝光的 Juice Shop 挑戰遭到利用。如要減輕這類注入攻擊的影響,請使用下列自訂運算式檢查網址中的字串:

request.path.contains("%00") || request.path.contains("%2500")

您可以存取 Prometheus 使用的 /metrics 子目錄,解決公開指標的挑戰。如果公開的端點含有敏感資訊,但您無法立即移除存取權,可以限制存取權,只允許特定 IP 位址範圍存取。使用類似下列自訂運算式的規則:

request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32')

1.2.3.4/32 替換為應有權存取指標介面的 IP 位址範圍。

意外公開的記錄檔可用來解決其中一項 Juice Shop 挑戰。為避免記錄檔外洩,請設定規則,完全禁止存取記錄檔:request.path.endsWith(".log")

Identity-Aware Proxy 和情境感知存取權

用途:

  • 安全地遠端存取機密服務
  • 集中控管存取權
  • 情境感知存取權

利用身分和背景資訊,在應用程式周圍形成安全的驗證和授權邊界。部署內部錯誤回報、公司知識庫或 IAP 後方的電子郵件等工具,僅允許授權使用者從網際網路上的任何位置存取情境感知存取權。

有了情境感知存取權,您就能依據使用者的身分和要求內容,在網頁應用程式、虛擬機器 (VM)、API 和 Google Workspace 應用程式中強制實行精細的存取權控管機制,而不需要傳統的 VPN。 Google Cloud 情境感知存取權採用零信任安全性模式以及 Google 的 BeyondCorp 導入作業,可讓您為使用者提供存取權、實施精細的控管機制,並透過單一雲端平台管理雲端環境和內部部署系統中的應用程式與基礎架構資源。

Secret Manager

用途:

  • 加密編譯金鑰
  • API 金鑰
  • 其他系統憑證

Secret Manager 是一項安全儲存服務,可儲存 API 金鑰、服務帳戶密碼和加密資產等最寶貴的資料。集中儲存這些密鑰,即可依賴 Google Cloud的驗證和授權系統 (包括 IAM),判斷任何存取要求是否有效。

Secret Manager 並非為大規模作業而設計,例如信用卡權杖化或個別使用者密碼儲存。這類應用程式應使用 Identity Platform 進行客戶身分與存取權管理 (CIAM)、使用 Cloud Identity 管理機構成員,或使用專屬權杖化軟體

Security Command Center

Security Command Center 包含兩項服務,可協助您解決加密失敗問題:Security Health Analytics 和 Web Security Scanner。

安全狀態分析支援下列用途:

  • 強制執行 MFA/2FA
  • API 金鑰保護
  • 強制執行 API 金鑰輪替
  • Compute 映像檔隱私權
  • 強制執行 SSH 金鑰規則
  • 安全啟動監控
  • API 存取安全
  • 監控 SSL 政策
  • 已停用記錄功能
  • 公開 bucket ACL 警報

安全性狀態分析會監控多重驗證法規遵循API 金鑰的健康狀態,協助防止機密資料外洩。接收快訊,瞭解容器映像檔儲存空間、Cloud Storage、SSL 政策、SSH 金鑰政策、記錄、API 存取權等的不安全設定。

Web Security Scanner 支援下列使用情境:

  • 透過網路傳輸未加密的密碼

Web Security Scanner 會掃描網路應用程式,並回報錯誤和安全漏洞的發現項目。如果應用程式以純文字格式傳輸密碼,Web Security Scanner 會產生 CLEAR_TEXT_PASSWORD 發現項目。

VirusTotal

用途:

  • 防範網路詐騙

VirusTotal 可讓您在向使用者或員工顯示網址前,掃描網址是否含有惡意內容,無論網址是出現在使用者輸入內容、電子郵件、即時通訊、記錄或其他位置。

VPC Service Controls

用途:

  • 代管服務的防火牆

將重要管理服務包裝在防火牆中,控管可呼叫服務的對象,以及服務可回應的對象。透過 Cloud Run functions 等服務的外送周邊規則,封鎖未經授權的外送和資料外洩。防止未經授權的使用者和位置提出要求,存取受管理資料存放區和資料庫為功能強大或可能產生高費用的 API 建立安全範圍

Web Application Scanner

用途:

  • 網頁應用程式安全風險掃描器
  • 原始碼存放區可用性掃描器

為避免網路應用程式公開顯示機密資料,請確保密碼不會以純文字格式傳送檢查是否有公開的 Git 和 Apache Subversion 原始碼存放區,避免洩漏可能造成嚴重影響的原始碼。這些掃描旨在涵蓋特定的 OWASP 前 10 大控制項

A03:注射

插入式缺陷 (例如 SQL、NoSQL、OS 和 LDAP 插入) 是指將不受信任的資料傳送至解譯器,做為指令或查詢的一部分。攻擊者惡意提供的資料可能會騙過解譯器,導致解譯器執行非預期的指令,或在未經適當授權的情況下存取資料。建議應用程式先清除或篩選使用者資料,再傳送給解譯器。

下列各節將討論有助於降低這項風險的產品。 Google Cloud

Apigee

用途:

  • 封鎖 SQL 植入
  • 封鎖 NoSQL 注入
  • 封鎖 LDAP 注入
  • 封鎖 JavaScript 插入

Apigee 提供多項輸入驗證政策,可驗證用戶端提供的值是否符合您設定的預期值,再允許進一步處理政策或規則。Apigee 會做為傳入 API 要求的閘道,執行限制檢查,確保酬載結構落在可接受的範圍內。您可以設定 API Proxy,讓輸入驗證常式轉換輸入內容,移除有風險的字元序列,然後替換為安全值。

您可以使用 Apigee 平台,透過下列幾種方式驗證輸入內容:

Cloud Armor

用途:

  • SQL 注入篩選
  • PHP 注入篩選

Cloud Armor 可在常見的注入式攻擊抵達應用程式前加以封鎖。針對 SQL 注入 (SQLi),Cloud Armor 具有以 OWASP Modsecurity 核心規則集為基礎的預先定義規則集。您可以建立安全性政策封鎖核心規則集定義的常見 SQLi 攻擊,方法是使用 evaluatePreconfiguredExpr('sqli-stable') 規則,單獨使用或搭配其他自訂規則皆可。舉例來說,您可以使用網址路徑篩選器,將 SQLi 封鎖功能限制在特定應用程式。

如要防範 PHP 注入攻擊,請使用其他預先設定的規則集。您可以使用 evaluatePreconfiguredExpr('php-stable') 規則,封鎖常見的 PHP 注入攻擊。

視應用程式而定,啟用預先設定的運算式可能會導致一些誤判,因為規則集中的部分規則相當敏感。詳情請參閱排解誤判問題,以及如何將規則集調整至不同敏感度等級

如要防範 SQL 或 PHP 以外的注入攻擊,您可以建立自訂規則,在要求路徑或查詢中使用這些通訊協定中的特定關鍵字或逸出模式時,封鎖要求。請確認這些模式不會出現在有效要求中。您也可以限制這些規則,只適用於可能會解讀傳遞給端點或路徑的資料。

此外,使用遠端程式碼執行和遠端檔案注入的預先設定規則,有助於減輕部分注入攻擊的影響。

Security Command Center

Security Command Center 包含兩項服務,可協助您解決注入式安全漏洞:Container Threat Detection 和 Web Security Scanner。

Container Threat Detection 支援下列用途:

  • 惡意指令碼偵測
  • 反向殼層偵測
  • 偵測惡意軟體安裝

Malicious Script Executed Container Threat Detection 的偵測器會分析系統執行的每個殼層指令碼,並回報看起來惡意的指令碼。這個偵測器可協助您找出殼層指令注入攻擊。成功注入 Shell 指令後,攻擊者可以產生反向 Shell,進而觸發 Reverse Shell 偵測器。或者,他們可以安裝惡意軟體,觸發 Added Binary ExecutedAdded Library Loaded 偵測器。

Web Security Scanner 支援下列用途:

  • 監控跨網站指令碼攻擊
  • 監控 SQL 注入

Web Security Scanner 會掃描網路應用程式中的安全漏洞,並提供偵測器來監控跨網站指令碼SQL 植入攻擊。

A04:不安全的設計

不安全的設計: 如果機構未在開發生命週期內評估及解決威脅,就會發生這種情況。在設計和修正階段初期進行威脅模型化,並在開發和測試階段持續進行,有助於機構分析假設和失敗缺陷。從錯誤中學習的無責文化,是安全設計的關鍵。

Apigee

用途:

  • 輸入驗證
  • 存取權控管
  • 錯誤處理
  • 內容保護政策
  • 密碼管理

Apigee 可讓您使用 OASValidation 政策,驗證應用程式的傳入要求和回應。此外,為保護存取權,您可以設定單一登入 (SSO)角色型存取控制 (RBAC)、限制 API 存取權 (例如使用 Auth0),以及限制哪些 IP 位址可存取您的環境。您可以使用錯誤處理規則,自訂 API Proxy 對錯誤的反應方式。

為保護 Apigee 全球使用者免於使用不安全的密碼,Apigee 提供密碼到期、鎖定和重設密碼選項。此外,您也可以啟用雙重驗證 (2FA)。

Cloud Data Loss Prevention API (屬於機密資料保護服務)

用途:

  • 找出並遮蓋機密資料

您可以使用 Cloud Data Loss Prevention API 識別機密資料並將其權杖化。DLP API 可協助您限制機密資料的曝光,因為資料經過權杖化並儲存後,您可以設定存取權控制項,限制哪些人可以查看資料。詳情請參閱「自動分類上傳至 Cloud Storage 的資料」和「使用 Sensitive Data Protection 對大規模資料集執行 PII 去識別化和重新識別化作業」。

Secret Manager

用途:

  • 保護憑證儲存空間

Secret Manager 可讓應用程式和管道根據 IAM 授予的權限,存取具名密鑰的值。此外,您也可以透過程式輔助方式存取密鑰,讓自動化程序存取密鑰值。啟用後,與 Secret Manager 之間的每項互動都會提供稽核記錄。您可以使用這些稽核記錄,協助進行鑑識和法規遵循作業。

Security Command Center

Security Command Center 隨附的 Web Security Scanner 服務支援下列用途:

  • 找出應用程式中的安全漏洞。

Web Security Scanner 會掃描網頁應用程式,找出安全漏洞。這項服務會追蹤連結,並嘗試盡可能執行大量的使用者輸入內容和事件處理常式。如果網頁應用程式中輸入的密碼可快取在一般瀏覽器快取 (而非安全的密碼儲存空間),CACHEABLE_PASSWORD_INPUT 偵測器就會產生結果。

A05:安全性設定錯誤

安全性設定錯誤是指未修補的應用程式缺陷、開放的預設帳戶,以及未受保護的檔案和目錄,通常可透過應用程式強化措施避免。安全設定錯誤的原因有很多,例如信任預設設定、進行可能不安全的局部設定、讓錯誤訊息包含敏感詳細資料、在雲端儲存資料時未採取適當的安全控管措施,或是錯誤設定 HTTP 標頭。

Apigee

用途:

  • 管理安全性設定
  • 監控安全性設定

API 開發人員可透過共用流程,將政策和資源組合為可重複使用的群組。共用流程可集中擷取可重複使用的政策和資源,有助於確保一致性、縮短開發時間及管理程式碼。您可以使用 FlowCallout 政策,在個別 API Proxy 中加入共用流程,也可以將共用流程放在流程掛鉤中,針對部署在相同環境中的每個 API Proxy,自動執行共用流程邏輯。

Cloud Asset Inventory

用途:

  • 即時通知服務

即時通知可提醒您資源是否遭到未經授權或不當的佈建,

Cloud Load Balancing

用途:

  • 精細的 SSL 和 TLS 密碼控制

指派負載平衡器可用的預先定義群組或自訂密碼清單,防止使用已知有漏洞的 SSL 或 TLS 密碼。

Cloud Armor

用途:

  • 篩選不安全的端點
  • 篩選本機或遠端檔案包含攻擊
  • 篩選通訊協定攻擊

由於安全性設定錯誤可能發生在應用程式層級,OWASP 基金會建議直接強化及修補應用程式,並移除所有不必要的功能。

雖然 Cloud Armor 等網路應用程式防火牆 (WAF) 無法協助修正基礎設定錯誤,但您可以完全封鎖或只允許特定 IP 位址或國家/地區存取應用程式的某些部分。限制存取權可降低這類錯誤設定遭到濫用的風險。

舉例來說,如果應用程式使用 /admin 等常見網址公開管理介面,即使已通過驗證,您仍可限制存取這個介面。您可以使用拒絕規則達成此目的,例如:

request.path.contains("/admin") && !(inIpRange(origin.ip,
'1.2.3.4/32')

1.2.3.4/32 替換為應有權存取管理員介面的 IP 位址範圍。

使用預先定義的本機檔案包含 (LFI) 或遠端檔案包含 (RFI) 規則集,可部分緩解某些設定錯誤。舉例來說,套用 LFI 規則集後,就無法成功利用 Juice Shop 的跨網站成像挑戰。使用 evaluatePreconfiguredExpr('lfi-stable') || evaluatePreconfiguredExpr('rfi-stable') 規則,透過 LFI 和 RFI 規則集封鎖要求,並視需要調整規則。您可以確認挑戰解決方案不再成功。

您也可以使用預先設定的規則集,減輕部分 HTTP 攻擊的影響:

  • 為避免HTTP 動詞遭到竄改,請使用方法強制執行規則集。使用 evaluatePreconfiguredExpr('methodenforcement-stable') 規則禁止使用 GETHEADPOSTOPTIONS 方法以外的 HTTP 要求方法
  • 如要防範針對 HTTP 剖析和 Proxy 的常見攻擊 (例如 HTTP 要求走私HTTP 回應分割HTTP 標頭注入),請使用 evaluatePreconfiguredExpr('protocolattack-stable') 規則,採用通訊協定攻擊規則集。

Security Command Center

Security Command Center 包含兩項服務,可協助您解決安全性設定錯誤問題:Security Health Analytics 和 Web Security Scanner。

安全性狀態分析支援下列用途:

  • 安全控管監控和警示

安全性狀態分析會透過單一介面監控多項信號,確保應用程式維持安全性最佳做法。

Web Security Scanner 支援下列用途:

  • 專為 OWASP Top 10 量身打造的網頁應用程式掃描器
  • HTTP 伺服器設定錯誤
  • HTTP/HTTPS 混合內容
  • XML 外部實體 (XXE)

網路安全掃描工具會監控常見的安全錯誤,例如內容類型不符、無效的安全標頭,以及混合內容服務。Web Security Scanner 也會監控 XXE 安全漏洞等安全漏洞。這些掃描作業旨在涵蓋 OWASP 前 10 大控制項。下列偵測工具會掃描安全性設定錯誤:

  • INVALID_CONTENT_TYPE
  • INVALID_HEADER
  • MISMATCHING_SECURITY_HEADER_VALUES
  • MISSPELLED_SECURITY_HEADER_NAME
  • MIXED_CONTENT
  • XXE_REFLECTED_FILE_LEAKAGE

如要進一步瞭解這些和其他偵測器,請參閱「Web Security Scanner 總覽」。

A06:易受攻擊的過時元件

含有已知安全漏洞的元件是通用攻擊向量的類別,監控及快速升級所有應用程式元件,是緩解這類安全漏洞的最佳做法。

二進位授權

用途:

  • 將 GKE 叢集限制為僅使用受信任的容器

二進位授權是一種部署作業期間的安全性控管機制,可確保只有受信任的容器映像檔能部署至 Google Kubernetes Engine (GKE)。使用二進位授權後,就能要求映像檔在開發過程中必須由受信任的單位簽署,並在部署時強制執行簽章驗證程序。強制執行驗證程序後,您就能確保建構與發布程序只會使用通過驗證的映像檔。

Cloud Load Balancing

用途:

  • 精細的 SSL 和 TLS 密碼控制

指派預先定義的群組或 Cloud Load Balancing 可使用的自訂密碼清單,防止使用已知有安全漏洞的 SSL 或 TLS 密碼。

Cloud Armor

用途:

  • 禁止存取未使用的應用程式端點
  • 封鎖常見攻擊媒介

不應使用 Cloud Armor 等網頁應用程式防火牆 (WAF) 做為單一的防範策略,封鎖針對這類別的攻擊,因為攻擊通常是針對特定程式庫,無法透過預先設定的規則集封鎖,也無法在伺服器端修補。定期監控及升級應用程式的所有元件,是減輕這類安全漏洞影響的唯一方法。

不過,Cloud Armor 可透過預先設定的規則,協助緩解針對易受攻擊應用程式的常見攻擊,例如遠端程式碼執行、本機檔案內含或遠端檔案內含。

如果您發現應用程式中有容易遭到攻擊的元件,但無法立即修補,可以封鎖對應用程式這些部分的存取權,暫時降低這些元件遭到攻擊的風險。建立自訂規則,比對存取這些易受攻擊元件的網址路徑或查詢,並拒絕存取。如果您需要允許特定使用者或地點存取這些元件,仍可允許特定信任來源 IP 位址存取這些元件。使用網址路徑的規則類似於下列規則:

`request.path.contains("/component") && !(inIpRange(origin.ip,
'1.2.3.4/32')

更改下列內容:

  • /component:已知有安全漏洞的元件路徑
  • 1.2.3.4/32:應保留介面存取權的 IP 位址範圍。

如果應用程式中有部分內容 (例如特定目錄或檔案類型) 永遠不需要供使用者存取,您也可以透過自訂規則封鎖或限制存取這些資源,主動降低這些元件日後出現安全漏洞的風險。

Google Cloud 安全公告

用途:

  • 監控安全性公告
  • Google Cloud 產品的 CVE

Google Cloud 安全性公告是安全性公告的權威來源,可提供影響Google Cloud的安全性公告。貼文內容包括背景資訊、CVE 連結,以及後續行動建議。

Security Command Center

Security Command Center 包含三項服務,可協助您處理有安全漏洞和過時的元件:Container Threat Detection、Event Threat Detection 和 Web Security Scanner。

Container Threat Detection 支援下列用途:

  • 惡意指令碼偵測
  • 反向殼層偵測
  • 偵測惡意軟體安裝

如果攻擊者利用有安全漏洞的元件執行惡意指令碼,Container Threat DetectionMalicious Script Executed 偵測器就會產生發現項目。如果攻擊者產生反向殼層,Reverse Shell偵測器就會產生發現項目。如果攻擊者安裝惡意軟體,Added Binary ExecutedAdded Library Loaded 偵測器就會產生調查結果。

Event Threat Detection 支援下列使用情境:

  • 偵測加密貨幣挖礦
  • 惡意軟體偵測功能
  • 資料竊取
  • 連出的 DoS

Event Threat Detection 會監控 Cloud Logging 串流,並在細微層級套用偵測邏輯和威脅情報。Event Threat Detection 偵測到威脅時,會將發現項目寫入 Security Command Center 和 Cloud Logging 專案。下列偵測規則有助於偵測使用已知安全漏洞元件的影響

  • 加密貨幣挖礦。根據 DNS 要求或連線至已知挖礦位址偵測加密貨幣挖礦活動。
  • 惡意軟體。偵測以惡意軟體為基礎的 DNS 要求,或連線至已知的惡意位址。
  • 將資料外洩至外部資料表。偵測儲存在機構外部的資源,包括複製或轉移作業。
  • 連出的 DoS。偵測試圖發動阻斷服務攻擊的遭入侵弱點。

Web Security Scanner 支援下列用途:

  • 舊版程式庫
  • 安全漏洞和發現項目資訊主頁

Web Security Scanner 會監控網頁應用程式中包含的過時程式庫。您可以在 Security Command Center 資訊主頁中監控這些發現項目

A07:識別和驗證失敗

識別和驗證失敗是常見的風險,因為應用程式驗證和工作階段管理通常會實作錯誤。駭客可以利用實作上的瑕疵 (例如遭盜用的密碼、金鑰和工作階段權杖),暫時或永久冒用其他使用者的身分。

資料存取透明化控管機制

用途:

  • 服務供應商監控
  • 存取事由

通常,如要向外部供應商尋求自訂支援,您必須授予並共用臨時憑證,這可能會導致憑證遭到遺棄或洩漏。存取權核准是一項整合式服務,可讓您核准或拒絕為您帳戶提供支援的 Google 員工提出的存取要求。每項存取要求都會附上存取理由,方便您查看每項存取活動的原因,包括支援票證參考資料。

Apigee

用途:

  • 金鑰驗證
  • 權杖驗證
  • OAuth 政策

Apigee 提供 VerifyApiKey、OAuth 和 JSON Web Token (JWT) 政策,有助於防範這類風險。

API 金鑰驗證是 API 可設定的最簡單應用程式安全形式。用戶端應用程式會在要求中提供 API 金鑰。Apigee Edge 會透過附加至 API Proxy 的政策,檢查 API 金鑰是否處於核准狀態,可存取所要求的資源。

OAuth 2.0 授權架構可讓第三方應用程式取得 HTTP 服務的有限存取權,方法是代表資源擁有者協調資源擁有者與 HTTP 服務之間的核准互動,或是允許第三方應用程式自行取得存取權。

JSON Web Token (JWT) 通常用於在已連結的應用程式之間分享聲明或判斷結果。Apigee 提供三項政策,支援 JWT。

Cloud Armor

用途:

  • 限制驗證端點存取權
  • 限制未經授權的權杖使用

針對驗證機制失效風險分類下的安全漏洞發動的攻擊,最好在應用程式層級或透過其他控制項緩解。不過,Cloud Armor 可協助限制受攻擊面或封鎖已知的攻擊媒介。

舉例來說,如果您的應用程式使用者人數有限,且這些使用者來自一組已知的 IP 位址或國家/地區,您可以建立安全性政策,限制只有來自這些 IP 位址區塊或國家/地區的使用者可以存取應用程式。這項政策有助於防範來自這些區域以外端點的自動掃描。

如果其他安全機制偵測到密碼、金鑰或工作階段權杖遭盜用,您可以使用自訂規則,封鎖在查詢字串中包含這些參數的要求。 您可以使用 securityPolicy.patchRule 方法更新先前定義的規則。您或許可以透過 HTTP 負載平衡記錄的異常偵測機制,找出可能遭竊的權杖。您也可以掃描這些記錄中的常見密碼,偵測潛在的攻擊者。

您可以使用預先設定的 ModSecurity 工作階段固定規則集,封鎖常見的工作階段固定攻擊。如要使用這組規則,請將預先定義的 evaluatePreconfiguredExpr('sessionfixation-stable') 規則新增至安全性政策。

如果應用程式在查詢字串中包含密碼變更,您也可以使用比對 request.query 屬性的自訂規則,禁止使用常見密碼。不過,如果可以,最好在應用程式端實作這類檢查。

Identity-Aware Proxy (IAP)

用途:

  • 集中控管存取權
  • 支援雲端和內部部署
  • 保護 HTTP 和 TCP 連線
  • 情境感知存取權

IAP 與 HTTP(S) 負載平衡整合,因此您可以使用身分和情境,在應用程式周圍形成安全的驗證和授權牆。在 Identity Platform 中佈建外部使用者,防止公開應用程式的驗證機制失效 (詳情請參閱下一節)。

您也可以使用 Identity-Aware Proxy 保護管理介面,並透過身分與存取權管理Cloud Identity 驗證佈建的使用者,防止管理介面發生驗證中斷問題。任何存取工具的嘗試都會導致系統記錄驗證嘗試,接著進行授權檢查,確保通過驗證的使用者有權存取所要求的資源。

Identity Platform

用途:

  • 驗證即服務
  • 多重驗證
  • 企業服務水準協議
  • 支援多種通訊協定
  • Google 帳戶防護智慧功能

Identity Platform 是 Google Cloud 客戶專用的 CIAM 平台。Identity Platform 透過 SDK 和 API 提供安全驗證服務,並支援多種通訊協定。這項服務提供多重驗證、與第三方驗證服務整合,以及可稽核的活動追蹤功能。

reCAPTCHA

用途:

  • 自動嘗試登入
  • 內容擷取
  • 憑證填充行為
  • 詐欺交易
  • 帳戶盜用
  • 假帳戶
  • 洗錢

reCAPTCHA 會評估存取嘗試的風險程度,有效過濾機器人和其他形式的自動化及大量流量。您可以使用自動回饋微調網站專用模型。reCAPTCHA 會調整日後的分數來配合您的網站。

Security Command Center

Security Command Center 包含三項服務,可協助您解決身分識別和驗證失敗的問題:Event Threat Detection、Security Health Analytics 和 Web Security Scanner。

Event Threat Detection 支援下列使用情境:

  • 蠻力偵測
  • 偵測 IAM 濫用行為

Event Threat Detection 會監控 Cloud Logging 串流,並在細微層級套用偵測邏輯和專屬威脅情報。Event Threat Detection 偵測到威脅時,會將發現項目寫入 Security Command Center 和您選擇的專案 Cloud Logging。下列事件類型有助於找出驗證失敗的情況:

  • SSH 暴力攻擊。偵測主機上是否成功進行 SSH 暴力攻擊。
  • 異常授權。偵測授予機構外身分與存取權管理 (IAM) 使用者的權限。 Google Cloud

安全狀態分析支援下列用途:

  • 強制執行 MFA/2FA
  • API 金鑰保護
  • 強制執行 API 金鑰輪替

Security Command Center 會監控多重驗證的合規情形和 API 金鑰的運作狀態,協助您防範驗證機制遭到破解。您可以找出可疑要求,並封鎖或標記這些要求,以便進行特殊處理

Web Security Scanner 支援下列使用情境:

  • 工作階段 ID 外洩

Web Security Scanner 會掃描網路應用程式中的安全漏洞,例如工作階段 ID 外洩,這類漏洞會讓其他方冒用或識別使用者身分。

Titan 安全金鑰

用途:

  • 可防範網路詐騙的雙重驗證機制
  • 行動裝置和電腦驗證

Titan 安全金鑰採用公開金鑰密碼編譯技術來驗證使用者的身分和登入頁面網址,即便您因受騙上當而提供使用者名稱和密碼,攻擊者也無法存取您的帳戶。

A08:軟體和資料完整性失敗

軟體和資料完整性失敗可能發生於軟體更新、處理機密資料,或 CI/CD 管道中的任何程序未進行完整性檢查時。

Artifact Registry

用途:

  • 將構件集中存放在單一可信的位置
  • 使用版本管理、安全漏洞掃描、核准工作流程

Artifact Registry 可讓貴機構集中管理容器映像檔和語言套件 (例如 Maven 和 npm)。這項服務可與現有的開發工具整合,並使用 Artifact Analysis 掃描容器是否有安全漏洞。

二進位授權

用途:

  • 確保只部署受信任的容器

二進位授權會驗證容器的完整性,確保只部署受信任的容器映像檔。您可以建立政策,根據認證是否存在來允許或拒絕部署。二進位授權會在叢集層級套用政策,因此您可以為不同環境設定不同政策。這種區別可讓環境越接近正式版,認證要求就越嚴格。

Cloud Asset Inventory

用途:

  • 搜尋服務

  • 存取權分析工具

資料外洩最常見的途徑之一,就是孤立或未經授權的 IT 基礎架構。您可以分析雲端資產時間序列資料,找出無人維護的伺服器,以及共用規則過於寬鬆的儲存空間。

設定即時通知,在資源佈建作業發生非預期情況時收到快訊,避免資源受到不當保護或未經授權。

Cloud Build

用途:

  • 審查程式碼變更

  • 執行測試

  • 標準化建構部署作業

Cloud Build 可讓您建立建構設定,提供建構部署作業的操作說明,包括執行靜態分析和整合測試。

Cloud Armor

用途:

  • 封鎖遠端程式碼執行

因為大多數針對軟體和資料完整性的攻擊都是應用程式專屬,因此只有少數方法有助於減輕這些攻擊,例如使用網頁應用程式防火牆 (WAF),如 Cloud Armor。OWASP 建議您不要接受來自不受信任來源的序列化物件。如有可能,您可以透過類似下列的拒絕規則,將接受這些物件的端點限制為一組可信任的 IP 位址:

request.path.contains("/endpoint") && !(inIpRange(origin.ip,
'1.2.3.4/32')

更改下列內容:

  • /endpoint:接受序列化物件的端點路徑
  • 1.2.3.4/32:應保留介面存取權的 IP 位址範圍。

如要防範常見的軟體和資料完整性攻擊 (使用遠端程式碼執行 (RCE) 攻擊),請使用預先定義的 RCE 攻擊規則集。您可以使用 evaluatePreconfiguredExpr('rce-stable') 規則,封鎖針對 UNIX 和 Windows Shell 的常見 RCE 攻擊。

Juice Shop challenges for insecure deserializations」一文所述的 RCE 攻擊,會在伺服器上以 Node.js 執行函式和正規運算式。預先定義的 RCE 規則集和對應的 OWASP Modsecurity 規則不會封鎖這類攻擊,因此必須使用伺服器端的修補程式或自訂規則來防範。

VirusTotal

用途:

  • 掃描不受信任的資料

VirusTotal API 可讓您上傳及掃描檔案,查看是否含有惡意軟體。您可以在處理圖片、文件、二進位檔和其他不受信任的資料之前掃描這些資料,以排除特定類別的惡意輸入內容。

Security Command Center

Security Command Center 中的 Web Security Scanner 服務支援下列用途:

  • 不安全的還原序列化

Web Security Scanner 會掃描網頁應用程式,找出安全漏洞。舉例來說,如果您使用的 Apache Struts 版本會導致應用程式容易遭受遠端指令插入攻擊,Web Security Scanner 就會產生STRUTS_INSECURE_DESERIALIZATION發現

A09:安全性記錄和監控失敗

如果未充分記錄、監控或管理系統中的事件,攻擊者可能會對資料和軟體發動更深入、更持久的攻擊。

資料存取透明化控管機制

用途:

  • 監控及稽核服務供應商存取權
  • 存取事由
  • 資源與方法識別

無法稽核雲端服務供應商的資料存取活動,可能會成為從內部部署環境遷移至雲端的阻礙。資料存取透明化控管機制可讓您驗證雲端服務供應商的資料存取活動,使得稽核控管機制更近似於內部部署系統具備的功能。您可以記錄每項存取活動的原因,包括相關的支援票證參考資料。資源和方法識別名稱,可識別哪些管理員存取了哪些資源,以及執行了哪些方法。當支援您服務的 Google 員工提出存取要求,您可利用 Access Approval 予以核准或拒絕。

Apigee

用途:

  • 將 Apigee 記錄匯出至 SIEM
  • 使用 Apigee 監控 UI
  • 遵循監控最佳做法

Apigee 提供多種記錄、監控、錯誤處理和稽核記錄方式:

  • 記錄
    • 您可以使用訊息記錄政策,將記錄訊息傳送至 Splunk 或其他系統記錄端點。
    • 您可以透過Analytics API 擷取 API 數據分析資料,然後匯入或匯出至其他系統。
    • 在 Edge for Private Cloud 中,您可以使用 MessageLogging 政策寫入本機記錄檔。您也可以查看各個執行中元件的記錄檔。
    • 您可以使用 JavaScript 政策,以同步或非同步方式將記錄訊息傳送至 REST 記錄端點。
  • 監控
    • 使用 API 監控使用者介面或 API 定期監控 API 和後端,並觸發快訊。
    • 使用健康狀態監控功能,定期監控目標伺服器後端。
    • Apigee 提供監控 Edge for Private Cloud 的建議
    • Apigee 也提供最佳做法,供團隊監控 API 計畫。
  • 錯誤處理
    • Apigee 為 API Proxy 提供強大且多用途的錯誤處理機制。與 Java 程式會擷取例外狀況類似,API Proxy 可以擷取錯誤,並判斷如何將適當的回應傳回給用戶端。
    • Apigee 的自訂錯誤處理機制可讓您在發生錯誤時新增訊息記錄等功能。
  • 稽核記錄
    • Apigee 平台會保留稽核記錄,追蹤 API Proxy、產品和機構記錄的變更。
    • 您可以透過使用者介面管理 API 存取這項記錄。

Google Security Operations

用途:

  • 威脅偵測
  • 預警

資安團隊可將安全遙測資料傳送至 Google Security Operations,讓您對統一資料集套用強大的偵測規則

Sensitive Data Protection

用途:

  • 自動遮蓋機密資料

找出記錄串流中與法規遵循相關的資訊,並在封存至記錄之前,適當遮蓋或轉換這類資訊。舉例來說,錯誤訊息或核心傾印可能含有信用卡號碼或個人識別資訊等機密資訊,因此需要遮蓋。

Cloud Key Management Service

用途:

  • 加密編譯金鑰要求事件記錄
  • 存取事由

金鑰存取依據會記錄每一項對加密金鑰提出的要求及要求理由,並記錄該要求是否獲得核准,方便您查看相關記錄。

Cloud Logging

用途:

  • 記錄檔匯總
  • 記錄檔儲存空間
  • 記錄檔搜尋
  • 記錄檔分析

Cloud Logging 可讓您儲存、搜尋、分析、監控記錄資料和事件,並接收相關快訊,這些資料和事件來自 Google Cloud 和 Amazon Web Services。這項服務包含 BindPlane 服務的存取權,可用於從 150 多個常見應用程式元件、內部部署系統和混合雲系統收集記錄資料。

Cloud Monitoring

用途:

  • 記錄檔監控
  • 事件快訊

Cloud Monitoring 可讓您掌握雲端應用程式的效能、運作時間和整體健康狀態。並透過多個管道提供監控資訊主頁、事件監控和快訊。

Cloud Source Repositories

用途:

  • 程式碼變更歸因
  • 存取稽核記錄

運用 Cloud Source Repositories 產生的 Cloud 稽核記錄,深入瞭解在存放區中執行的動作,以及動作執行位置和時間。

Error Reporting

用途:

  • 在 Cloud Logging 中擷取內部應用程式錯誤
  • 在當機的運算執行個體以外收集當機報告

內部應用程式錯誤可能表示有安全性問題、功能損壞或有人試圖規避安全性措施。Error Reporting 可以針對運作中的雲端服務計算、分析及匯總當機事件資料。所有結果都集中顯示於單一的錯誤管理介面中,方便您進行排序或套用篩選條件。專屬檢視畫面會顯示錯誤詳細資料,例如時序圖、發生次數、受影響的使用者人數、初次與最後一次發現錯誤的日期,以及經過整理的例外狀況堆疊追蹤。您可以選擇接收電子郵件和手機快訊,系統就會在發生新錯誤時立即傳送通知。

Cloud Armor

用途:

  • 安全性政策記錄
  • Monitoring 資訊主頁
  • 流量異常快訊

Cloud Armor 要求記錄是外部應用程式負載平衡器的 Cloud Logging 的一部分。如要存取記錄資訊 (例如與流量相符的安全性政策規則),請在所有已附加安全性政策的後端服務上啟用記錄功能。在預覽模式下使用規則,測試規則並記錄結果,而不強制執行效果。

Cloud Armor 也提供安全性政策的監控資訊主頁,讓您概略瞭解任何安全性政策允許或拒絕的流量。Cloud Armor 會在 Security Command Center 中發布流量異常的發現項目,例如允許的流量暴增或遭拒流量增加。

Cloud Armor 會自動寫入管理員活動稽核記錄,其中記錄了修改資源設定或中繼資料的作業。您也可以設定這項服務寫入資料存取稽核記錄,其中包含讀取資源設定或中繼資料的 API 呼叫,以及建立、修改或讀取使用者所提供資源資料的使用者驅動 API 呼叫。

Identity Platform

用途:

  • 管理員活動稽核記錄
  • 資料存取稽核記錄
  • 系統事件稽核記錄
  • 政策遭拒的稽核記錄
  • 驗證活動記錄

Identity Platform 是 CIAM 平台, Google Cloud 預設會記錄驗證活動。

啟用多項功能強大的稽核記錄,包括管理員活動、資料存取、系統事件和遭拒的驗證嘗試。

Security Command Center

用途:

  • 警示監控
  • 威脅管理
  • 安全漏洞掃描報告
  • 法規遵循監控
  • 資產監控
  • 安全性掃描發現項目

透過法規遵循資訊主頁,您可以持續監控法規遵循情況,包括 PCI-DSS、CIS Google Cloud 運算基礎基準等控制項。「資產」頁面會詳細顯示貴機構中的所有Google Cloud 資源,也就是「資產」。您可以在這個頁面中查看整個機構的資產,也可以依資產類型或變更類型,篩選特定專案中的資產。最後,您可以查看所有機構資產的詳細發現項目清單,瞭解潛在的安全風險。

此外,Security Command Center 的 Event Threat Detection 服務支援下列用途:

  • 暴力
  • 加密貨幣挖礦
  • IAM 濫用
  • 惡意軟體
  • 網路詐騙

Event Threat Detection 會監控 Cloud Logging 串流,並在細微層級套用偵測邏輯和專屬威脅情報。Event Threat Detection 會找出記錄中的重要項目,並提升這些項目的優先順位,方便您審查。Event Threat Detection 偵測到威脅時,會將發現項目寫入 Security Command Center 和 Cloud Logging 專案。

A10:伺服器端偽造要求 (SSRF)

SSRF 攻擊是指攻擊者強迫易受攻擊的伺服器,對第三方伺服器或內部資源觸發不必要的惡意要求。如果網路應用程式在擷取遠端資源時,未驗證使用者提供的網址,就可能發生 SSRF 缺陷。

Apigee

用途:

  • 使用 LFI 或 RFI 封鎖 SSRF 攻擊

Apigee 內建 XML 和 JSON 剖析器,可使用 XPath 或 JSONPath 擷取資料。Apigee 提供 XMLThreatProtection 政策,可防範惡意 XML 酬載;也提供 JSONThreatProtection 政策,可防範惡意 JSON 酬載。

Apigee 的 ExtractVariables 政策可讓您從要求或回應中擷取內容,並將該內容指派給變數。您可以擷取訊息的任何部分,包括標頭、URI 路徑、JSON 和 XML 酬載、表單參數和查詢參數。這項政策會將文字模式套用至郵件內容,並在找到相符內容時,設定含有指定郵件內容的變數。

Cloud Armor

用途:

  • 使用 LFI 或 RFI 篩選 SSRF 攻擊

由於 SSRF 攻擊可能很複雜,且形式各異,因此網頁應用程式防火牆的防範能力有限。如要更有效地防範攻擊,請修補 XML 或 JSON 剖析器、禁止外部實體,並將公開 Web 伺服器上的 XML 或 JSON 資料傳輸量降至最低。不過,視應用程式和攻擊類型而定,Cloud Armor 仍可協助防範資料外洩和其他影響。

雖然 OWASP ModeSecurity 核心規則集中沒有任何規則專門防禦 SSRF 攻擊,但本機檔案包含 (LFI) 和遠端檔案包含 (RFI) 規則有助於防禦部分這類攻擊。如要防止攻擊者擷取伺服器上的本機檔案,請evaluatePreconfiguredExpr('lfi-stable')使用 Cloud Armor 安全性政策中的規則

SSRF Juice Shop 挑戰會使用預先設定的遠端檔案包含 (RFI) 或本機檔案包含 (LFI) 規則集,協助防範部分攻擊,因為這些規則集會封鎖網址包含或路徑周遊。舉例來說,下列規則會同時啟用這兩組規則:

evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')

實作這類規則後,SSRF 挑戰的解決方案也會停止運作。

VPC Service Controls

用途:

  • 用來區隔伺服器的網路範圍

如要減少 SSRF 攻擊的影響,可以使用 VPC Service Controls 建立安全防護範圍,將伺服器與機構中的其他資源區隔開來。這些範圍可防止資料遭竊。在強制執行模式下,除非滿足範圍必要傳入和傳出規則的條件,否則對受限制服務的 API 要求不會跨越範圍界線。

虛擬私有雲 (VPC) 防火牆

用途:

  • 強制執行「預設拒絕」防火牆政策或網路存取控制規則,封鎖所有非必要的內部網路流量。

虛擬私有雲防火牆適用於專案和虛擬私有雲網路的輸入和輸出流量。您可以建立防火牆規則,封鎖所有流量,只允許您想允許的流量。詳情請參閱 VPC 防火牆規則總覽

Security Command Center

Security Command Center 中的 Web Security Scanner 服務支援下列用途:

  • 網頁應用程式監控

Web Security Scanner 會掃描網頁應用程式,找出安全漏洞。舉例來說,如果應用程式容易受到伺服器端偽造要求攻擊,Web Security Scanner 就會產生 SERVER_SIDE_REQUEST_FORGERY 發現結果

後續步驟