Kostengünstiges Antivirus für Object Storage

Verbessern Sie die Sicherheit, und halten Sie die Compliance aufrecht, indem Sie einen kostengünstigen Virenscanner erstellen, um Dateiobjekte zu scannen, wie sie in Oracle Cloud Infrastructure Object Storage erstellt werden. Diese Architektur verwendet eine einzelne Oracle Cloud Infrastructure Compute-Instanz und ClamAV, eine Open-Source-Antivirus-Engine.

Architektur

Diese Architektur zeigt zwei Methoden zur Durchführung von Scanvorgängen für Ihre Dateien in Object Storage.

Eine Methode basiert auf dem Oracle Cloud Infrastructure Events Service und dem Oracle Cloud Infrastructure Streaming Service, um ein Skript oder Programm auf dem Scanner zu benachrichtigen, dass mindestens eine neue Datei dem Datei-Bucket hinzugefügt wurde. Die andere Methode scannt den Datei-Bucket in einem von Ihnen festgelegten Zeitplan.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von architektur-antivirus.png folgt
Beschreibung der Abbildung architektur-antivirus.png

Die Architektur verfügt über folgende Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region eingerichtet haben. Wie herkömmliche Rechenzentrumsnetze geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain Geltungsbereich haben können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Compartment

    Ein Compartment ist eine Sammlung zugehöriger Ressourcen. Compartments sind eine grundlegende Komponente von Oracle Cloud Infrastructure zur Organisation und Isolierung von Cloud-Ressourcen. Fächer sind flächendeckend und durchqueren alle Regionen.

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die die Quelle, das Ziel und den Typ des Traffics angeben, der im Subnetz und außerhalb des Subnetzes zulässig ist.

  • Instanz-Principal

    Instance Principal ist das IAM-Servicefeature, mit dem Instanzen autorisierte Akteure (oder Principals) zur Ausführung von Aktionen für Serviceressourcen sind. Jede Compute-Instanz hat eine eigene Identität und authentifiziert sich mit den Zertifikaten, die ihr hinzugefügt werden.

  • Dynamische Gruppe

    Mit dynamischen Gruppen können Sie Oracle Cloud Infrastructure-Computerinstanzen wie Benutzergruppen als "Principal"-Akteure gruppieren. Anschließend können Sie Policys erstellen, damit Instanzen API-Aufrufe für Oracle Cloud Infrastructure-Services durchführen können.

  • Policys

    Eine Policy ist ein Dokument, das angibt, wer auf welche Oracle Cloud Infrastructure-Ressourcen Ihres Unternehmens zugreifen kann und wie. Mit einer Policy kann eine Gruppe einfach auf bestimmte Weise mit bestimmten Ressourcentypen in einem bestimmten Compartment oder Mandanten arbeiten.

  • Object Storage Service

    Oracle Cloud Infrastructure Object Storage Service ist eine internetweite, leistungsstarke Speicherplattform, die zuverlässige und kostengünstige Datenbeständigkeit bietet. Sie können eine unbegrenzte Menge unstrukturierter Daten eines beliebigen Inhaltstyps speichern. Einschließlich Datenbankbackups, Analysedaten und reicher Inhalte wie Bilder und Videos.

  • Compute-Instanzen

    Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts bereitstellen und verwalten. Sie können Compute-Instanzen mit Formen starten, die Ihren Ressourcenanforderungen entsprechen (CPU, Speicher, Netzwerkbandbreite und Speicher). Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes anhängen und trennen und sie beenden, wenn Sie sie nicht benötigen.

    Die Architektur verfügt über eine Compute-Instanz. Es hostet die ClamAV-Antivirus-Engine und andere Tools zur Verwaltung des Scanprozesses.

  • Ereignisse

    Oracle Cloud Infrastructure-Services geben Ereignisse aus, bei denen es sich um strukturierte Nachrichten handelt, die die Änderungen der Ressourcen beschreiben. Ereignisse werden für Erstellungs-, Lese-, Aktualisierungs- oder Löschvorgänge (CRUD), Änderungen des Ressourcenlebenszyklusstatus und Systemereignisse ausgegeben, die sich auf Cloud-Ressourcen auswirken.

    In dieser Architektur verfolgt der Ereignisservice die Erstellung eines Objekts in einem Object Storage-Bucket.

  • Streaming

    Oracle Cloud Infrastructure Streaming bietet eine vollständig verwaltete, skalierbare und dauerhafte Speicherlösung für die Aufnahme kontinuierlicher, volumenreicher Datenströme, die Sie in Echtzeit verbrauchen und verarbeiten können. Sie können Streaming verwenden, um hochvolumige Daten wie Anwendungslogs, Betriebstelemetrie, Web-Click-Stream-Daten zu erfassen, oder für andere Anwendungsfälle, in denen Daten kontinuierlich und sequenziell in einem Publish-Abonnement-Messaging-Modell erzeugt und verarbeitet werden.

