Amazon EC2-Sicherheitsgruppen für Linux-Instances - Amazon Elastic Compute Cloud

Amazon EC2-Sicherheitsgruppen für Linux-Instances

Eine Sicherheitsgruppe dient als virtuelle Firewall für Ihre EC2-Instances zur Steuerung von ein- und ausgehendem Datenverkehr. Eingehende Regeln steuern den eingehenden Datenverkehr zu Ihrer Instance und ausgehende Regeln steuern den ausgehenden Datenverkehr von Ihrer Instance. Wenn Sie eine Instance starten, können Sie eine oder mehrere Sicherheitsgruppen angeben. Wenn Sie keine Sicherheitsgruppe angeben, verwendet Amazon EC2 die Standardsicherheitsgruppe. Sie können jeder Sicherheitsgruppe Regeln hinzufügen, die den Datenaustausch mit den zugeordneten Instances gestatten. Sie können die Regeln für eine Sicherheitsgruppe jederzeit ändern. Neue und geänderte Regeln werden automatisch auf alle Instances angewendet, die der Sicherheitsgruppe zugeordnet sind. Wenn Amazon EC2 entscheidet, ob zugelassen wird, dass der Datenverkehr eine Instance erreicht, bewertet es alle Regeln für alle Sicherheitsgruppen, die der Instance zugeordnet sind.

Wenn Sie eine Instance in einer VPC starten, müssen Sie eine Sicherheitsgruppe angeben, die für die VPC erstellt wurde. Nach dem Start einer Instance können Sie deren Sicherheitsgruppen nicht mehr ändern. Sicherheitsgruppen sind mit Netzwerkschnittstellen verknüpft. Durch die Änderung der Sicherheitsgruppen einer Instance werden die Sicherheitsgruppen geändert, die mit der primären Netzwerkschnittstelle (eth0) der Instance verknüpft sind. Weitere Informationen finden Sie unter Ändern der Sicherheitsgruppen einer Instance im Amazon VPC Benutzerhandbuch. Sie können auch die Sicherheitsgruppen ändern, die mit anderen Netzwerkschnittstellen verknüpft sind. Weitere Informationen finden Sie unter Ändern der Sicherheitsgruppe.

Wenn Sie Anforderungen haben, die von Sicherheitsgruppen nicht vollständig erfüllt werden, können Sie zusätzlich zur Verwendung von Sicherheitsgruppen eine eigene Firewall in jeder Ihrer Instances einrichten.

Um Verkehr zu einer Windows-Instance zuzulassen, lesen Sie Amazon EC2-Sicherheitsgruppen für Windows-Instances im Amazon EC2-Benutzerhandbuch für Windows-Instances.

Sicherheitsgruppenregeln

Die Regeln einer Sicherheitsgruppe steuern den eingehenden Datenverkehr, der die Instances erreichen darf, die der Sicherheitsgruppe zugeordnet sind. Die Regeln steuern auch den ausgehenden Datenverkehr, der sie verlassen darf.

Es folgen die grundlegenden Merkmale von Sicherheitsgruppenregeln:

  • Standardmäßig gestatten Sicherheitsgruppen allen ausgehenden Datenverkehr.

  • Sicherheitsgruppenregeln sind stets zulassend, Sie können keine Regeln erstellen, die den Zugriff verweigern.

  • Sicherheitsgruppen sind zustandsbehaftet — wenn Sie von Ihrer Instance eine Anforderung senden, wird der Antwortdatenverkehr für diese Anforderung zugelassen, unabhängig der für diese Sicherheitsgruppe geltenden Regeln für eingehenden Datenverkehr. Für VPC-Sicherheitsgruppen bedeutet dies auch, dass Antworten auf zulässigen eingehenden Datenverkehr ausgehen können, unabhängig von ausgehenden Regeln. Weitere Informationen finden Sie unter Verfolgung von Verbindungen.

  • Sie können Regeln jederzeit hinzufügen oder entfernen. Ihre Änderungen werden automatisch auf die Instances angewendet, die der Sicherheitsgruppe zugeordnet sind.

    Die Auswirkung einiger Regeländerungen kann davon abhängen, wie der Datenverkehr nachverfolgt wird. Weitere Informationen finden Sie unter Verfolgung von Verbindungen.

  • Wenn Sie mehrere Sicherheitsgruppen mit einer Instance verbinden, werden die Regeln jeder Sicherheitsgruppe effektiv zu einem einzigen Regelsatz zusammengeführt. Amazon EC2 verwendet diesen Regelsatz, um zu bestimmen, ob der Zugriff zugelassen werden soll.

    Sie können einer Instance mehrere Sicherheitsgruppen zuweisen. Daher kann eine Instance Hunderte von Regeln haben, die angewendet werden. Dies kann beim Zugriff auf die Instance zu Problemen führen. Wir empfehlen, dass Sie Ihre Regeln so weit wie möglich verdichten.

