AWS EC2-Sicherheitsgruppenregeln: Ist die Angabe einer Sicherheitsgruppe als Quelle nicht zulässiger als eine bestimmte IP-Adresse?

1341
sixty4bit

Ich war mir nicht sicher, ob dies der richtige Sub-StackExchange für diese Frage ist. Fühlen Sie sich also frei, mich an einem anderen Ort zu booten, wenn es nötig ist.

Ich versuche, mit zwei EC2-Servern zu arbeiten: Einer ist eine "Workstation" und der andere ein "Knoten" (Think Chef). Die Sicherheitsgruppe der Arbeitsstation startete mit nur einer eingehenden Regel, die den Zugriff auf Port 22 von der IP-Adresse meines lokalen Computers aus erlaubte.

Ich wollte, dass der Knotenserver vom Workstation-Server, aber auch von meinem lokalen Computer aus erreichbar ist. Anstatt eine neue Sicherheitsgruppe zu erstellen, fügte ich der auf der Arbeitsstation verwendeten Sicherheitsgruppe eine Regel hinzu, deren eigene Sicherheitsgruppen-ID als Quelle dient. Im Klartext wollte ich eine Sicherheitsgruppe, die den Zugriff auf Port 22 ermöglicht, entweder über die IP-Adresse meines lokalen Computers oder von jedem Computer, auf den auch die Sicherheitsgruppe angewendet wird. Dies war mein Verständnis der Funktionsweise der Standardsicherheitsgruppe (der gesamte Datenverkehr ist zulässig, wobei die Quelle die selbstreferenzielle Sicherheitsgruppen-ID ist).

Meines Erachtens entsprach dies auch dem, was ich hier in den Dokumenten gefunden habe:

Wenn es mehr als eine Regel für einen bestimmten Port gibt, wenden wir die höchstzulässige Regel an. Wenn Sie beispielsweise über eine Regel verfügen, die den Zugriff auf den TCP-Port 22 (SSH) von der IP-Adresse 203.0.113.1 aus ermöglicht, und eine andere Regel, die den Zugriff von allen auf den TCP-Port 22 zulässt, hat jeder Zugriff auf den TCP-Port 22.

Mein Fall ist offensichtlich etwas anders, da ich über eine Regel verfügt, die den spezifischen Zugriff auf Port 22 von einer bestimmten IP-Adresse aus ermöglicht, und eine Regel, die den spezifischen Zugriff auf Port 22 von einer Sicherheitsgruppe aus ermöglicht, und nicht von "jedermann", aber nicht eine Sicherheitsgruppenquelle auch als zulässiger angesehen werden als eine bestimmte IP-Adresse und daher das oben beschriebene Szenario zulassen?

Wenn die Sicherheitsgruppe auf diese Weise eingerichtet ist, kann ich leider nur von meinem lokalen Computer aus auf den Knoten zugreifen. Wenn ich versuche, SSH von der Workstation auf EC2 (die dieselbe Sicherheitsgruppe verwendet) zu versuchen, kommt es zu einer Zeitüberschreitung.

Irgendwelche Ideen, was ich falsch mache / vermisse?

1

2 Antworten auf die Frage

2
Michael - sqlbot

Ich habe der Sicherheitsgruppe, die auf der Arbeitsstation verwendet wird, eine Regel mit einer eigenen Sicherheitsgruppen-ID als Quelle hinzugefügt.

Das ist das Gegenteil von dem, was Sie tun mussten.

Sie müssen der Sicherheitsgruppe des Knotens eine Regel hinzufügen, in der die Sicherheitsgruppe der Arbeitsstation als Quelle angegeben wird ... und nicht in die Sicherheitsgruppe des Unternehmens. Eine selbstreferenzielle eingehende Regel in einer Sicherheitsgruppe bedeutet, dass Maschinen, die Mitglieder dieser Gruppe sind, auf diesen Port auf andere Mitglieder derselben Gruppe zugreifen können.

