Netzwerksicherheitsgruppen

Der Networking-Service bietet zwei virtuelle Firewallfunktionen, um den Traffic auf Paketebene zu steuern:

  • Netzwerksicherheitsgruppen: Werden in diesem Thema abgedeckt. Netzwerksicherheitsgruppen (NSGs) werden nur für bestimmte Services unterstützt.
  • Sicherheitslisten: Der ursprüngliche Typ von virtuellen Firewall, der vom Networking-Service angeboten wurde. Siehe Sicherheitslisten.

Beide Funktionen verwenden Sicherheitsregeln. Wichtige Informationen zur Funktionsweise von Sicherheitsregeln und einen allgemeinen Vergleich von Sicherheitslisten und Netzwerksicherheitsgruppen finden Sie unter Sicherheitsregeln.

Hinweis

Sie können Zero Trust Packet Routing (ZPR) zusammen mit oder anstelle von Netzwerksicherheitsgruppen verwenden, um den Netzwerkzugriff auf OCI-Ressourcen zu kontrollieren, indem Sie ihnen Sicherheitsattribute anwenden und ZPR-Policys erstellen, um die Kommunikation zwischen ihnen zu steuern. Weitere Informationen finden Sie unter Zero Trust Packet Routing.
Achtung

Wenn ein Endpunkt ein ZPR-Sicherheitsattribut aufweist, muss der Traffic zum Endpunkt ZPR-Regeln sowie alle NSG- und Sicherheitslistenregeln erfüllen. Beispiel: Wenn Sie bereits NSGs verwenden und ein Sicherheitsattribut auf einen Endpunkt anwenden, wird der gesamte Traffic zum Endpunkt blockiert, sobald das Attribut angewendet wird. Ab diesem Zeitpunkt muss eine ZPR-Policy Traffic zum Endpunkt zulassen.

Highlights

  • Netzwerksicherheitsgruppen (NSGs) fungieren als virtuelle Firewall für Computing-Instanzen und andere Arten von Ressourcen. Eine NSG besteht aus einem Set von Ingress- und Egress-Sicherheitsregeln, die nur für eine Gruppe von VNICs in einem einzelnen VCN gelten (Beispiel: alle Compute -Instanzen, die als Webserver in der Web-Tier einer Multi-Tier -Anwendung in einem VCN fungieren).
  • Im Vergleich zu Sicherheitslisten können Sie mithilfe von NSGs die Subnetzarchitektur eines VCN von den Anforderungen an die Anwendungssicherheit trennen. Siehe Vergleich von Sicherheitslisten und Netzwerksicherheitsgruppen.
  • Sie können NSGs mit bestimmten Ressourcentypen verwenden. Weitere Informationen finden Sie unter Unterstützung für Netzwerksicherheitsgruppen.
  • NSG-Sicherheitsregeln entsprechen den Sicherheitslistenregeln. Bei der Quelle einer NSG-Sicherheitsregel (für Ingress-Regeln) oder dem Ziel (für Egress-Regeln) können Sie jedoch eine NSG anstelle eines CIDR angeben. So können Sie ganz einfach Sicherheitsregeln schreiben, um den Traffic zwischen zwei NSGs in ein und demselben VCN oder innerhalb einer einzelnen NSG zu steuern. Siehe Elemente einer Sicherheitsregel.
  • Im Gegensatz zu Sicherheitslisten weist das VCN keine Standard-NSG auf. Außerdem ist jede von Ihnen erstellte NSG anfänglich leer. Sie enthält keine Standardsicherheitsregeln.
  • Netzwerksicherheitsgruppen haben separate und unterschiedliche Limits im Vergleich zu Sicherheitslisten. Siehe Grenzwerte für Sicherheitslisten.

Unterstützung für Netzwerksicherheitsgruppen

NSGs sind zum Erstellen und Verwenden verfügbar. Die Services werden jedoch noch nicht von allen relevanten Oracle Cloud Infrastructure-Services unterstützt.