Für jede Regel geben Sie Folgendes an:

  • Name: Der Name für die Sicherheitsgruppe (z. B. my-security-group).

    Ein Name kann bis zu 255 Zeichen lang sein. Zulässige Zeichen sind a-z, A-Z, 0-9, , Leerzeichen und ._-:/()#,@[]+=;{}!$*. Wenn der Name nachgestellte Leerzeichen enthält, werden die Leerzeichen beim Speichern des Namens gekürzt. Wenn Sie beispielsweise „Sicherheitsgruppe testen “ als Namen eingeben, wird er als „Sicherheitsgruppe testen“ gespeichert.

  • Protokoll: Das zulässige Protokoll. Die üblichsten Protokolle sind 6 (TCP) 17 (UDP) und 1 (ICMP).

  • Portbereich: zulässiger Portbereich für TCP, UDP oder ein benutzerdefiniertes Protokoll. Sie können eine einzelne Portnummer (zum Beispiel 22) oder einen Bereich von Portnummern (zum Beispiel 7000-8000) angeben.

  • ICMP-Typ und -Code: Für ICMP der ICMP-Typ und -Code.

  • Quelle oder Ziel: Die Quelle (eingehende Regeln) oder das Ziel (ausgehende Regeln) für den Datenverkehr. Geben Sie eine dieser Optionen an:

    • Eine individuelle IPv4-Adresse. Sie müssen die /32-Präfixlänge verwenden; zum Beispiel 203.0.113.1/32.

    • Eine individuelle IPv6-Adresse. Sie müssen die /128-Präfixlänge verwenden; zum Beispiel 2001:db8:1234:1a00::123/128.

    • Einen Bereich von IPv4-Adressen, in CIDR-Block-Notation, zum Beispiel 203.0.113.0/24.

    • Einen Bereich von IPv6-Adressen, in CIDR-Block-Notation, zum Beispiel 2001:db8:1234:1a00::/64.

    • Eine Präfixlisten-ID, z. B. pl-1234abc1234abc123. Weitere Informationen finden Sie unter Präfixlisten im Amazon VPC Benutzerhandbuch.

    • Eine weitere Sicherheitsgruppe. Dies ermöglicht Instances, die der angegebenen Sicherheitsgruppe zugeordnet sind, den Zugriff auf Instances, die dieser Sicherheitsgruppe zugeordnet sind. Wenn Sie diese Option wählen, werden Regeln aus der Quellsicherheitsgruppe nicht zu dieser Sicherheitsgruppe hinzugefügt. Sie können einen der folgenden Sicherheitsgruppen angeben:

      • Die aktuelle Sicherheitsgruppe

      • Eine andere Sicherheitsgruppe für dieselbe VPC

      • Eine andere Sicherheitsgruppe für eine Peer-VPC in einer VPC-Peering-Verbindung.

  • (Optional) Beschreibung: Sie können eine Beschreibung für die Regel hinzufügen, die Ihnen helfen kann, sie später zu identifizieren. Eine Beschreibung kann bis zu 255 Zeichen lang sein. Zulässige Zeichen sind a-z, A-Z, 0-9, , Leerzeichen und ._-:/()#,@[]+=;{}!$*.

Wenn Sie eine Sicherheitsgruppe als Quelle oder Ziel für eine Regel angeben, wirkt sich die Regel auf alle Instances aus, die der Sicherheitsgruppe zugeordnet sind. Eingehender Verkehr ist basierend auf den privaten IP-Adressen der Instances erlaubt, die der Quellsicherheitsgruppe zugeordnet sind (und nicht auf den öffentlichen IP- oder Elastic IP-Adressen). Weitere Informationen über IP-Adressen finden Sie unter IP-Adressierung von Amazon EC2-Instances. Wenn Ihre Sicherheitsgruppe auf eine Sicherheitsgruppe in einer Peer-VPC verweist und diese Sicherheitsgruppe oder die VPC-Peering-Verbindung gelöscht wird, wird die Regel als veraltet markiert. Weitere Informationen finden Sie unter Arbeiten mit veralteten Sicherheitsgruppenregeln im Amazon VPC Peering Guide.

