附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用跨租用戶連線器中心和 OCI 串流整合 SIEM 整合的跨租用戶日誌
簡介
Oracle Cloud Infrastructure (OCI) 是受大規模企業信任的基礎架構即服務 (IaaS)、平台即服務 (PaaS) 和軟體即服務 (SaaS)。它提供全方位的託管服務,包括託管、儲存、網路、資料庫等。
主動呈現安全相關事件的日誌,以便與適當的資源進行分類,對於偵測和防止網路安全事件至關重要。許多組織都使用安全資訊和事件管理 (SIEM) 平台建立關聯及分析相關資產的日誌和警示。在適當的時間內,適當地設定擷取和保留金鑰日誌,以及近乎即時的監控和警報,讓 Security Operations 團隊能夠識別問題、根據系統調整專注於重要資訊,並採取適當行動。
擷取 OCI 日誌的最佳實務模式是將日誌傳送至 OCI 串流,這是與 Apache kafka 相容,可協助第三方 SIEM 平台將日誌作為 Kafka 用戶使用 - 減少延遲,在 SIEM 端發生暫時問題時提供復原能力和保留。
管理多個租用戶時,您可以透過建立跨租用戶連線器中心,將特定區域內多個來源租用戶 (SourceTenant) 的日誌合併至單一租用戶 (TargetTenant) OCI 串流,而不是將所有租用戶的每個區域個別整合至 SIEM 平台。SIEM 平台接著可以透過 TargetTenant 串流擷取該區域中所有租用戶的日誌。
注意: OCI 連線器中心服務目前不支援跨區域連線器中心。
下圖顯示解決方案架構的高階表示法。
背書、入學並定義陳述
若要存取及共用資源,租用戶 (SourceTenant 和 TargetTenant) 的管理員必須建立特殊的跨租用戶原則敘述句,明確聲明可存取及共用資源。這些特殊陳述使用動詞「背書」、「入學」與「定義」。
跨租用戶敘述句中使用的特殊動詞總覽:
-
背書:說明您自己的租用戶中的群組 / 資源主體可以在其他租用戶中執行的一組一般能力。
-
許可:說明您要從其他租用戶授予群組 / 資源主體之自有租用戶的能力種類。
-
定義:為「認可」和「許可」原則敘述句指定一個別名給租用戶 OCID。
「背書」與「入學」陳述式可共同運作。若無指定存取權的對應陳述式,則特定的「背書」或「入學」陳述式不會授予任何存取權。兩個租用戶都必須同意存取。
注意:
您必須在租用戶的根區間中定義跨租用戶敘述句,而不是在任何子項區間中。
請先撰寫跨租用戶原則後,再建立連線器。您必須使用 OCI 軟體開發套件 (SDK)、CLI 或 API 建立跨租用戶連線器。在本教學課程中,OCI 命令行介面 (CLI) 是用來建立跨租用戶連線器中心。
目標
- 使用跨租用戶連線器中心和 OCI 串流,記錄 SIEM 整合跨租用戶的合併。
必要條件
- OCI 使用者必須具備必要的 OCI Streaming、OCI Connector Hub 和 OCI Logging 服務原則,才能管理資源。如需有關所有服務原則參照的詳細資訊,請參閱原則參照。
工作 1:在 TargetTenant 中建立串流
OCI Streaming 服務為開發人員和資料科學家提供即時、無伺服器、與 Apache Kafka 相容的事件串流平台。它提供完全受管理、可擴展且持久的解決方案,可即時擷取及使用大量資料串流,例如日誌。在任何使用案例中,我們都可以使用 OCI Streaming 在發布 - 訂閱訊息模型中以連續和循序方式產生和處理資料。
-
移至 OCI 主控台,瀏覽至 Analytics & AI 、 Messaging 和 Streaming 。
-
按一下建立串流以建立串流。
-
輸入下列資訊,然後按一下建立。
- 名稱:輸入串流名稱。本教學課程使用
TargetTenant-Stream
。 - 串流集區:選取現有的串流集區,或使用公用端點建立新的串流集區。
- 保留 (小時):輸入此串流中保留訊息的小時數。
- 分割區數目:輸入串流的分割區數目。
- 寫入速率總計和讀取速率總計:根據需要處理的資料量輸入。
您可以從預設值開始進行測試。如需詳細資訊,請參閱分割串流。
- 名稱:輸入串流名稱。本教學課程使用
工作 2:在 SourceTenant 中寫入原則
背書 SourceTenant 指定區間中的任何連線器中心,以存取 TargetTenant 中的任何串流。
Command Format - 命令格式:
Define tenancy TargetTenant as <TargetTenant_OCID>
Endorse any-user to use stream-push in tenancy TargetTenant
where all
{
request.principal.type='serviceconnector',
request.principal.compartment.id= <connectorHub-Compartment_OCID>
}
命令範例:
Define tenancy TargetTenant as ocid1.tenancy.oc1..aaaaaaaanneylhk3ibxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Endorse any-user to use stream-push in tenancy TargetTenant where all { request.principal.type='serviceconnector', request.principal.compartment.id = 'ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }
作業 3:在 TargetTenant 中寫入原則
允許 SourceTenant 的連線器中心存取 TargetTenant 中的串流。
Command Format - 命令格式:
Define tenancy SourceTenantA as <SourceTenant-A_OCID>
Admit any-user of tenancy SourceTenantA to use stream-push in tenancy
Where all
{
request.principal.type='serviceconnector'
}
命令範例:
Define tenancy SourceTenantA as ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Admit any-user of tenancy SourceTenantA to use stream-push in tenancy Where all { request.principal.type = 'serviceconnector' }
作業 4:使用 SourceTenant 中的 CLI 建立 OCI 連線器中心
在 SourceTenant 和 TargetTenant 中建立必要的原則之後,請使用 SourceTenant 中的 CLI 建立 OCI 連線器中心。下列範例 CLI 命令指定 OCI 日誌記錄作為來源,而 OCI 串流作為建立跨租用戶連線器中心的目標。
將 OCI 稽核日誌從 SourceTenant 推送至 TargetTenant 串流的跨租用戶連線器中心。
Command Format - 命令格式:
oci sch service-connector create
--display-name <XTenancyConnectorHub-name>
--compartment-id <ConnectorHub-Compartment_OCID>
--source '{ "kind": "logging", "logSources":
[ { "compartmentId": "<SourceTenantA_OCID>",
"logGroupId": "_Audit_Include_Subcompartment" } ] }'
--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'
命令範例:
oci sch service-connector create --display-name XTenancyConnectorHub --compartment-id ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --source '{ "kind": "logging", "logSources": [ { "compartmentId": "ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","logGroupId": "_Audit_Include_Subcompartment" } ] }' --target '{ "kind": "streaming", "streamId": "ocid1.stream.oc1.iad.amaaaaaas4n35vixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }'
將服務 / 自訂日誌從 SourceTenant (S) 推送至 TargetTenant 串流的跨租用戶連線器中心。請先建立日誌群組並啟用必要的日誌,再執行下列命令。
Command Format - 命令格式:
oci sch service-connector create
--display-name <XTenancyConnectorHub-Name>
--compartment-id <ConnectorHub_Compartment_OCID>
--source '{ "kind": "logging", "logSources":
[ { "compartmentId": "<SourceTenantA-LogGroup-Compartment_OCID>",
"logGroupId": "<SourceTenantA-LogGroup_OCID>" } ] }'
--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'
注意:「工作 2」和「工作 3」和「工作 4」中 CLI 命令的原則敘述句會格式化為可讀取。使用這些陳述式副本之前,請先移除新的行、定位點和空格。
接下來的步驟
本教學課程示範如何使用跨租用戶連線器中心和 OCI 串流合併多個租用戶的日誌。第三方 SIEM 平台應設定為在 Kafka 用戶使用這些日誌。在 SIEM 平台中設定儀表板以擷取重要評量標準,以及設定超過預先定義臨界值時觸發的警示至關重要。此外,定義特定查詢對於偵測惡意活動及識別 OCI 租用戶內的模式至關重要。這些動作將可強化您的安全態勢,並主動監控您的雲端環境。
相關連結
確認
- 作者 - Chaitanya Chintala (雲端安全性顧問)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Consolidate Logs Across Tenancies for SIEM Integration Using Cross-Tenancy Connector Hubs and OCI Stream
G12395-01
August 2024