Die folgenden Typen von übergeordneten Ressourcen unterstützen den Einsatz von NSGs:

  • Autonomous Recovery Service (Subnetze für Recovery Service): Wenn Sie ein Recovery-Servicesubnetz registrieren, können Sie mindestens eine NSG (maximal fünf) mit den Ingress-Regeln für Recovery Service verknüpfen.
  • Compute-Instanzen: Wenn Sie eine Instanz erstellen, können Sie eine oder mehrere NSGs für die primäre VNIC der Instanz angeben. Wenn Sie eine sekundäre VNIC zu einer Instanz hinzufügen, können Sie eine oder mehrere NSGs für diese VNIC angeben. Sie können auch bestehende VNICs auf einer Instanz aktualisieren, sodass diese sich in einer oder mehreren NSGs befinden.
  • Load Balancer: Wenn Sie einen Load Balancing erstellen, können Sie eine oder mehrere NSGs für den Load Balancing (nicht das Backend-Set) angeben. Sie können auch einen vorhandenen Load Balancing aktualisieren, um eine oder mehrere NSGs zu verwenden.
  • DB-Systeme: Wenn Sie ein DB-System erstellen, können Sie eine oder mehrere NSGs angeben. Sie können auch ein vorhandenes DB-System aktualisieren, um eine oder mehrere NSGs zu verwenden.
  • Autonome Datenbanken: Wenn Sie eine Autonomous Database auf einer dedizierten Exadata-Infrastruktur erstellen, können Sie eine oder mehrere NSGs für die Infrastrukturressource angeben.
  • Mountziele: Wenn Sie ein Mountziel für ein Dateisystem erstellen, können Sie eine oder mehrere NSGs angeben. Sie können auch ein vorhandenes Mountziel aktualisieren, um eine oder mehrere NSGs zu verwenden.
  • DNS-Resolver-Endpunkt: Wenn Sie einen Endpunkt für einen privaten DNS-Resolver erstellen, können Sie mindestens eine NSG angeben. Sie können auch einen vorhandenen Endpunkt aktualisieren, um mindestens eine NSG zu verwenden.
  • Kubernetes-Cluster: Wenn Sie ein Kubernetes-Cluster mit der Kubernetes-Engine erstellen, können Sie mindestens eine NSG angeben, um den Zugriff auf den Kubernetes-API-Endpunkt und auf Worker-Knoten zu steuern. Sie können auch NSGs angeben, wenn Sie einen Load Balancer für ein Cluster definieren.
  • API-Gateways: Beim Erstellen eines API-Gateways können Sie mindestens eine NSG angeben, um den Zugriff auf das API-Gateway zu steuern.
  • Funktionen: Wenn Sie in OCI Functions eine Anwendung einrichten, können Sie mindestens eine NSG angeben, um Ingress- und Egress-Regeln zu definieren, die für alle Funktionen in dieser bestimmten Anwendung gelten.
  • GoldenGate-Deployments: Wenn Sie ein GoldenGate-Deployment erstellen, können Sie mindestens eine NSG angeben, um den Zugriff auf das Deployment zu steuern.
  • Redis-Cluster: Wenn Sie ein Redis-Cluster erstellen, können Sie eine oder mehrere NSGs angeben, um den Zugriff auf das Redis-Cluster zu kontrollieren. Sie können auch ein vorhandenes Cluster aktualisieren, um mindestens eine NSG zu verwenden

Bei Ressourcentypen, die NSGs noch nicht unterstützen, verwenden Sie weiterhin Sicherheitslisten, um den Traffic in diesen und aus diesen übergeordneten Ressourcen zu steuern.

Netzwerksicherheitsgruppen - Überblick

Eine Netzwerksicherheitsgruppe (NSG) stellt eine virtuelle Firewall für Cloud-Ressourcen bereit, die alle denselben Sicherheitsstatus aufweisen. Beispiel: Eine Gruppe von Computing-Instanzen, die alle dieselben Aufgaben ausführen und damit alle dieselben Ports verwenden müssen.

Eine NSG besteht aus zwei Elementtypen:

  • VNICs: Eine oder mehrere VNICs (zum Beispiel die VNICs, die an das Set der Compute-Instanzen angehängt sind, die alle denselben Sicherheitsstatus haben). Alle VNICs müssen sich in demselben VCN wie die NSG befinden. Siehe auch Sicherheitslisten und Netzwerksicherheitsgruppen im Vergleich.
  • Sicherheitsregeln: Die Sicherheitsregeln der NSG definieren, welche Typen von Traffic in die und aus den VNICs in der Gruppe zulässig sind. Beispiel: Ingress-Traffic über TCP-Port 22 (SSH) aus einer bestimmten Quelle.

