Einschränken des SSH-Zugriffs auf die Amazon EC2-Instanz

3

Ich bereite die Einrichtung einer Amazon EC2-Instanz vor. Es wird eine Test- und Entwicklungsmaschine sein, mit der ich PHP-, Python- usw. Skripte auf einem Server ablegen kann, ohne an eine lokale Maschine gebunden zu sein. Derzeit verwende ich NitrousIO, aber eine EC2-Box ist aus mehreren Gründen attraktiver.

Eines nervt mich jedoch. In den meisten Dokumenten wird eindeutig angegeben, dass der SSH-Zugriff nur auf die IP-Adresse eines Benutzers beschränkt werden soll. Für die meisten Unternehmen gibt es wahrscheinlich kein Problem (und mein Arbeitgeber hat tatsächlich einen festgelegten IP-Bereich), aber meine private IP-Adresse ist dynamisch. Gibt es in einer solchen Situation eine Möglichkeit, den SSH-Zugriff auf eine EC2-Instanz über die IP-Adresse zu beschränken? Ich mache mir Sorgen, dass ich zu einem ungünstigen Zeitpunkt ausgesperrt werde.

Mike P
quelle

Antworten:

2

Dies ist kein Problem, wenn Sie in der Amazon Web Services-Konsole auf die Einstellungen für Sicherheitsgruppen für EC2 zugreifen können .

Wann immer Sie angemeldet sind, können Sie zu der Sicherheitsgruppe wechseln, die an Ihre EC2-Instanz gebunden ist, den eingehenden Zugriff konfigurieren und die SSH-Regeln hinzufügen oder ändern. Es gibt auch ein praktisches Dropdown-Menü mit der Aufschrift "Meine IP", damit der Bereich automatisch mit Ihren Informationen gefüllt wird und Sie von dieser Instanz ausgeschlossen werden.

Gus Fune
quelle
Für zusätzliche Sicherheit empfehle ich die Verwendung der 2-Faktor-Authentifizierung für das Konto, das Sie für den Zugriff auf die AWS-Konsole verwenden.
Gus Fune
Ich habe die Option "Meine IP" unter "Sicherheit" zuvor nicht gesehen. Das ist in der Tat sehr praktisch. Ändert es sich mit meiner IP-Adresse oder muss das Feld manuell aktualisiert werden?
Mike P
Die Option "Meine IP" sollte angezeigt werden und wird automatisch mit Ihrer IP im CIDR-Format ausgefüllt. Welches ist im Grunde Ihre IP. Sie können überprüfen, wie es auf meinem Bildschirm hier in diesem Link aussieht : imgur.com/UFc29Qm . Wenn es nicht angezeigt wird, sollte es sich um eine Sicherheitsfunktion handeln, die Sie überprüfen müssen. Sie können Ihre IP-Adresse jedoch jederzeit manuell eingeben. Beachten Sie, dass Sie diese Einstellung aktualisieren müssen, wenn sich Ihre IP-Adresse zu Hause ändert.
Gus Fune
1

Sie sollten ein Skript erstellen, das eine Sicherheitsgruppenregel hinzufügt / entfernt und Zugriff auf Ihre aktuelle IP gewährt.

Verwenden Sie eine Web-API, um Ihre aktuelle IP-Adresse abzurufen. So etwas wie http://api.ipify.org/?format=json

Verwenden Sie das Ergebnis, um die AWS-CLI aufzurufen: http://docs.aws.amazon.com/cli/latest/userguide/cli-ec2-sg.html

So etwas sollte funktionieren:

aws ec2 authorize-security-group-ingress --group-name <SSH_ACCESS_GROUP_NAME> --protocol tcp --port 22 --cidr <MY_IP>

Vergiss nicht, auch die Regeln zu löschen.

Barak
quelle
0

Paar Optionen in den Sinn kommen.

1) Fragen Sie Ihren lokalen ISP nach einer statischen IP-Whitelist für diese IP und verwenden Sie sie auf dem lokalen Computer.

2) Lassen Sie es NUR aus dem angegebenen IP-Bereich Ihres Routers zu, da Sie wahrscheinlich nur wenige von dieser Router-Verbindung verwenden. Zum Beispiel Whitelist 123.456.78.90/21 für ssh.

3) Wenn Option 1 oder 2 nicht möglich sind, KÖNNTEN Sie die Konsolen-GUI verwenden, um die "bekannte" aktuelle IP für diese Verbindung manuell zu ändern, bevor Sie ssh vom lokalen Computer aus verwenden.

4) Es ist auch möglich, dass der Heimrouter so konfiguriert ist, dass nur eine statische IP-Adresse für diesen Computer verwendet wird. Während der Internetdienstanbieter möglicherweise keine statische IP-Adresse angibt, können Sie die statische LAN-IP-Adresse verwenden, die über die Heimverbindung weitergeleitet werden kann.

linuxdev2013
quelle
0

Selbst bei einer dynamischen IP sollte es möglich sein, einen Bereich auszuwählen, in den Sie fallen, indem Sie im Laufe der Zeit überprüfen, welche IP-Adresse Sie erhalten, oder indem Sie Ihren ISP nach dem spezifischen IP-Pool fragen. Sobald dies erledigt ist, können Sie eine Standardverweigerung einrichten und Ihren IP-Bereich auf folgende Weise zulassen:

iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT

... natürlich, indem Sie die IP-Werte durch Werte ersetzen, die Ihren Ergebnissen entsprechen. Das /16bedeutet, dass die letzten 16 Bits der IP beliebig sein können, was mit dem .0.0Teil der IP übereinstimmt.

Warnung: Stellen Sie zu 100% sicher, dass Sie es eingerichtet haben, bevor Sie die Standardverweigerungsregel anwenden. Andernfalls werden Sie sich selbst aussperren. Wenn Sie können, empfehle ich, irgendwo eine Shell mit einer statischen IP zu kaufen und diese ebenfalls hinzuzufügen, damit Sie für alle Fälle eine alternative Route haben.

Jarmund
quelle