Sichere Multitier-Netzwerke entwerfen

Wenn Sie ein sicheres Multitier-Netzwerk entwerfen, erstellen Sie die Architektur in Schichten.

Platzieren Sie Ihre sensiblen Ressourcen, wie die Datenbanken, in der innersten Schicht in privaten Subnetzen. Definieren Sie Sicherheitsregeln, um den Netzwerkzugriff auf die Ressourcen zu kontrollieren. Leiten Sie den Datenverkehr über Bastion-Hosts und Load Balancer aus dem öffentlichen Internet weiter.

Subnetzstrategie bestimmen

Ein Subnetz ist ein fortlaufender Bereich von IP-Adressen in einem VCN. Um den Netzwerkverkehr zu einem und von einem Subnetz aus zu steuern, können Sie Sicherheitslisten, eine Routingtabelle und eine Gruppe von DHCP-Optionen anhängen.

Beachten Sie die folgenden Faktoren beim Bestimmen der Subnet-Strategie:
  • Sie können die Größe eines Subnetzes nach dem Erstellen nicht ändern. Planen Sie daher die Größe aller erforderlichen Subnetze, bevor Sie sie erstellen.
  • Ein Subnetz kann privat oder öffentlich sein. Sie treffen diese Auswahl, wenn Sie die Subnetze erstellen und später nicht mehr ändern können.
  • Eine typische Strategie besteht darin, nur private Subnetze zu erstellen.
    • Datenverkehr von Ihrem On-Premise-Netzwerk können eine IPSec VPN-Verbindung oder einen Oracle Cloud Infrastructure FastConnect-Link verwenden.
    • Datenverkehr vom öffentlichen Internet können über einen öffentlichen Load Balancer weitergeleitet werden.
    • Der Datenverkehr, der für das öffentliche Internet gebunden ist, kann über ein Network Address Translation (NAT) Gateway weitergeleitet werden. Mit dem NAT-Gateway können Ressourcen in einem privaten Subnetz ausgehende Verbindungen zum Internet herstellen und Daten über dieselbe Verbindung empfangen. Es sind keine eingehenden Verbindungen vom Internet zulässig.
  • Wenn Ihre Anwendungsarchitektur öffentliche IP-Adressen erfordert (Beispiel: Sie migrieren eine On-Premise-Anwendung in die Cloud), verwenden Sie eine Architektur, die sowohl private als auch öffentliche Subnetze enthält.
  • Erstellen Sie die Subnetze in den Compartments, in denen Sie die Ressourcen, die die Subnetze benötigen, bereitstellen möchten.
  • Ein Subnetz kann entweder spezifisch für eine Availability-Domain (AD) oder für eine Region sein. AD-Fehler wirken sich nicht auf regionale Subnetze aus.

Sicherheitslisten entwerfen

Für jedes der Subnetze können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Datenverkehrstyp angeben, die in das Subnetz integriert oder aus dem Subnetz entfernt werden müssen. Sie definieren diese Regeln in Sicherheitslisten und ordnen die Sicherheitslisten den Subnetzen zu.

Um granulare Kontrolle über Inress und Egress-Netzwerkverkehr zu implementieren, können Sie Sicherheitslisten für einzelne Subnetze erstellen. Sie können Regeln beibehalten, die für alle Subnetze in einer separaten (globalen) Sicherheitsliste gelten. Im Folgenden finden Sie einige Arten von Sicherheitslisten, die Sie berücksichtigen können:
  • Globale Sicherheitsliste : Diese Sicherheitsliste enthält die Regeln, die Sie für alle Subnetze verwenden möchten. Normalerweise enthält diese Liste einige Regeln.
  • Ebenenspezifische Sicherheitsliste : Sie können Sicherheitslisten für bestimmte Tiers in der Multitier-Architektur definieren (z.B. Geschäftslogik oder Datenbank-Tier). Durch sorgfältig Ihre Subnetze können Sie die Anzahl der für die Intertier-Kommunikation benötigten Sicherheitsregeln erheblich reduzieren. Beispiel: Sie können zulassen, dass die Geschäftslogik-Tier mit der Database Tier kommuniziert, indem Sie nur zwei Sicherheitsregeln erstellen (eine Inress und ein Egress).
  • Familiensicherheitsliste : Diese Liste gilt für Sicherheitsregeln, die für die Subnetze gelten, aus denen ein einzelner Service besteht, oder die für einen einzelnen Kunden in einer Availability-Domain gelten. Beispiel: Die Regeln, die für die Web, die Anwendung und die Load Balancer Service-Subnetze innerhalb einer Availability-Domain in der Geschäftslogik-Tier angewendet werden.
  • Subnet-spezifische Sicherheitslisten : Diese Listen enthalten Regeln, die für einzelne Subnetze spezifisch sind.
  • Temporäre Sicherheitsliste : Sie können eine temporäre Sicherheitsliste für Regeln verwenden, mit denen Sie experimentieren oder testen. Beispiel: Beim Testen eines bestimmten Anwendungsfalls für Inress können Sie die erforderlichen Regeln in einer temporären Sicherheitsliste erstellen.

