AWS - VPC & Networking Basic Information

Unterstütze HackTricks

AWS Networking in a Nutshell

Ein VPC enthält ein Netzwerk-CIDR wie 10.0.0.0/16 (mit seiner Routing-Tabelle und Netzwerk-ACL).

Dieses VPC-Netzwerk ist in Subnetze unterteilt, sodass ein Subnetz direkt mit der VPC, der Routing-Tabelle und der Netzwerk-ACL verbunden ist.

Dann sind Netzwerkschnittstellen, die an Dienste (wie EC2-Instanzen) angehängt sind, mit den Subnetzen mit Sicherheitsgruppen verbunden.

Daher wird eine Sicherheitsgruppe die exponierten Ports der Netzwerkschnittstellen, die sie verwenden, unabhängig vom Subnetz begrenzen. Und eine Netzwerk-ACL wird die exponierten Ports für das gesamte Netzwerk begrenzen.

Darüber hinaus gibt es einige interessante Konfigurationen, um auf das Internet zuzugreifen:

  • Ein Subnetz kann öffentliche IPv4-Adressen automatisch zuweisen

  • Eine Instanz, die im Netzwerk erstellt wurde, das IPv4-Adressen automatisch zuweist, kann eine erhalten

  • Ein Internet-Gateway muss an die VPC angehängt werden

  • Sie könnten auch nur ausgehende Internet-Gateways verwenden

  • Sie könnten auch ein NAT-Gateway in einem privaten Subnetz haben, sodass es möglich ist, von diesem privaten Subnetz aus auf externe Dienste zuzugreifen, aber es ist nicht möglich, von außen darauf zuzugreifen.

  • Das NAT-Gateway kann öffentlich (Zugang zum Internet) oder privat (Zugang zu anderen VPCs) sein

VPC

Amazon Virtual Private Cloud (Amazon VPC) ermöglicht es Ihnen, AWS-Ressourcen in ein von Ihnen definiertes virtuelles Netzwerk zu starten. Dieses virtuelle Netzwerk wird mehrere Subnetze, Internet-Gateways für den Internetzugang, ACLs, Sicherheitsgruppen, IPs usw. haben.

Subnetze

Subnetze helfen, ein höheres Maß an Sicherheit durchzusetzen. Logische Gruppierung ähnlicher Ressourcen hilft Ihnen auch, eine einfache Verwaltung Ihrer Infrastruktur zu gewährleisten.

  • Gültige CIDR sind von einer /16-Netzmaske bis zu einer /28-Netzmaske.

  • Ein Subnetz kann nicht gleichzeitig in verschiedenen Verfügbarkeitszonen sein.

  • AWS reserviert die ersten drei Host-IP-Adressen jedes Subnetzes für interne AWS-Nutzung: Die erste Host-Adresse wird für den VPC-Router verwendet. Die zweite Adresse ist für AWS DNS reserviert und die dritte Adresse ist für zukünftige Verwendung reserviert.

  • Es wird von öffentlichen Subnetzen gesprochen, die direkten Zugang zum Internet haben, während private Subnetze dies nicht tun.

Routing-Tabellen

Routing-Tabellen bestimmen das Traffic-Routing für ein Subnetz innerhalb einer VPC. Sie bestimmen, welcher Netzwerkverkehr ins Internet oder zu einer VPN-Verbindung weitergeleitet wird. Sie finden normalerweise Zugang zu:

  • Lokale VPC

  • NAT

  • Internet-Gateways / Nur ausgehende Internet-Gateways (erforderlich, um einer VPC Zugang zum Internet zu geben).

  • Um ein Subnetz öffentlich zu machen, müssen Sie ein Internet-Gateway erstellen und an Ihre VPC anhängen.

  • VPC-Endpunkte (um von privaten Netzwerken auf S3 zuzugreifen)

In den folgenden Bildern können Sie die Unterschiede in einem standardmäßigen öffentlichen Netzwerk und einem privaten Netzwerk überprüfen:

ACLs

