Hinweis:

Mandantenübergreifende Konsolidierung von Logs für die SIEM-Integration mit mandantenübergreifenden Connector Hubs und OCI Stream

Einführung

Oracle Cloud Infrastructure (OCI) ist ein Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) und Software-as-a-Service (SaaS), dem große Unternehmen vertrauen. Es bietet eine umfassende Palette von verwalteten Services, die Hosting, Speicher, Networking, Datenbanken und mehr umfassen.

Die proaktive Darstellung von Protokollen sicherheitsbezogener Ereignisse für die Suche nach geeigneten Ressourcen ist entscheidend, um Cybersicherheitsvorfälle zu erkennen und zu verhindern. Viele Unternehmen verwenden Security Information and Event Management-(SIEM-)Plattformen, um Protokolle und Alerts aus relevanten Assets zu korrelieren und zu analysieren. Die richtige Konfiguration der Erfassung und Aufbewahrung von Schlüssellogs für eine angemessene Dauer sowie die Überwachung und Benachrichtigung in nahezu Echtzeit ermöglicht es Security Operations-Teams, Probleme zu identifizieren, sich auf kritische Informationen basierend auf der Systemoptimierung zu konzentrieren und geeignete Maßnahmen zu ergreifen.

Ein Best-Practice-Muster für die Aufnahme von OCI-Logs besteht darin, Logs an den OCI-Stream zu senden, der mit Apache Kafka kompatibel ist. Dadurch kann die SIEM-Plattform eines Drittanbieters die Logs als Kafka-Consumer konsumieren. Dadurch wird die Verzögerung reduziert, Resilienz und Aufbewahrung bereitgestellt, falls ein temporäres Problem auftritt, das Daten auf SIEM-Seite konsumiert.

Architekturdiagramm

Wenn Sie mehrere Mandanten verwalten, anstatt jede Region aller Mandanten einzeln mit der SIEM-Plattform zu integrieren, können Sie Logs aus mehreren Quellmandanten (SourceTenant(s)) innerhalb einer bestimmten Region in einem einzigen OCI-Stream (TargetTenant) konsolidieren, indem Sie mandantenübergreifende Connector-Hubs erstellen. Die SIEM-Plattform kann dann Logs aller Mandanten in dieser Region über den Stream TargetTenant aufnehmen.

Hinweis: Der OCI Connector Hub-Service unterstützt ab sofort keinen regionsübergreifenden Connector Hub.

In der folgenden Abbildung wird die Lösungsarchitektur auf hoher Ebene dargestellt.

Lösungsarchitektur - Diagramm

Anweisungen genehmigen, zulassen und definieren

Um auf Ressourcen zugreifen und diese freigeben zu können, müssen die Administratoren beider Mandanten (SourceTenant(s) und TargetTenant) spezielle mandantenübergreifende Policy-Anweisungen erstellen, die explizit angeben, auf welche Ressourcen zugegriffen werden kann und welche Ressourcen freigegeben werden können. Diese speziellen Anweisungen verwenden die Verben "Freigeben", "Aufnehmen" und "Definieren".

Ein Überblick über die speziellen Verben in mandantenübergreifenden Anweisungen:

Die Statements "Enable" und "Admit" arbeiten zusammen. Ohne eine entsprechende Anweisung, die den Zugriff spezifiziert, erteilt eine bestimmte Freigabe- oder Zulassungsanweisung keinerlei Zugriff. Beide Mandanten müssen dem Zugriff zustimmen.

Hinweis:

Ziele

Voraussetzungen

Aufgabe 1: Stream in TargetTenant erstellen