Sicherheitsregeln definieren

Mit Sicherheitsregeln steuern Sie den Netzwerkverkehr zu und von den Ressourcen. Jede Regel definiert Richtung, Quelle, Ziel, Port und Protokoll, für das der Datenverkehr zulässig ist.

Die folgende Tabelle enthält ein Beispiel der Regeln, die Sie pro Subnetzfamilie definieren müssen. Bestimmen Sie die Regeln, die für Ihre Anwendungen erforderlich sind.

Subnetzfamilie Ingress-Regeln Egressregeln
DMZ
  • TCP/22 von überall
  • TCP/80 von überall
  • TCP/443 von überall
TCP/22 an das VCN
Load Balancer
  • TCP/80 von überall
  • TCP/443 von überall
  • TCP/80 bei Middle Tier
  • TCP/443 bei Middle Tier
Middle Tier
  • TCP/80 aus dem Load Balancer
  • TCP/443 aus dem Load Balancer
TCP/1521 auf Database Tier
Datenbank TCP/1521 aus der Middle Tier Kein

Hinweis:

Das Definieren von Sicherheitslisten und -regeln ist der erste Schritt zur Sicherung Ihres Netzwerks. Bevor Sie Ihr Netzwerk dem Internet mitteilen, sollten Sie sich überlegen, wie verteilte Denial-of-Service-(DDoS-), SQL-Injection- und andere Netzwerkangriffe behandelt werden.

Compartments definieren

Mit Compartments können Sie Ihre Cloud-Ressourcen in logischen Containern organisieren und den Zugriff auf die Ressourcen kontrollieren. Die Policys, die Sie definieren, kontrollieren die Möglichkeit des Benutzers, Ressourcen in bestimmten Compartments zu erstellen und zu verwalten.

Entwerfen Sie die Compartments und Policys, je nachdem, wie Ihre Cloud-Ressourcen verwaltet werden. Das Ziel besteht darin, sicherzustellen, dass Benutzer nur auf die Ressourcen zugreifen können, die sie benötigen, basierend auf ihren Geschäfts- und IT-Rollen. Wenn z.B. eine Gruppe von Benutzern die Middle Tier verwaltet und eine andere Gruppe die Database Tier verwaltet, erstellen Sie ein Compartment für jede Tier. Selbst wenn nur ein Human User beide Tiers verwaltet, sollten Sie ein separates Compartment für jede Tier verwenden. Mit diesem Ansatz können Sie die Berechtigungen bei Bedarf einfach trennen.

Mit Compartments können Sie auch die Verwendung Ihres Cloud-Budgets verfolgen und verwalten. Beispiel: Sie können ein Compartment für jede Abteilung in Ihrer Organisation erstellen und die Cloud-Ressourcen in jedem Compartment überwachen.

Weisen Sie Ihre Compartments logische Namen zu. Verwenden Sie eine Namenskonvention, mit der Sie Art und Status der Ressourcen im Container mühelos identifizieren können.

Die folgende Tabelle enthält ein Beispiel der Compartments und Subnetzstruktur für eine typische Multitier-Architektur. In diesem Beispiel könnte xxx im Compartment-Namen (z.B.) Dev, Test, Stage oder Prod sein und yyy der Name Ihrer Anwendung oder Workload sein. Beispiel: Der Name Prod_Ordering_SharedServices gibt an, dass das Compartment Production-Ressourcen enthält, die von den Shared Services der Sortieranwendung verwendet werden.

Fach Subnetze Ressourcen
xxx _ yyy _Networks Kein VCN und Gateways
xxx _ yyy _Admin DMZ-Subnetz Bastion-Hosts
xxx _ yyy _BusinessLogic
  • Webserver-Subnets
  • Application Server-Subnetze
  • Load Balancer-Subnetze
  • Webserverinstanzen
  • Anwendungsserverinstanzen
  • Load Balancer-Knoten
xxx _ yyy _Database Datenbank-Subnets Datenbankinstanzen
xxx _ yyy _SharedServices Shared Services-Subnetze Gemeinsame Komponenten

Erstellen Sie das virtuelle Cloud-Netzwerk und die zugehörigen Gateways im Compartment xxx _ yyy _Networks, und erstellen Sie die erforderlichen Subnetze in den anderen Compartments.