Wenn Ressourcen mit unterschiedlichem Sicherheitsstatus in einem und demselben VCN vorhanden sind, können Sie NSG-Sicherheitsregeln schreiben, um dem Traffic zwischen den Ressourcen mit einem bestimmten Wert anstatt einem anderen zu steuern. Beispiel: Im folgenden Diagramm werden in NSG1 VNICs in einer Tier einer Anwendung mit Multi-Tier-Architektur ausgeführt. Bei NSG2 werden VNICs in einer zweiten Tier ausgeführt. Beide NSGs müssen zu demselben VCN gehören. Es wird davon ausgegangen, dass beide NSGs Verbindungen zur anderen NSG starten müssen.

Bei NSG1 richten Sie Egress-Sicherheitsregeln ein, mit denen NSG2 als Ziel angegeben wird, und Ingress-Sicherheitsregeln, die NSG2 als Quelle angeben. Gleichermaßen richten Sie für NSG2 Egress-Sicherheitsregeln ein, die NSG1 als Ziel angeben, und Ingress-Sicherheitsregeln, die NSG1 als Quelle angeben. In diesem Beispiel wird davon ausgegangen, dass die Regeln für zustandsbehafteten Traffic vorgesehen sind.

Sie können Sicherheitsregeln einrichten, um den Traffic zwischen zwei Netzwerksicherheitsgruppen zu steuern.

Im vorherigen Diagramm wird davon ausgegangen, dass jede NSG Verbindungen für die andere NSG starten muss.

Im nächsten Diagramm wird davon ausgegangen, dass Sie stattdessen nur Verbindungen zulassen möchten, die von NSG1 zu NSG2 gestartet wurden. Dazu entfernen Sie die Ingress-Regel aus NSG1 und die Egress-Regel aus NSG2. Die verbleibenden Regeln lassen keine Verbindungen zu, die von NSG2 bis NSG1 gestartet werden.

Diese Sicherheitsregeln ermöglichen Verbindungen, die nur in einer Richtung gestartet werden: von NSG1 bis NSG2.

Im nächsten Diagramm wird davon ausgegangen, dass Sie den Traffic zwischen VNICs in derselben NSG steuern möchten. Legen Sie dazu die Quelle (für Ingress) oder das Ziel (für Egress) der Regel als eigene NSG fest.

Sie können Sicherheitsregeln einrichten, um den Traffic zwischen VNICs in derselben NSG zu kontrollieren.

Eine VNIC kann maximal in fünf NSGs vorhanden sein. Ein Paket ist zulässig, wenn eine beliebige Regel in eine der NSGs der VNIC den Traffic zulässt (oder wenn der Traffic Teil einer vorhandenen Verbindung ist, der verfolgt wird), es sei denn, die Listen enthalten sowohl zustandsbehaftete als auch zustandslose Sicherheitsregeln, die denselben Traffic abdecken. Weitere Informationen finden Sie unter Zustandsbehaftete Regeln im Vergleich zu zustandslosen Regeln.

Netzwerksicherheitsgruppen sind regionale Entitys. Grenzwerte für Netzwerksicherheitsgruppen finden Sie unter Sicherheitslisten und Netzwerksicherheitsgruppen im Vergleich.

Informationen zu Limits finden Sie unter Limits für Netzwerksicherheitsgruppen und Erhöhung des Servicelimits anfordern.

API verwenden

Informationen zur Verwendung der API und zu Signaturanforderungen finden Sie unter REST-API-Dokumentation und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter SDKs und die CLI.

Informationen zur Verwendung der API und zu Signaturanforderungen finden Sie unter REST-API-Dokumentation und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter SDKs und die CLI.

Die REST-API-Modell für NSGs enthält einige grundlegende Unterschiede im Vergleich zu Sicherheitslisten:

  • Sicherheitslisten haben ein IngressSecurityRule-Objekt und ein separates EgressSecurityRule-Objekt. Netzwerksicherheitsgruppen haben nur ein SecurityRule-Objekt, und das direction-Attribut des Objekts zeigt an, ob die Regel für Ingress- oder Egress-Traffic gilt.
  • Bei Sicherheitslisten sind die Regeln Teil des SecurityList-Objekts, und Sie arbeiten mit den Regeln, indem Sie die Sicherheitslistenvorgänge aufrufen (wie UpdateSecurityList). Bei NSGs ist die Regel nicht Bestandteil des NetworkSecurityGroup-Objekts. Stattdessen verwenden Sie separate Vorgänge, um mit den Regeln für eine gewisse NSG zu arbeiten (Beispiel: UpdateNetworkSecurityGroupSecurityRules).
  • Das Modell zum Aktualisieren vorhandener Sicherheitsregeln ist bei Sicherheitslisten anders als bei NSGs. Bei NSGs hat jede Regel in einer bestimmten Gruppe eine eindeutige von Oracle zugewiesene ID (Beispiel: 04ABEC). Wenn Sie UpdateNetworkSecurityGroupSecurityRules aufrufen, geben Sie die IDs der bestimmten Regeln an, die Sie aktualisieren möchten. Im Vergleich dazu haben die Regeln bei Sicherheitslisten keine eindeutige ID. Wenn Sie UpdateSecurityList aufrufen, müssen Sie die gesamte Liste der Regeln übergeben, einschließlich Regeln, die im Aufruf nicht aktualisiert werden.
  • Beim Aufrufen der Vorgänge, die hinzugefügt, entfernt oder aktualisiert werden sollen, sind Sicherheitsregeln auf 25 Regeln begrenzt.