OCI Streaming Service ist eine serverlose, Apache Kafka-kompatible Ereignis-Streaming-Plattform in Echtzeit für Entwickler und Data Scientists. Es bietet eine vollständig verwaltete, skalierbare und dauerhafte Lösung zum Aufnehmen und Konsumieren von hochvolumigen Datenströmen in Echtzeit, wie z.B. Logs. Wir können OCI Streaming für jeden Anwendungsfall verwenden, bei dem Daten kontinuierlich und sequentiell in einem Publish/Subscribe-Messagingmodell erzeugt und verarbeitet werden.

  1. Navigieren Sie zur OCI-Konsole zu Analysen und KI, Messaging und Streaming.

  2. Klicken Sie auf Stream erstellen, um einen Stream zu erstellen.

  3. Geben Sie die folgenden Informationen ein, und klicken Sie auf Erstellen.

    • Name: Geben Sie den Streamnamen ein. Für dieses Tutorial verwenden wir TargetTenant-Stream.
    • Streampool: Wählen Sie einen vorhandenen Streampool aus, oder erstellen Sie einen neuen mit öffentlichem Endpunkt.
    • Aufbewahrung (in Stunden): Geben Sie an, wie viele Stunden Nachrichten in diesem Stream aufbewahrt werden sollen.
    • Anzahl Partitionen: Geben Sie die Anzahl der Partitionen für den Stream ein.
    • Gesamte Schreibrate und Gesamte Leserate: Die Eingabe basiert auf der Datenmenge, die Sie verarbeiten müssen.

    Sie können mit Standardwerten für Tests beginnen. Weitere Informationen finden Sie unter Stream partitionieren.

Aufgabe 2: Policys in SourceTenant(s) schreiben

Geben Sie einen beliebigen Connector Hub im angegebenen Compartment von SourceTenant(s) an, um auf einen beliebigen Stream in TargetTenant zuzugreifen.

Befehlsformat:

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> 
    }

Beispielbefehl:

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' }

Aufgabe 3: Policys in TargetTenant schreiben

Nehmen Sie den Connector Hub von SourceTenant(s) auf, um auf den Stream in TargetTenant zuzugreifen.

Befehlsformat:

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'
   
   }

Beispielbefehl:

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' }

Aufgabe 4: OCI Connector Hub mit CLI in den SourceTenant(s) erstellen

Nachdem die erforderlichen Policys in den SourceTenant(s) und TargetTenant erstellt wurden, erstellen Sie einen OCI Connector Hub mit der CLI in den SourceTenant(s). Der folgende Beispiel-CLI-Befehl gibt OCI Logging als Quelle und OCI Streaming als Ziel für das Erstellen des mandantenübergreifenden Connector Hub an.

Mandantenübergreifender Connector Hub zum Übertragen von OCI-Auditlogs von SourceTenant(s) in den TargetTenant-Stream.

Befehlsformat:

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>" }'

Beispielbefehl:

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" }'

Mandantenübergreifender Connector Hub zum Übertragen von Service-/benutzerdefinierten Logs von SourceTenant(S) in den TargetTenant-Stream. Erstellen Sie eine Loggruppe, und aktivieren Sie die erforderlichen Logs, bevor Sie den folgenden Befehl ausführen.

Befehlsformat:

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>" }'

Hinweis: Policy-Anweisungen in Aufgabe 2, Aufgabe 3 und CLI-Befehl in Aufgabe 4 sind zur besseren Lesbarkeit formatiert. Entfernen Sie vor der Verwendung von Kopien dieser Anweisungen neue Zeilen, Registerkarten und Leerzeichen.

Nächste Schritte

In diesem Tutorial wurde gezeigt, wie Sie Logs aus mehreren Mandanten mit den mandantenübergreifenden Connector Hubs und dem OCI-Stream konsolidieren. SIEM-Plattformen von Drittanbietern sollten so konfiguriert werden, dass sie diese Logs als Kafka-Consumer verwenden. Es ist wichtig, Dashboards in SIEM-Plattformen einzurichten, um kritische Metriken zu erfassen und Alerts zu konfigurieren, die ausgelöst werden, wenn vordefinierte Schwellenwerte überschritten werden. Darüber hinaus ist die Definition bestimmter Abfragen entscheidend, um böswillige Aktivitäten zu erkennen und Muster in Ihren OCI-Mandanten zu identifizieren. Diese Aktionen verbessern Ihren Sicherheitsstatus und ermöglichen eine proaktive Überwachung Ihrer Cloud-Umgebung.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.