Zu Beginn Ihrer Karriere als DevOps-Experten müssen Sie sich mit zahlreichen Konzepten vertraut machen. Während einige davon ausschließlich Umgebungen mit nur einer Cloud oder einem Cloud-Service-Anbieter betreffen, werden andere – wie das Thema dieses Artikels – in der ganzen Branche verwendet.

Dieser Blog-Beitrag beleuchtet virtuelle Private Clouds (oder VPCs) und erklärt, worum es sich handelt, wie sie funktionieren und warum sie in aktuellen Cloud-Infrastrukturen verwendet werden.

Grundlegendes zu VPCs

Was genau ist eine VPC? Wenn Sie in einem Film schon einmal Kameraaufnahmen vom Tresorraum einer Bank gesehen haben, wurde wahrscheinlich ein großer, gut geschützter Raum mit unzähligen Schließfächern gezeigt.

Bei einer VPC handelt sich um ein einzelnes Fach innerhalb der Public Cloud eines bestimmten Anbieters, vergleichbar mit einem Schließfach im Tresorraum einer Bank. Der Tresorraum selbst ist öffentlich (engl. „public“) und wird immer wieder von verschiedenen Bankkunden betreten. Möglicherweise teilen sie sich mit Ihnen sogar den gleichen Tresor. Dennoch können sie nicht auf Ihr Schließfach zugreifen. Sie können es noch nicht einmal sehen. Und nur Sie haben den Schlüssel zum Öffnen dieses Fachs, sodass Sie allein bestimmen können, wer Zugang zu Ihrem eigenen Schließfach erhält.

Bei einer VPC ist die „Bank“ (also AWS, Google Cloud oder Azure) natürlich weit entfernt und wird von einer ganzen Horde an Technikern gepflegt und verwaltet. Zudem sind die Fächer nicht durch Stahlbeton, sondern durch logische Funktionen voneinander getrennt.

Bei AWS und GCP heißt die VPC tatsächlich VPC, während Azure sie als VNet (Azure Virtual Network) bezeichnet. Die verwendeten Funktionen und Sicherheitsmaßnahmen sind bei allen Anbietern ähnlich.

Funktionen und Isolation

Mit einer VPC können Sie Services und Angebote in der Public Cloud mit strikten Zugangskontrollen bereitstellen und dabei mehrere Regionen und Verfügbarkeitszonen abdecken. Auf diese Weise lässt sich die Infrastruktur näher an den Kunden implementieren bzw. besser vor Ausfällen schützen, da sie nicht nur an einem einzigen Standort realisiert wird.

Das Thema Isolation wird recht häufig angesprochen – und das aus gutem Grund, denn dies ist eine der wichtigsten Funktionen von VPCs. Ihre Daten werden von den Daten anderer Kunden getrennt. Ganz gleich, was isoliert werden soll: Es wird von außen isoliert und der Zugriff auf die bereitgestellten Ressourcen kann leicht auf zulässige Personen beschränkt werden.

Zur Isolation kommen meist öffentliche/private Subnetze, Sicherheitsgruppen und Zugriffskontrolllisten (ACLs) zum Einsatz. Wir gehen unten auf diese Methoden ein.

Die Vorteile

Welche Vorteile bietet der Einsatz einer VPC gegenüber der Public Cloud? Sie agiert als separate Entität, die von Ihren eigenen Regeln kontrolliert wird, und wird gleichzeitig von dem Cloud-Anbieter Ihrer Wahl geschützt.

Wie immer hat die Sicherheit höchste Priorität. Sie erhalten Zugriff auf zahlreiche Lösungen, die Sie bei einer herkömmlichen Public Cloud erwarten können. Gleichzeitig profitieren Sie von erheblich mehr Flexibilität. Die bei diesem Konzept eingebetteten zusätzlichen Überwachungstools, granularen Zugangskontrollen und zahlreichen Sicherheitsmechanismen tragen erheblich zur Sicherheit und zum Datenschutz für Ihre Infrastrukturen und Daten bei.

Ein weiterer Vorteil besteht darin, dass VPCs deutlich kostengünstiger sind als eine klassische Private Cloud – und Sie gleichzeitig zusätzlich viele Funktionen erhalten, für die Sie normalerweise viel bezahlen müssten.

In einer VPC kann alles bereitgestellt werden, das auch in der Public Cloud üblich ist. Dementsprechend können Sie ebenso wie bei Public Clouds Ihre Ressourcen preisgünstig und einfach skalieren.

Konfiguration: Netzwerk-ACLs, Sicherheitsgruppen und Subnetze

Die korrekte Konfiguration des Zugriffs auf Ihre VPC ist allein Ihre Aufgabe, da die Gewährleistung der Datenisolation unverzichtbar ist. Das bedeutet, dass Sie es jedes Mal richtig machen müssen. Mit den folgenden Mechanismen können Sie das umsetzen.

Subnetze

Subnetze sind die ganz klassische Methode zum Trennen von Netzwerkobjekten. Wenn Sie schon einmal einen Router für das Heimnetzwerk konfiguriert oder mit Netzwerken irgendeiner Art gearbeitet haben, hatten Sie definitiv bereits damit zu tun. Im Wesentlichen handelt es sich um einen IP-Adressblock, den Sie Ihren Ressourcen zuordnen können. Das Subnetz wird aus dem Haupt-Netzwerkpool Ihres VPC abgeleitet und macht einen kleinen Teil aus.

Es gibt zwei Arten von Subnetzen – private und öffentliche. Ein privates Subnetz ist vollständig vom Internet getrennt, sofern kein NAT-Gerät als eine Art Übersetzer eingesetzt wird.