Wenn mehr als eine Regel für einen bestimmten Port vorliegt, wendet Amazon EC2 die toleranteste Regel an. Zum Beispiel: Wenn Sie eine Regel haben, die den Zugriff auf TCP-Port 22 (SSH) von der IP-Adresse 203.0.113.1 erlaubt, und eine andere Regel den Zugriff auf TCP-Port 22 von überall aus gewährt, hat jeder Zugriff auf TCP-Port 22.

Verfolgung von Verbindungen

Ihre Sicherheitsgruppen verwenden die Verbindungsverfolgung zur Nachverfolgung des Datenverkehrs zu und von der Instance. Regeln werden auf der Grundlage des Verbindungszustands des Datenverkehrs angewendet, um zu ermitteln, ob der Datenverkehr zulässig ist oder nicht. Dieser Ansatz macht es möglich, dass Sicherheitsgruppen statusorientiert arbeiten. Das bedeutet, dass Antworten auf eingehenden Verkehr unabhängig von den Regeln für ausgehende Sicherheitsgruppen aus der Instance fließen dürfen und umgekehrt. Zum Beispiel: Wenn Sie einen ICMP-ping-Befehl zu Ihrer Instance von Ihrem Heimcomputer aus initiieren und Ihre eingehenden Sicherheitsgruppenregeln ICMP-Datenverkehr erlauben, werden die Informationen zu der Verbindung (einschließlich der Portinformationen) verfolgt. Antwort-Datenverkehr von der Instance für den ping-Befehl wird nicht als neue Anfrage verfolgt, sondern als eingerichtete Verbindung; dieser Datenverkehr kann die Instance verlassen, selbst wenn Ihre ausgehenden Sicherheitsgruppenregeln ausgehenden ICMP-Datenverkehr beschränken.

Nicht alle Datenverkehrsflüsse werden verfolgt. Wenn eine Sicherheitsgruppe TCP- oder UDP-Flüsse für allen Datenverkehr (0.0.0.0/0) erlaubt und eine entsprechende Regel in der anderen Richtung allen Antwort-Datenverkehr (0.0.0.0/0) für alle Ports (0-65535) zulässt, dann wird der Fluss des Datenverkehrs nicht verfolgt. Der Antwort-Datenverkehr kann daher auf der Grundlage der eingehenden oder ausgehenden Regel fließen, die den Antwort-Datenverkehr zulässt, und nicht auf der Grundlage von Nachverfolgungsinformationen.

Im folgenden Beispiel hat die Sicherheitsgruppe spezifische eingehende Regeln für TCP- und ICMP-Datenverkehr sowie eine ausgehende Regel, die allen ausgehenden Datenverkehr zulässt.

Regeln für eingehenden Datenverkehr
Protokolltyp Port-Nummer Quell-IP
TCP 22 (SSH) 203.0.113.1/32
TCP 80 (HTTP) 0.0.0.0/0
ICMP Alle 0.0.0.0/0
Regeln für ausgehenden Datenverkehr
Protokolltyp Port-Nummer Ziel-IP
Alle Alle 0.0.0.0/0

TCP-Datenverkehr auf Port 22 (SSH) zu und von der Instance wird nachverfolgt, da die eingehende Regel Datenverkehr nur von 203.0.113.1/32 und nicht von allen IP-Adressen zulässt (0.0.0.0/0). TCP-Datenverkehr auf Port 80 (HTTP) zu und von der Instance wird nicht verfolgt, da die eingehenden und die ausgehenden Regeln allen HTTP-Datenverkehr zulassen (0.0.0.0/0). ICMP-Datenverkehr wird unabhängig von Regeln immer verfolgt. Wenn Sie die ausgehende Regel aus der Sicherheitsgruppe entfernen, wird der gesamte Verkehr zu und von der Instance verfolgt, einschließlich des Verkehrs auf Port 80 (HTTP).

Ein nicht verfolgter Datenverkehrsfluss wird sofort unterbrochen, wenn die Regel, die ihn ermöglicht, entfernt oder modifiziert wird. Wenn Sie z. B. eine offene (0.0.0.0/0) ausgehende Regel haben und eine Regel entfernen, die den gesamten (0.0.0.0/0) eingehenden SSH-Verkehr (TCP-Port 22) zur Instance zulässt (oder sie so ändern, dass die Verbindung nicht mehr zulässig wäre), werden Ihre bestehenden SSH-Verbindungen zur Instance sofort gelöscht. Die Verbindung wurde zuvor nicht nachverfolgt, sodass die Änderung die Verbindung unterbricht. Wenn Sie eine restriktivere Regel für eingehende Verbindungen verwenden, die zunächst die SSH-Verbindung zulässt (was bedeutet, dass die Verbindung nachverfolgt wurde), diese Regel aber so ändern, dass keine neuen Verbindungen von der Adresse des aktuellen SSH-Clients mehr zugelassen werden, wird die bestehende Verbindung durch die Änderung der Regel jedoch nicht unterbrochen.

