
Ich habe ein EC2 mit öffentlichem Subnetz und der Datenverkehr fließt über das Internet-Gateway.
Jetzt habe ich eine Anforderung, beispielsweise muss ich den gesamten ausgehenden Datenverkehr in EC2 blockieren.
Ich habe versucht, den Datenverkehr bei Netzwerk-ACLs einzuschränken.
Ich habe den SSH-Port 22 und die Regelnummer 100 zugelassen.
Ich habe dann den gesamten Datenverkehr mit der Verweigerungsoption und der Regelnummer 200 blockiert.
Ich habe die oben genannte Änderung an den ausgehenden Regeln der Netzwerk-ACLs vorgenommen, die an die VPC angeschlossen sind.
Aber nachdem ich dies in EC2 angewendet habe, kann ich auch kein SSH verwenden. Die Anmeldung erfolgt nicht.
Wie erreiche ich das? Ich möchte den gesamten ausgehenden Datenverkehr blockieren, aber SSH sollte stattfinden.
Antwort1
Netzwerk-ACLs in AWS sind nicht statusbehaftet, Sie müssen also sowohl eingehenden als auch ausgehenden Datenverkehr verwalten. Indem Sie allen Datenverkehr außer Port 22 blockieren, blockieren Sie alle ausgehenden Verbindungen, es sei denn, Ihr SSH-Client verwendet Port 22 für ausgehende Verbindungen (was unwahrscheinlich ist).
Aushttps://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#nacl-basics:
NACLs sind zustandslos, was bedeutet, dass Informationen über zuvor gesendeten oder empfangenen Datenverkehr nicht gespeichert werden. Wenn Sie beispielsweise eine NACL-Regel erstellen, um bestimmten eingehenden Datenverkehr zu einem Subnetz zuzulassen, werden Antworten auf diesen Datenverkehr nicht automatisch zugelassen. Dies steht im Gegensatz zur Funktionsweise von Sicherheitsgruppen. Sicherheitsgruppen sind zustandsbehaftet, was bedeutet, dass Informationen über zuvor gesendeten oder empfangenen Datenverkehr gespeichert werden. Wenn eine Sicherheitsgruppe beispielsweise eingehenden Datenverkehr zu einer EC2-Instance zulässt, werden Antworten automatisch zugelassen, unabhängig von den Regeln der Sicherheitsgruppe für ausgehenden Datenverkehr.
Sie sollten sich stattdessen Sicherheitsgruppen ansehen, die statusbehaftet sind und daher den ausgehenden Antwortabschnitt einer eingehenden Verbindung zulassen. Sie können dies verwenden, um alle eingehenden Verbindungen außer 22 und alle ausgehenden Verbindungen (wenn sie von EC2 initiiert werden) zu blockieren.
Außerdem: wenn Sie nur SSH in diese EC2 und keinen anderen eingehenden Datenverkehr benötigen, sollten SieWirklichSehen Sie sich den Session Manager an (Teil des Systems Managers). Dieser verwendet einen Agenten auf dem EC2, um Shell-Zugriff bereitzustellen, ohne den Datenverkehr dem Internet auszusetzen, nur AWS-Dienste über NAT. Es sind also keine eingehenden Ports erforderlich!https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html