Benutzer erstellen

Jede Person oder jedes System, die Ressourcen erstellen oder verwalten muss, muss als Benutzer in Oracle Cloud Infrastructure Identity and Access Management (IAM) oder in einem Provider für föderierte Identitäten definiert sein. Erstellen Sie die erforderlichen Benutzer.

Wenn Sie sich für einen Oracle Cloud-Account registrieren, richtet Oracle einen Administratorbenutzer ein und weist den Benutzer einer Gruppe namens "Administratoren" zu. Sie können diese Gruppe nicht löschen. Sie können ihr weitere Benutzer hinzufügen. Mit einer vordefinierten Policy können Administratoren alle Ressourcen in Oracle Cloud Infrastructure verwalten.

Erstellen Sie die erforderlichen Benutzer. Wenn Ihr Account einen Provider für föderierte Identitäten (z.B. Oracle Identity Cloud Service ) verwendet, erstellen Sie die Benutzer in diesem Identitätsprovider.

Wenn die föderierten Benutzer API-Schlüssel und Authentifizierungstoken verwalten müssen, stellen Sie sicher, dass der Provider der föderierten Identität so konfiguriert ist, dass Benutzer in IAM durch Provisioning bereitgestellt werden. (Diese Konfiguration ist nur für Konten erforderlich, die vor dem 21. Dezember 2018 erstellt wurden.) Alternativ dazu können Sie einen lokalen Benutzer in IAM erstellen.

Gruppen und Policys planen

Sie können die Berechtigungen eines Benutzers kontrollieren, indem Sie den Benutzer zu einer Gruppe hinzufügen oder den Benutzer aus einer Gruppe entfernen. Planen Sie die erforderlichen Gruppen und Policys, damit die Gruppen die Ressourcen in bestimmten Compartments verwalten können.

Sie können einen Benutzer einer oder mehreren Gruppen zuweisen. Policys bestimmen den Zugriff auf die Oracle Cloud Infrastructure-Ressourcen. Eine Policy gibt die Berechtigungen für eine oder mehrere Gruppen, Benutzer oder Compartments an.

In der folgenden Tabelle werden die erforderlichen Gruppen und Berechtigungen für eine Multitier-Architektur aufgeführt:

Gruppieren Berechtigungen
DBAdmins
  • Lesen Sie alle Ressourcen in den Mandanten.
  • Datenbankressourcen verwalten
IAMAdminManagers
  • Benutzer verwalten.
  • Verwalten Sie die Gruppen Administrators und NetSecAdmins.

Hinweis : Oracle erstellt die Gruppe Administrators, wenn Sie Oracle Cloud abonnieren. Die Benutzer in dieser Gruppe haben vollständigen Zugriff auf alle Ressourcen im Mandanten, einschließlich der Verwaltung von Benutzern und Gruppen. Beschränken Sie die Mitgliedschaft auf diese Gruppe.

IAMManagers
  • Benutzer verwalten.
  • Verwalten Sie alle Gruppen mit Ausnahme von Administrators und NetSecAdmins.
NetworkAdmins
  • Lesen Sie alle Ressourcen in den Mandanten.
  • Verwalten Sie alle Netzwerkressourcen, mit Ausnahme von Sicherheitslisten, Internetgateways, IPSec-VPN-Verbindungen und Customer Premise.
NetSecAdmins
  • Lesen Sie alle Ressourcen in den Mandanten.
  • Verwalten Sie Sicherheitslisten, Internetgateways, Customer Premise Equipment, IPSec-VPN-Verbindungen und Load Balancer.
  • Alle virtuellen Netzwerkressourcen verwenden.
ReadOnly Zeigen Sie den Mandanten an, und prüfen Sie ihn. Diese Gruppe ist für Benutzer gedacht, die keine Ressourcen erstellen oder verwalten (z.B. Auditor und Schulungen).
StorageAdmins
  • Lesen Sie alle Ressourcen in den Mandanten.
  • Verwalten Sie die Ressourcen des Objektspeichers und des Block-Volumes.
SysAdmins
  • Lesen Sie alle Ressourcen in den Mandanten.
  • Verwalten Sie die Compute- und Speicherressourcen.
  • Verwalten Sie Compartments.
  • Load Balancer, Subnetze und VNICs verwenden.

In Ihrem Provider der föderierten Identität (z.B. Oracle Identity Cloud Service ) müssen Sie die erforderlichen Gruppen erstellen und jede Gruppe der entsprechenden Gruppe in Oracle Cloud Infrastructure Identity and Access Management zuordnen.