Network Access Control Lists (ACLs): Netzwerk-ACLs sind Firewall-Regeln, die den eingehenden und ausgehenden Netzwerkverkehr zu einem Subnetz steuern. Sie können verwendet werden, um den Verkehr zu bestimmten IP-Adressen oder Bereichen zuzulassen oder zu verweigern.

  • Es ist am häufigsten, den Zugriff mit Sicherheitsgruppen zu erlauben/zu verweigern, aber dies ist der einzige Weg, um vollständig etablierte Reverse Shells zu unterbrechen. Eine geänderte Regel in einer Sicherheitsgruppe stoppt keine bereits etablierten Verbindungen

  • Dies gilt jedoch für das gesamte Subnetz. Seien Sie vorsichtig, wenn Sie Dinge verbieten, da benötigte Funktionen gestört werden könnten

Sicherheitsgruppen

Sicherheitsgruppen sind eine virtuelle Firewall, die den eingehenden und ausgehenden Netzwerkverkehr zu Instanzen in einer VPC steuert. Verhältnis 1 SG zu M Instanzen (normalerweise 1 zu 1). Normalerweise wird dies verwendet, um gefährliche Ports in Instanzen zu öffnen, wie zum Beispiel Port 22:

Elastic IP-Adressen

Eine Elastic IP-Adresse ist eine statische IPv4-Adresse, die für dynamisches Cloud-Computing entwickelt wurde. Eine Elastic IP-Adresse wird Ihrem AWS-Konto zugewiesen und gehört Ihnen, bis Sie sie freigeben. Durch die Verwendung einer Elastic IP-Adresse können Sie den Ausfall einer Instanz oder Software maskieren, indem Sie die Adresse schnell auf eine andere Instanz in Ihrem Konto umleiten.

Verbindung zwischen Subnetzen

Standardmäßig haben alle Subnetze die automatische Zuweisung öffentlicher IP-Adressen deaktiviert, aber sie kann aktiviert werden.

Eine lokale Route innerhalb einer Routing-Tabelle ermöglicht die Kommunikation zwischen VPC-Subnetzen.

Wenn Sie ein Subnetz mit einem anderen Subnetz verbinden, können Sie nicht auf die mit dem anderen Subnetz verbundenen Subnetze zugreifen, Sie müssen eine direkte Verbindung zu ihnen herstellen. Dies gilt auch für Internet-Gateways. Sie können nicht über eine Subnetzverbindung auf das Internet zugreifen, Sie müssen das Internet-Gateway Ihrem Subnetz zuweisen.

VPC Peering

VPC Peering ermöglicht es Ihnen, zwei oder mehr VPCs miteinander zu verbinden, unter Verwendung von IPV4 oder IPV6, als ob sie Teil desselben Netzwerks wären.

Sobald die Peer-Konnektivität hergestellt ist, können Ressourcen in einer VPC auf Ressourcen in der anderen zugreifen. Die Konnektivität zwischen den VPCs wird durch die bestehende AWS-Netzwerkinfrastruktur implementiert und ist daher hochverfügbar ohne Bandbreitenengpässe. Da gepaarte Verbindungen so funktionieren, als ob sie Teil desselben Netzwerks wären, gibt es Einschränkungen hinsichtlich der verwendbaren CIDR-Blockbereiche. Wenn Sie überlappende oder doppelte CIDR-Bereiche für Ihre VPC haben, können Sie die VPCs nicht miteinander peeren. Jede AWS VPC wird nur mit ihrem Peer kommunizieren. Zum Beispiel, wenn Sie eine Peering-Verbindung zwischen VPC 1 und VPC 2 haben und eine weitere Verbindung zwischen VPC 2 und VPC 3, wie gezeigt, dann könnten VPC 1 und 2 direkt miteinander kommunizieren, ebenso wie VPC 2 und VPC 3, jedoch könnten VPC 1 und VPC 3 nicht miteinander kommunizieren. Sie können nicht durch eine VPC routen, um zu einer anderen zu gelangen.

VPC Flow Logs

