Eingehende Regel der Amazon EC2-Sicherheitsgruppe mit einer dynamischen IP

11

Ich suche nach einer Klärung dessen, was ich als potenzielles Problem mit EC2-Sicherheitsgruppen sehe.

Ich richte eine Sicherheitsgruppe für die Verbindung zu Linux-Instanzen ein. Ich habe "überall" Regeln für den HTTP- und HTTPS-Zugriff erstellt.

Für meine SSH-Regel besagt das Amazon-Tutorial, dass ich den eingehenden Zugriff auf meine öffentliche IP-Adresse beschränken sollte .

  1. Was ich nicht verstehe, ist, wie sicher oder funktionsfähig das ist, wenn Ihre öffentliche IP-Adresse dynamisch ist?

  2. Meine IP-Adresse ist dynamisch. Was passiert also, wenn mein ISP meine öffentliche IP ändert und ich nicht mehr in meine Instanz ssh kann?

Link zum Setup-Handbuch, das ich verwende: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (Schritt 7 von 'Erstellen einer Sicherheitsgruppe 'scheint mir problematisch)

Will Byrne
quelle

Antworten:

6

Was ich nicht verstehe, ist, wie sicher oder funktionsfähig das ist, wenn Ihre öffentliche IP-Adresse dynamisch ist?

Diese Lösung kann funktionieren, wenn Sie feststellen, dass sich Ihre IP-Adresse nicht häufig ändert oder wenn Sie nur für kurze Zeit Zugriff benötigen. Es bietet eine zusätzliche Sicherheitsebene, da SSH keinem Datenverkehr außerhalb des von Ihnen bereitgestellten CIDR ausgesetzt ist.

Wenn eine bestimmte CIDR nicht funktioniert, können Sie CIDR-Bereiche oder mehrere Board-CIDR-Bereiche anprobieren, die Ihr ISP wahrscheinlich verwendet. Dadurch wird der Zugriff von einem großen Prozentsatz des Internets weiterhin eingeschränkt, und dies ist ein Gewinn für die Sicherheit.

Was passiert, wenn mein ISP meine öffentliche IP ändert und ich nicht mehr in meine Instanz ssh kann?

Sie können sich bei der AWS Console anmelden oder die Sicherheitsgruppenregel mithilfe der CLI im laufenden Betrieb aktualisieren.

Sie können ein Skript schreiben, das direkt mit der CLI interagiert. Es könnte so einfach sein wie etwas, das nach der Port 22 ruleaktuellen IP-Adresse sucht und diese aktualisiert, wenn sie anders ist. Natürlich könnte das Ausführen eines solchen Skripts selbst mehr Sicherheitsfragen aufwerfen :)

Ist eine IP-Firewall der beste Weg, um SSH zu sichern?

Während es sinnvoll ist, den SSH-Verkehr nur auf vertrauenswürdige IP-Quellen zu beschränken, wo dies praktikabel ist, ist die Verwendung privater Schlüssel und eine sinnvolle Konfiguration das, was SSH sicher macht.

Wichtige zu berücksichtigende Punkte:

  • Fügen Sie Ihrem privaten SSH-Schlüssel eine Passphrase hinzu
  • Deaktivieren Sie die Kennwortauthentifizierung für SSH
  • Deaktivieren Sie die Root-Anmeldung bei SSH
  • Überprüfen Sie alle Benutzerkonten auf öffentliche SSH-Schlüssel

Sie können auch ein paar Dinge tun, um den Lärm zu beseitigen, der mit Brute-Force-Angriffen verbunden ist:

  • Führen Sie ssh auf einem höheren Port aus
  • Verwenden Sie Software wie fail2ban, die zahlreiche fehlgeschlagene Versuche dynamisch protokolliert und IP-Bereiche für bestimmte Zeiträume blockiert
Drew Khoury
quelle
4

Es ist in Ordnung, den Zugriff auf Ihren SSH-Server anhand der IP-Adresse einzuschränken, aber SSH ist aus Sicherheitsgründen nicht darauf angewiesen. Wenn Sie die Kennwortanmeldungen ( PasswordAUthentication no) deaktivieren und nur die Authentifizierung mit privatem Schlüssel verwenden, kann niemand ohne Ihren privaten Schlüssel eintreten. Es ist sicher.

Mit anderen Worten, Sie müssen sich keine Gedanken über die Firewall-Regeln machen, wenn Sie dies nicht möchten.

Andrew Schulman
quelle
1
Sie müssen sich über einen gezielten Angriff auf Ihren lokalen Computer Gedanken machen, um die Schlüsseldatei abzurufen. Wenn Sie jedoch nichts ausführen, das sich mit Gesundheits- / Kreditkarten- / Regierungsdaten befasst, sind die Chancen dafür wahrscheinlich minimal.
Ceejayoz
3

Sie können der Sicherheitsgruppe einen CIDR-Bereich hinzufügen, der die Obermenge aller IPs darstellt, die Ihr ISP Ihnen zuweisen kann.

Entweder das, oder Sie verwenden die AWS-API, um Ihre Sicherheitsgruppe dynamisch zu aktualisieren.

dmourati
quelle
3

Es gibt einige neuere Lösungen für diese ältere Frage:

Aus AWS heraus: So aktualisieren Sie Ihre Sicherheitsgruppen für Amazon CloudFront und AWS WAF mithilfe von AWS Lambda automatisch

Remote-Update von der dynamischen Quelle (Skript node.js): Knotenskript aws-ec2-ssh-secgroup-update

Remote-Update von der dynamischen Quelle (Python-Skript): Fügen Sie der Sicherheitsgruppe automatisch die aktuelle öffentliche IP hinzu, um Datenverkehr auf einem bestimmten Port zuzulassen

Ville
quelle
0

Mit dem Befehl aws_ipadd können Sie AWS-Sicherheitsgruppenregeln einfach aktualisieren und verwalten und Ihre öffentliche IP mit Port auf eine Whitelist setzen, wenn sie geändert wird.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
Piyush Sonigra
quelle