Für andere Protokolle als TCP, UDP oder ICMP werden nur die IP-Adresse und die Protokollnummer verfolgt. Wenn Ihre Instance Datenverkehr an einen anderen Host (Host B) sendet und Host B innerhalb von 600 Sekunden nach der ursprünglichen Anforderung oder Antwort in einer separaten Anforderung dieselbe Art von Datenverkehr an Ihre Instance initiiert, akzeptiert Ihre Instance diese unabhängig von den Regeln für eingehende Sicherheitsgruppen. Ihre Instance akzeptiert dies, da es als Antwortverkehr betrachtet wird.

Um sicherzustellen, dass der Verkehr sofort unterbrochen wird, wenn Sie eine Sicherheitsgruppenregel entfernen, oder um sicherzustellen, dass der gesamte eingehende Verkehr den Firewall-Regeln unterliegt, können Sie eine Netzwerk-ACL für Ihr Subnetz verwenden. Netzwerk-ACLs sind zustandslos und lassen daher nicht automatisch Antwortdatenverkehr zu. Weitere Informationen finden Sie unter Netzwerk-ACLs im Amazon VPC Benutzerhandbuch.

Standardsicherheitsgruppen

Das AWS-Konto hat automatisch eine Standard-Sicherheitsgruppe für die Standard-VPC in jeder Region. Wenn Sie beim Starten einer Instance keine Sicherheitsgruppe festlegen, wird die Instance automatisch der Standardsicherheitsgruppe für die VPC zugeordnet.

Eine Standardsicherheitsgruppe hat die Bezeichnung default, und AWS weist ihr eine ID zu. Nachfolgend finden Sie die Standardregeln für jede Standardsicherheitsgruppe:

  • Läßt den gesamten eingehenden Verkehr von anderen Instances zu, die mit der Standardsicherheitsgruppe zugeordnet sind. Die Sicherheitsgruppe gibt sich selbst als Quell-Sicherheitsgruppe in ihren Eingangsregeln an.

  • Erlaubt allen ausgehenden Datenverkehr von der Instance.

Sie können die ein- und ausgehenden Regeln für jede Standardsicherheitsgruppe hinzufügen oder entfernen.

Sie können eine Standardsicherheitsgruppe nicht löschen. Wenn Sie versuchen, eine Standardsicherheitsgruppe zu löschen, wird die folgende Fehlermeldung angezeigt: Client.CannotDelete: the specified group: "sg-51530134" name: "default" cannot be deleted by a user.

Benutzerdefinierte Sicherheitsgruppen

Wenn Sie nicht wünschen, dass Ihre Instances die Standardsicherheitsgruppe verwenden, können Sie Ihre eigenen Sicherheitsgruppen erstellen und beim Start Ihrer Instances angeben. Sie können mehrere Sicherheitsgruppen erstellen, um die unterschiedlichen Rollen zu berücksichtigen, die Ihre Instances einnehmen, etwa als Webserver oder als Datenbankserver.

Wenn Sie eine Sicherheitsgruppe erstellen, müssen Sie einen Namen und eine Beschreibung dafür angeben. Namen und Beschreibungen von Sicherheitsgruppen können bis zu 255 Zeichen lang sein und dürfen nur die folgenden Zeichen enthalten:

a-z, A-Z, 0-9, Leerzeichen und ._-:/()#,@[]+=&;{}!$*

Ein Sicherheitsgruppenname darf nicht mit sg- beginnen. Der Name einer Sicherheitsgruppe muss für die VPC eindeutig sein.

Nachfolgend finden Sie die Standardregeln für eine von Ihnen erstellte Standardsicherheitsgruppe:

  • Erlaubt keinen eingehenden Datenverkehr

  • Erlaubt allen ausgehenden Datenverkehr

Nach der Erstellung einer Sicherheitsgruppe können Sie deren eingehende Regeln ändern, um die Art des eingehenden Datenverkehrs zu berücksichtigen, der die zugehörigen Instances erreichen soll. Sie können auch die ausgehenden Regeln ändern.

Für weitere Informationen zu den Regeln, die Sie einer Sicherheitsgruppe hinzufügen können, vgl. Referenz zu Sicherheitsgruppenregeln.