瞭解保護以微服務為基礎的 Web 應用系統免於遭受網路攻擊

Web 應用程式是現今數位環境的重要元件。錯誤動作者的馬爾活動可前抵機密資料、傳播故障,最後產生衰退性業務與其客戶。在Oracle Cloud Infrastructure 上使用 Web 應用程式防火牆 (WAF) 可提供必要的安全性,並確保雲端中受保護的工作負載。

在公有雲部署應用程式之後,您必須在每個層次保護和保護這些應用程式。Oracle Cloud Infrastructure 的 WAF 服務提供了一種分層的方法,可保護對照網路攻擊的應用系統。部分功能包括 (但不限於):

  • 超過 250 個預先定義的開啟 Web Access Security Project (OWASP)、應用程式以及相容性特定保護規則
  • 來自多個來源的聚總執行緒智慧,包括 Webroot BrightCloud ®
  • 使用 JavaScript 驗證、圖形驗證碼查問、白名單、裝置指紋及人工互動演算法進階管理
  • 依照規定的存取控制,包括 HTTP 標頭、URL 樣式、地理位置及 IP 位址特性
  • 第 7 層分散式拒絕服務 (DDoS) 攻擊保護

下列影像列出Oracle Cloud Infrastructure的 WAF 安全功能。



開始之前

此解決方案假設RESTful Java應用程式已經部署到Oracle Cloud Infrastructure Kubernetes的Oracle Container Engine請參閱將以微服務為基礎的 RESTful Java 應用程式建置到 Oracle Cloud

架構

此架構圖顯示使用 WAF 保護的已完成 RESTful Java 微服務應用程式。

每個微服務均包含在 Kubernetes 叢集的多個 Docker 容器中執行的應用程式。應用程式流量通常是透過網域名稱系統 (DNS) 傳輸。WAF 已設定為透過負載平衡器將要求流量轉送至應用程式。負載平衡器會選取用來處理要求的應用程式執行處理。應用程式執行處理的數目是由 Kubernetes 叢集所控制,可自動擴大或縮小。使用此架構來部署類似的微服務應用程式。

  1. 您可以使用以HTML/CSS/JavaScript 撰寫的 RESTFul Web 服務從屬端應用程式來存取應用程式。
  2. 用戶端會透過機密、WAF 服務 (通常是透過 DNS) 連線至應用程式。
  3. WAF 已設定為在此情況下使用負載平衡器 IP 位址,透過負載平衡器將要求流量轉送至應用程式。
  4. 後端應用程式是一組 Kubernetes 叢集中的 Docker 容器。一般來說,會建置多個應用程式複本,負載平衡器則可用來選取從屬端與之通訊的應用程式執行處理。
  5. 應用程式使用Oracle Cloud Infrastructure Database 持續性。任何儲存的資料都會發送至資料庫。未在 Kubernetes 叢集儲存任何狀態。

關於必要服務和角色

此解決方案需要下列服務:

  • Oracle Cloud Infrastructure Database
  • Oracle Cloud Infrastructure Container Engine for Kubernetes
  • Oracle Cloud Infrastructure Registry

若要使用Oracle Cloud Infrastructure WAF,您必須在 waas-policy 中定義足夠的權限。如果您嘗試執行動作並取得您沒有權限或未授權的訊息,請確認管理員已經授與您的存取權類型,以及您應該在哪個區間中作業。

若要允許特定使用者群組管理 WAF 中的原則:

Allow group <GroupName> to manage waas-policy in compartment <CompartmentName>
Allow group <GroupName> to read waas-work-request in compartment <CompartmentName>

請參閱瞭解如何取得 Oracle 解決方案的 Oracle Cloud 服務,以取得您所需的雲端服務。