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.
- 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.
- 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 an das VCN |
Load Balancer |
|
|
Middle Tier |
|
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 |
|
|
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 |
|
IAMAdminManagers |
Hinweis : Oracle erstellt die Gruppe |
IAMManagers |
|
NetworkAdmins |
|
NetSecAdmins |
|
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 |
|
SysAdmins |
|
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.