Ein öffentliches Subnetz kann auf das Web zugreifen, meist über ein Internet-Gateway, das als Ein- und Auslass fungiert. Das Gateway bietet eine IP-Adresse, die von außen erreichbar ist und mit der Sie eine Verbindung herstellen können.

Ein öffentliches Subnetz, das vom Web erreichbar ist, und ein privates Subnetz, auf das Sie nicht von außen zugreifen können. Ein öffentliches Subnetz, das vom Web erreichbar ist, und ein privates Subnetz, auf das Sie nicht von außen zugreifen können.

Netzwerk-ACLs

Die Netzwerk-ACL ist ein weiterer Teil der Subnetz-Logik und fungiert als systematisches Hauptbuch, in dem definiert wird, welcher ein- und ausgehende Datenverkehr zulässig ist – über welchen Port und woher bzw. wohin. Nehmen wir das folgende Beispiel:

Ein typisches, praktisches Szenario von Subnetz-ACLs. Die linke Anfrage ist erfolgreich, die rechte wird mit einem Timeout beendet. Ein typisches, praktisches Szenario von Subnetz-ACLs. Die linke Anfrage ist erfolgreich, die rechte wird mit einem Timeout beendet.

Sie sollten stets die Reihenfolge dieser Regeln im Auge behalten. Sie werden in aufsteigender Reihenfolge verarbeitet. Wenn ein Treffer gefunden wird, wird diese Regel auch dann angewendet, wenn eine Regel mit höherer Nummer etwas anderes aussagt. Es ist leicht, das aus den Augen zu verlieren, und schon ein kleiner Fehler kann ein Datenleck ermöglichen.

Sicherheitsgruppen

Sicherheitsgruppen verfolgen einen anderen Ansatz, denn sie kontrollieren nicht bestimmte Subnetze, sondern arbeiten mit Ressourcen wie Instanzen. Im Gegensatz zu Netzwerk-ACLs können Sie keine Ablehnen-Regel erstellen, denn Sicherheitsgruppen stufen alles, was nicht ausdrücklich als „zulässig“ definiert ist, standardmäßig als „verboten“ ein. Sie müssen auch den Reaktions-Datenverkehr nicht explizit zulassen. Wenn der eingehende Datenverkehr zulässig ist, wird auch der ausgehende Datenverkehr zugelassen.

Die Reihenfolge der für eine Sicherheitsgruppe definierten Regeln ist ebenfalls nicht relevant, da beim Eintreffen des Datenverkehrs alle Regeln ausgewertet werden. Sie können mehrere Sicherheitsgruppen einer Ressourcen zuordnen. Andernfalls wird (zumindest bei AWS) automatisch eine Standardsicherheitsgruppe zugeordnet.

Beispiel für Sicherheitsgruppen-Regeln, die den Zugriff auf mehrere Ressourcen kontrollieren. Beispiel für Sicherheitsgruppen-Regeln, die den Zugriff auf mehrere Ressourcen kontrollieren.

Zum Glück ist die Frage nach der Zugangskontrollmethode, die Sie verwenden sollten, ganz einfach zu beantworten: Sie sollten alle verwenden. Allgemein ausgedrückt ist es sinnvoll, so viele Ebenen wie möglich zwischen Ihre Systeme und das gefährliche World Wide Web zu bringen. Sie sollten sich das unbedingt zu Herzen nehmen.

VPCs in der Praxis: 4 Erkenntnisse

Nachfolgend erhalten Sie vier Tipps, wie Sie VPCs optimalen nutzen können und dabei Probleme vermeiden.

  1. Bei AWS erhalten Sie eine Standard-VPC, wenn die Einrichtung Ihres Kontos abgeschlossen ist. Die VPC ist technisch gesehen sofort einsetzbar. Um böse Überraschungen zu vermeiden, sollten Sie jedoch die oben genannten Sicherheitseinstellungen überprüfen und sicherstellen, dass sie zu Ihren Anforderungen passen. Wichtiger Hinweis für Terraform-Betreiber: die standardmäßige VPC-Ressource unterscheidet sich erheblich von einer typischen Ressource!
  2. Die Bereitstellung einer VPC ist trivial. Die Verwaltung von Sicherheitsgruppen und Netzwerk-ACLs wird mit wachsender Anzahl an Regeln jedoch komplexer. Seien Sie daher vorsichtig, wenn Sie nicht unter unzähligen unlesbaren Regeln begraben werden wollen oder vermeiden möchten, dass längst vergessene Lücken Angriffe ermöglichen.
  3. Wenn Sie Ihren Teammitgliedern und Kollegen mithilfe von Sicherheitsgruppen und Netzwerk-ACLs den Zugriff auf Ihre Umgebungen gewähren, achten Sie darauf, dass die Adressen auf der Whitelist entweder statisch sind oder sehr häufig aktualisiert werden. Andernfalls riskieren Sie, dass eine zulässige Adresse in die Hand eines kriminellen Akteurs gelangt, der sich in Ihrer Umgebung umsehen will. Dieses Problem kann auf verschiedene Weise angegangen werden, z. B. mit einem unternehmenseigenen privaten VPN (typische öffentliche VPNs unterliegen den gleichen Risiken bei der Neuzuweisung von IP-Adressen!) oder mit Tools wie HashiCorp Boundary.
  4. Sie können in praktisch jeder Public Cloud nur eine begrenzte Anzahl an VPCs bereitstellen. Wenn Sie Kunden einen eigenen Mandantenbereich bereitstellen möchten (und nicht nur sehr wenige Kunden haben), stellen andere Lösungen (IAM-Identitäten, zusätzliche Benutzerkonten usw.) eine bessere Alternative dar.