Empfehlungen

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • VCN und Subnetze

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze in VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich innerhalb des standardmäßigen privaten IP-Adressraums befinden.

    Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Rechenzentrum oder einem anderen Cloud-Provider), zu dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.

    Wenn Sie die Subnetze entwerfen, berücksichtigen Sie Ihre Verkehrsfluss- und Sicherheitsanforderungen. Ordnen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz zu, das als Sicherheitsgrenze dienen kann.

  • Compartment

    Standardmäßig verfügt jeder Oracle Cloud Mandant über ein Standard-Root-Compartment, das nach dem Mandanten selbst benannt ist. Der Mandantenadministrator (Standard-Root-Compartment-Administrator) ist jeder Benutzer, der Mitglied der Standard-Administratorengruppe ist.

    Erstellen Sie für diese Architektur ein Compartment, das alle Ressourcen enthält, um sie zu isolieren und die Sicherheit zu verbessern.

  • Instanz-Principal

    Erstellen Sie eine dynamische Gruppe und Policys, damit die VM auf Object Storage-Buckets zugreifen kann, ohne sie öffentlich zu machen.

  • Oracle-Image

    Erstellen Sie die VM mit Oracle Cloud Developer Image, das mit OCI-CLI, Python und Git installiert und einsatzbereit ist.

Überlegungen

Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte:

  • Häufigkeit

    Die Häufigkeit, mit der Sie Ihren Scan ausführen, hängt von der Lautstärke und Häufigkeit der eingehenden Objekte ab. Eine allgemeine Richtlinie beginnt mit einem wöchentlichen Scan und passt sich entsprechend der Zeit an, die für die Verarbeitung aller Objekte im Bucket benötigt wird.

  • Performance

    Mehrere Faktoren beeinflussen die Performance, aber das Wichtigste ist die Anzahl der Dateien, die verarbeitet werden müssen, und die Instanzform.

  • Sicherheit

    Verwenden Sie Instanz-Principal und dynamische Gruppe, um den Zugriff auf Object Storage-Buckets einzuschränken. Verwenden Sie Oracle Cloud Infrastructure Identity and Access Management -(IAM-)Policys, um der bestimmten dynamischen Gruppe Berechtigungen zuzuweisen, um die Buckets nicht öffentlich zu machen.

    Verschlüsselung ist standardmäßig für Oracle Cloud Infrastructure Object Storage aktiviert und kann nicht deaktiviert werden.

  • Kostenfaktor

    Oracle Cloud Infrastructure-Instanz und der zugehörige Blockspeicher werden pro Verwendung bezahlt, sodass Sie nur zahlen, wenn Sie das Antivirus im Bucket ausführen. Um eingehende Objekte zu scannen, werden Sie eine Instanz mit 24x7 ausführen. Je nach Objektvolumen können Sie eine freie Tier verwenden, eine Instanz mit einem anderen Service teilen oder eine dedizierte Instanz starten. Sie müssen nicht zahlen für ausgehende Datenübertragung und für das Open Source Antivirus.

Bereitstellen

Der Terraform-Code für diese Referenzarchitektur ist als Beispielstapel in Oracle Cloud Infrastructure Resource Manager verfügbar. Sie können den Code auch von GitHub herunterladen und an Ihre spezifischen Anforderungen anpassen.

  • Deployment mit dem Beispielstack in Oracle Cloud Infrastructure Resource Manager:
    1. Navigieren Sie zu In Oracle Cloud bereitstellen.

      Wenn Sie noch nicht angemeldet sind, geben Sie die Mandanten- und Benutzerzugangsdaten ein.

    2. Wählen Sie den Bereich, in dem der Stack bereitgestellt werden soll.
    3. Befolgen Sie die Anweisungen und Anweisungen zum Erstellen des Stacks auf dem Bildschirm.
    4. Klicken Sie nach dem Erstellen des Stacks auf Terraform-Aktionen, und wählen Sie Plan aus.
    5. Warten Sie, bis der Job abgeschlossen ist, und prüfen Sie den Plan.

      Um Änderungen vorzunehmen, kehren Sie zur Seite "Stackdetails" zurück, klicken auf Stack bearbeiten, und nehmen Sie die erforderlichen Änderungen vor. Führen Sie dann die Aktion Plan erneut aus.

    6. Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden aus.
  • Deployment mit dem Terraform-Code in GitHub:
    1. Gehen Sie zu GitHub.
    2. Klonen oder laden Sie das Repository auf Ihren lokalen Computer herunter.
    3. Befolgen Sie die Anweisungen im Dokument README.