使用 OCI Kubernetes Engine 部署自動調整型病毒掃描程式

確保 Oracle Cloud Infrastructure Object Storage 中的檔案經過病毒掃描,可偵測並防止病毒、惡意軟體、身分竊取和詐騙。導入病毒掃描程式可確保輸入 Oracle Cloud Infrastructure (OCI) 解決方案的所有檔案安全無虞。

架構

此架構會建立病毒掃描程式,以掃描上傳至 OCI Object Storage 的檔案。病毒掃描程式部署在 Oracle Cloud Infrastructure Kubernetes Engine 上,並使用 Kubernetes 型事件導向自動調整功能來管理病毒掃描工作。

病毒掃描工作設定為掃描單一檔案和 zip 檔案。當多個檔案上傳到建立的物件儲存的儲存桶時,會使用 OCI 事件和 OCI 佇列在 OCI Kubernetes 引擎 (OKE) 上執行病毒掃描工作 (預設可同時執行最多 3 個工作,但可以使用 Kubernetes 型事件導向自動調整組態變更)。掃描之後,檔案會根據掃描結果 (清除或受感染) 而搬移至物件儲存的儲存桶。如果沒有檔案可供掃描,Kubernetes 型事件驅動自動調整功能會將集區 2 中的節點縮小至零。掃描時,以 Kubernetes 為基礎的事件驅動自動調整功能會擴大節點規模。

病毒掃描程式使用名為 Trellix 的第三方免費試用版 uvscan。應用程式程式碼主要以 NodeJS 撰寫,並使用 Oracle Cloud Infrastructure SDK for JS。

下圖說明此架構。



oke-antivirus-architecture.zip

架構具有下列元件:

  • 地區

    Oracle Cloud Infrastructure 區域是一個本地化地理區域,其中包含一或多個稱為可用性網域的資料中心。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。

  • 可用性網域

    可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域不會共用基礎架構 (例如電源或冷卻系統) 或內部可用性網域網路。因此,一個可用性網域的故障不應影響該區域中的其他可用性網域。

  • 容錯域

    容錯網域是可用性網域內的一組硬體和基礎架構。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您將資源分散到多個容錯域時,您的應用程式可以容忍容錯域內的實體伺服器故障、系統維護和電源故障。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。與傳統的資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後變更。您可以將 VCN 區隔成子網路,此子網路可以設定區域範圍或可用性網域。每個子網路都是由連續的位址範圍組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用或專用。

  • 網際網路閘道

    網際網路網關允許 VCN 中公共子網路與公共網際網路之間的流量。

  • 動態路由閘道 (DRG)

    DRG 是一個虛擬路由器,提供相同區域中 VCN 之間、VCN 與區域外網路 (例如其他 Oracle Cloud Infrastructure 區域中的 VCN、內部部署網路或其他雲端提供者中的網路) 之間的專用網路流量路徑。

  • 網路位址轉譯 (NAT) 閘道

    NAT 閘道可讓 VCN 中的專用資源存取網際網路上的主機,而無須向內送網際網路連線公開這些資源。

  • 負載平衡器

    Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動流量分配。

  • 物件儲存

    物件儲存可讓您快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以安全地儲存資料,然後直接從網際網路或雲端平台內擷取資料。您可以擴展儲存體,而不會發生任何效能或服務可靠性的降低問題。針對您需要快速、立即和經常存取的「熱」儲存,使用標準儲存。針對長時間保留且極少或極少存取的「冷」儲存,使用封存儲存。

  • 監督

    Oracle Cloud Infrastructure Monitoring 服務使用指標主動和被動監控您的雲端資源,以監控資源和警報,並在這些指標符合警報指定的觸發條件時通知您。

  • 記錄日誌
    日誌記錄是一項可高度擴展且完全託管的服務,可讓您從雲端中的資源存取下列類型的日誌:
    • 稽核記錄:與「稽核」服務所發出之事件相關的記錄。
    • 服務日誌:由個別服務 (例如 API 閘道、事件、函數、負載平衡、物件儲存以及 VCN 流量日誌) 發出的日誌。
    • 自訂日誌:包含自訂應用程式、其他雲端提供者或內部部署環境診斷資訊的日誌。
  • 功能

    Oracle Cloud Infrastructure Functions 是一個完全託管的多租戶、高度可擴充、隨選、Functions-as-a-Service (FaaS) 平台。由 Fn Project 開放原始碼引擎提供技術支援。Functions 可讓您部署程式碼,並直接呼叫程式碼或觸發程式碼以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。

  • Queue

    Oracle Cloud Infrastructure Queue 提供一個可擴充的系統來處理訊息,同時處理複雜的管理工作,例如保證的至少一次處理、追蹤和用戶端隔離。此集中式服務也會管理訊息排序與處理狀態,讓無狀態從屬端處理作業能夠卸載游標追蹤。

  • 事件

    Oracle Cloud Infrastructure 服務會發出事件,這些事件是描述資源變更的結構化訊息。系統會針對建立、讀取、更新或刪除 (CRUD) 作業、資源生命週期狀態變更以及影響雲端資源的系統事件發出事件。

  • 登錄

    Oracle Cloud Infrastructure Registry 是 Oracle 管理的登錄檔,可讓您簡化開發到生產的工作流程。「登錄」可讓您輕鬆儲存、共用及管理開發使用者自建物件,例如 Docker 映像檔。Oracle Cloud Infrastructure 的高可用性且可擴展的架構可確保您能夠可靠地部署和管理應用程式。

部署

GitHub 中提供部署病毒掃描器的程式碼。

  1. 移至 GitHub
  2. 複製或下載儲存區域至您的本機電腦。
  3. 遵循 README 文件中的指示。

探索更多

深入瞭解如何在 Oracle Cloud Infrastructure Kubernetes Engine 上部署病毒掃描程式。

複查這些額外資源:

確認

  • Author: Mika Rinne
  • Contributors: Marta Tolosa, Badr Tharwat