Ich bin mir nicht sicher, warum die Dokumentation ein derart naheliegendes Prinzip auf so verworrene Weise feststellt ... es scheint nur das Problem zu verwirren. Wenn Datenverkehr mit einer Regel in einer Sicherheitsgruppe übereinstimmt, ist der Datenverkehr zulässig. Der Begriff der Regelspezifität scheint hier eine Ablenkung zu sein.

Danke, dass Sie sich die Zeit genommen haben, um zu antworten. Ich verstehe, was Sie sagen, aber ich hatte gehofft, dass ich einen Weg finden würde, ohne mehrere Sicherheitsgruppen zu bilden. Was ich wirklich will, ist vermutlich die Erlaubnis, 1) die IP-Adresse meines lokalen Rechners und 2) den eingehenden Verkehr von einem beliebigen Rechner im EC2-Subnetz zuzulassen. Ich bin ein Neuling im Networking, aber ich sollte # 2 mit einer Regel machen können, die Nullen und Subnetzmaske korrekt verwendet, richtig? sixty4bit vor 7 Jahren 0
Die Sicherheitsgruppe auf dem "Knoten" benötigt eine Regel mit der Sicherheitsgruppe der Arbeitsstation als Quelle. Die Maschinen haben unterschiedliche Rollen, daher ist das Teilen einer einzelnen Sicherheitsgruppe ungeeignet, aber für jede Maschinenklasse ist nur eine Gruppe erforderlich. Es ist wahrscheinlich ein verbreiteter Fehler zu glauben, dass weniger Sicherheitsgruppen die Dinge vereinfachen werden. Dies wird nicht der Fall sein, und es erhöht die Wahrscheinlichkeit, dass unautorisierter Verkehr zugelassen wird, wenn er in Zukunft nicht zugelassen werden sollte. Michael - sqlbot vor 7 Jahren 0
1
Putnik

Was Sie tatsächlich getan haben: Sie erlauben den Zugriff auf die Arbeitsstation von Ihrer IP-Adresse aus und von jeder anderen Instanz in derselben Gruppe (egal, ob gerade keine vorhanden ist, wenn Sie in der Zukunft eine Instanz zu dieser Gruppe hinzufügen) wird auch Zugriff auf ssh haben.

Was Sie tun müssen: Konfigurieren Sie SG, zu dem der Knoten gehört. Fügen Sie eine Regel mit Ihrer IP-Adresse hinzu und eine Regel mit der Arbeitsstationsgruppe als Quelle. Die letzte Instanz wird als 'Zugriff auf Port 22 von allen Instanzen, die sich in Arbeitsstationsgruppe befinden, gelesen.

Anmerkung "Erlaubnisregel": Ich weiß nicht, ob Sie mit CIDR und Subnetzen vertraut sind, aber dies ist das Thema, das Sie kennen müssen, um es im Detail zu verstehen. Schauen wir uns zwei Fälle an. Fall 1 zwei Regeln:

allow from 192.168.0.0/24 allow from 192.168.1.0/24 

Hier wird die Regel der tolerantesten Regel nicht angewendet, da sich die Bereiche nicht überlappen: sie bedeuten tatsächlich

allow from 192.168.0.0 to 192.168.0.255 allow from 192.168.1.0 to 192.168.1.255 

Fall2

allow from 192.168.0.0/22 (note '2' at the end) allow from 192.168.1.0/24 

Hier wird die Regel angewendet, denn die Bereiche sind:

allow from 192.168.0.0 to 192.168.3.255 allow from 192.168.1.0 to 192.168.1.255 

Der zweite Bereich befindet sich also im ersten Bereich wie eine kleine Box im größeren Bereich. "Am tolerantesten" bedeutet hier, dass die erste Zeile funktioniert, die größere Reichweite.

Fühlen Sie sich frei, ipcalc für Details zu überprüfen .

Vielen Dank, dass Sie sich die Zeit genommen haben, zu antworten und für das Detail. Da die Kernantwort die gleiche ist wie die von Michaels und seine erste war, habe ich seine Richtigkeit angegeben. sixty4bit vor 7 Jahren 0