瞭解保護以微服務為基礎的 Web 應用系統免於遭受網路攻擊
在公有雲部署應用程式之後,您必須在每個層次保護和保護這些應用程式。Oracle Cloud Infrastructure 的 WAF 服務提供了一種分層的方法,可保護對照網路攻擊的應用系統。部分功能包括 (但不限於):
- 超過 250 個預先定義的開啟 Web Access Security Project (OWASP)、應用程式以及相容性特定保護規則
- 來自多個來源的聚總執行緒智慧,包括 Webroot BrightCloud ®
- 使用 JavaScript 驗證、圖形驗證碼查問、白名單、裝置指紋及人工互動演算法進階管理
- 依照規定的存取控制,包括 HTTP 標頭、URL 樣式、地理位置及 IP 位址特性
- 第 7 層分散式拒絕服務 (DDoS) 攻擊保護
下列影像列出Oracle Cloud Infrastructure的 WAF 安全功能。
開始之前
架構
此架構圖顯示使用 WAF 保護的已完成 RESTful Java 微服務應用程式。
每個微服務均包含在 Kubernetes 叢集的多個 Docker 容器中執行的應用程式。應用程式流量通常是透過網域名稱系統 (DNS) 傳輸。WAF 已設定為透過負載平衡器將要求流量轉送至應用程式。負載平衡器會選取用來處理要求的應用程式執行處理。應用程式執行處理的數目是由 Kubernetes 叢集所控制,可自動擴大或縮小。使用此架構來部署類似的微服務應用程式。
- 您可以使用以HTML/CSS/JavaScript 撰寫的 RESTFul Web 服務從屬端應用程式來存取應用程式。
- 用戶端會透過機密、WAF 服務 (通常是透過 DNS) 連線至應用程式。
- WAF 已設定為在此情況下使用負載平衡器 IP 位址,透過負載平衡器將要求流量轉送至應用程式。
- 後端應用程式是一組 Kubernetes 叢集中的 Docker 容器。一般來說,會建置多個應用程式複本,負載平衡器則可用來選取從屬端與之通訊的應用程式執行處理。
- 應用程式使用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 服務,以取得您所需的雲端服務。