Innerhalb Ihrer VPC könnten Sie potenziell Hunderte oder sogar Tausende von Ressourcen haben, die zwischen verschiedenen Subnetzen sowohl öffentlich als auch privat und auch zwischen verschiedenen VPCs durch VPC-Peering-Verbindungen kommunizieren. VPC Flow Logs ermöglichen es Ihnen, IP-Verkehrsinformationen zu erfassen, die zwischen Ihren Netzwerkschnittstellen Ihrer Ressourcen innerhalb Ihrer VPC fließen.

Im Gegensatz zu S3-Zugriffsprotokollen und CloudFront-Zugriffsprotokollen werden die von VPC Flow Logs generierten Protokolldaten nicht in S3 gespeichert. Stattdessen werden die erfassten Protokolldaten an CloudWatch-Protokolle gesendet.

Einschränkungen:

  • Wenn Sie eine VPC-Peering-Verbindung betreiben, können Sie nur Flow-Logs von gepeerten VPCs sehen, die sich im selben Konto befinden.

  • Wenn Sie noch Ressourcen in der EC2-Classic-Umgebung betreiben, können Sie leider keine Informationen von deren Schnittstellen abrufen.

  • Sobald ein VPC Flow Log erstellt wurde, kann es nicht mehr geändert werden. Um die Konfiguration des VPC Flow Logs zu ändern, müssen Sie es löschen und dann ein neues erstellen.

  • Der folgende Verkehr wird nicht überwacht und von den Protokollen erfasst: DHCP-Verkehr innerhalb der VPC, Verkehr von Instanzen, die für den Amazon DNS-Server bestimmt sind.

  • Jeglicher Verkehr, der an die IP-Adresse des VPC-Standardrouters und Verkehr zu und von den folgenden Adressen gerichtet ist: 169.254.169.254, die für das Sammeln von Instanz-Metadaten verwendet wird, und 169.254.169.123, die für den Amazon Time Sync Service verwendet wird.

  • Verkehr im Zusammenhang mit einer Amazon Windows-Aktivierungslizenz von einer Windows-Instanz

  • Verkehr zwischen einer Netzwerklastenausgleichsschnittstelle und einer Endpunktschnittstelle

Für jede Netzwerkschnittstelle, die Daten an die CloudWatch-Protokollgruppe veröffentlicht, wird ein anderer Protokollstream verwendet. Und innerhalb jedes dieser Streams werden die Flow-Log-Ereignisdaten angezeigt, die den Inhalt der Protokolleinträge zeigen. Jedes dieser Protokolle erfasst Daten während eines Fensters von etwa 10 bis 15 Minuten.

VPN

Grundlegende AWS VPN-Komponenten

  1. Customer Gateway:

  • Ein Customer Gateway ist eine Ressource, die Sie in AWS erstellen, um Ihre Seite einer VPN-Verbindung darzustellen.

  • Es ist im Wesentlichen ein physisches Gerät oder eine Softwareanwendung auf Ihrer Seite der Site-to-Site-VPN-Verbindung.

  • Sie stellen AWS Routing-Informationen und die öffentliche IP-Adresse Ihres Netzwerkgeräts (wie ein Router oder eine Firewall) zur Verfügung, um ein Customer Gateway zu erstellen.

  • Es dient als Referenzpunkt für die Einrichtung der VPN-Verbindung und verursacht keine zusätzlichen Kosten.

  1. Virtual Private Gateway:

  • Ein Virtual Private Gateway (VPG) ist der VPN-Konzentrator auf der Amazon-Seite der Site-to-Site-VPN-Verbindung.

  • Es ist an Ihre VPC angehängt und dient als Ziel für Ihre VPN-Verbindung.

  • VPG ist der AWS-seitige Endpunkt für die VPN-Verbindung.

  • Es handhabt die sichere Kommunikation zwischen Ihrer VPC und Ihrem lokalen Netzwerk.

  1. Site-to-Site VPN-Verbindung:

  • Eine Site-to-Site-VPN-Verbindung verbindet Ihr lokales Netzwerk über einen sicheren IPsec-VPN-Tunnel mit einer VPC.

  • Diese Art der Verbindung erfordert ein Customer Gateway und ein Virtual Private Gateway.

  • Es wird für sichere, stabile und konsistente Kommunikation zwischen Ihrem Rechenzentrum oder Netzwerk und Ihrer AWS-Umgebung verwendet.

  • Typischerweise für regelmäßige, langfristige Verbindungen verwendet und wird basierend auf der Menge der über die Verbindung übertragenen Daten abgerechnet.

  1. Client VPN Endpoint:

  • Ein Client VPN Endpoint ist eine Ressource, die Sie in AWS erstellen, um Client-VPN-Sitzungen zu ermöglichen und zu verwalten.

  • Es wird verwendet, um einzelnen Geräten (wie Laptops, Smartphones usw.) zu ermöglichen, sicher auf AWS-Ressourcen oder Ihr lokales Netzwerk zuzugreifen.

  • Es unterscheidet sich von Site-to-Site-VPN dadurch, dass es für einzelne Clients und nicht für die Verbindung ganzer Netzwerke konzipiert ist.

  • Mit Client VPN verwendet jedes Client-Gerät eine VPN-Client-Software, um eine sichere Verbindung herzustellen.