Mit Netzwerksicherheitsgruppen arbeiten

Allgemeiner Prozess für die Arbeit mit NSGs

  1. Erstellen Sie eine NSG.
  2. Fügen Sie der NSG Sicherheitsregeln hinzu.
  3. Fügen Sie der NSG übergeordnete Ressourcen (wie VNICs) hinzu. Dies ist möglich, wenn Sie die übergeordnete Ressource erstellen, oder Sie können die übergeordnete Ressource aktualisieren und sie zu einer oder mehreren NSGs hinzufügen. Wenn Sie eine Compute-Instanz erstellen und zu einer NSG hinzufügen, wird die primäre VNIC der Instanz zur NSG hinzugefügt. Abgesehen davon können Sie auch sekundäre VNICs erstellen und diese optional zu NSGs hinzufügen.

NSGs löschen

Um eine NSG zu löschen, darf sie keine VNICs oder übergeordneten Ressourcen enthalten. Wenn eine übergeordnete Ressource (oder eine VNIC einer Compute-Instanz) gelöscht wird, wird diese automatisch aus den NSGs entfernt, in der sie enthalten war. Sie haben möglicherweise keine Berechtigung, eine bestimmte übergeordnete Ressource zu löschen. Bitten Sie den Mandantenadministrator, zu ermitteln, wer Eigentümer einer bestimmten Ressource ist.

Erforderliche IAM Policy

Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der von einem Mandantenadministrator Sicherheitszugriff in einer Policy erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Nachricht erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Mandantenadministrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Ihr Zugriff funktioniert.

Für Administratoren: Die Policy unter Verwalten eines Cloud-Netzwerkes durch Netzwerkadministratoren zulassen umfasst die Verwaltung aller Netzwerkkomponenten, einschließlich NSGs.

Wenn Sie über Sicherheitsadministratoren verfügen, die NSGs, aber keine anderen Komponenten im Networking-Service verwalten müssen, können Sie eine einschränkendere Policy schreiben:

Allow group NSGAdmins to manage network-security-groups in tenancy
			
Allow group NSGAdmins to manage vcns in tenancy 
      where ANY {request.operation = 'CreateNetworkSecurityGroup',
                 request.operation = 'DeleteNetworkSecurityGroup'}

Allow group NSGAdmins to read vcns in tenancy

Allow group NSGAdmins to use VNICs in tenancy

Mit der ersten Anweisung kann die NSGAdmins-Gruppe NSGs und die zugehörigen Sicherheitsregeln erstellen und verwalten.

Die zweite Anweisung ist erforderlich, da sich das Erstellen oder Löschen einer NSG auf das VCN auswirkt, in dem sich die NSG befindet. Die Anweisung beschränkt die VCN-bezogenen Berechtigungen auf die Berechtigungen, die zum Erstellen oder Löschen einer NSG erforderlich sind. Die Anweisung lässt es nicht zu, dass die Gruppe NSGAdmins VCNs erstellt oder löscht oder mit Ressourcen in einem VCN arbeitet (NSGs ausgenommen).

Die dritte Anweisung ist für das Auflisten der VCNs erforderlich. Das ist eine Voraussetzung für das Erstellen oder Löschen einer NSG in einem VCN. Informationen dazu, warum sowohl die zweite als auch die dritte Anweisung erforderlich ist, finden Sie unter Bedingungen.

Die vierte Anweisung ist erforderlich, wenn die NSGAdmins-Gruppe VNICs in eine NSG aufnehmen muss. Wer die übergeordnete Ressource der VNIC erstellt (z.B. eine Compute-Instanz), muss bereits über diese Berechtigungsebene verfügen, um die übergeordnete Ressource zu erstellen.

Weitere Informationen zu Networking-Service-Policys finden Sie unter IAM-Policys für Networking.