Site-to-Site VPN

Verbinden Sie Ihr lokales Netzwerk mit Ihrer VPC.

  • VPN-Verbindung: Eine sichere Verbindung zwischen Ihrer lokalen Ausrüstung und Ihren VPCs.

  • VPN-Tunnel: Ein verschlüsselter Link, über den Daten vom Kundennetzwerk zu oder von AWS übertragen werden können.

Jede VPN-Verbindung umfasst zwei VPN-Tunnel, die Sie gleichzeitig für hohe Verfügbarkeit nutzen können.

  • Customer Gateway: Eine AWS-Ressource, die AWS Informationen über Ihr Customer Gateway-Gerät bereitstellt.

  • Customer Gateway-Gerät: Ein physisches Gerät oder eine Softwareanwendung auf Ihrer Seite der Site-to-Site-VPN-Verbindung.

  • Virtual Private Gateway: Der VPN-Konzentrator auf der Amazon-Seite der Site-to-Site-VPN-Verbindung. Sie verwenden ein Virtual Private Gateway oder ein Transit Gateway als Gateway für die Amazon-Seite der Site-to-Site-VPN-Verbindung.

  • Transit Gateway: Ein Transithub, das verwendet werden kann, um Ihre VPCs und lokalen Netzwerke zu verbinden. Sie verwenden ein Transit Gateway oder ein Virtual Private Gateway als Gateway für die Amazon-Seite der Site-to-Site-VPN-Verbindung.

Einschränkungen

  • IPv6-Verkehr wird für VPN-Verbindungen auf einem Virtual Private Gateway nicht unterstützt.

  • Eine AWS-VPN-Verbindung unterstützt keine Path-MTU-Erkennung.

Darüber hinaus sollten Sie Folgendes berücksichtigen, wenn Sie Site-to-Site-VPN verwenden.

  • Wenn Sie Ihre VPCs mit einem gemeinsamen lokalen Netzwerk verbinden, empfehlen wir, dass Sie nicht überlappende CIDR-Blöcke für Ihre Netzwerke verwenden.

Client VPN

Verbinden Sie sich von Ihrem Gerät mit Ihrer VPC

Konzepte

  • Client VPN Endpoint: Die Ressource, die Sie erstellen und konfigurieren, um Client-VPN-Sitzungen zu ermöglichen und zu verwalten. Es ist die Ressource, bei der alle Client-VPN-Sitzungen beendet werden.

  • Zielnetzwerk: Ein Zielnetzwerk ist das Netzwerk, das Sie mit einem Client VPN Endpoint verknüpfen. Ein Subnetz aus einer VPC ist ein Zielnetzwerk. Die Verknüpfung eines Subnetzes mit einem Client VPN Endpoint ermöglicht es Ihnen, VPN-Sitzungen zu erstellen. Sie können mehrere Subnetze mit einem Client VPN Endpoint für hohe Verfügbarkeit verknüpfen. Alle Subnetze

Last updated