Was sind die besten Praktiken für den sicheren Zugriff auf meine EC2-Linux-Instanz mit SSH bei gleichzeitiger Vermeidung von unbefugtem Zugriff?

Lesedauer: 5 Minute
0

Ich möchte über SSH auf meine Amazon Elastic Compute Cloud (Amazon EC2) Instanz zugreifen. Was sind die besten Methoden, um meine Instanz sicher zu halten und unbefugten Zugriff zu vermeiden, wenn ich SSH verwende?

Auflösung

Verwenden Sie die folgenden bewährten Methoden, um Ihre Instances zu schützen, wenn Sie SSH verwenden. Stellen Sie bei Schritten, die Befehle beinhalten, sicher, dass Sie Befehle mit Root-Rechten ausführen. Führen Sie den ** Befehl ** sudo -i aus, um Root-Benutzer zu werden.

Verwenden Sie AWS Systems Manager Session Manager für den Shell-Zugriff auf EC2-Instances

Mit Session Manager können sich Benutzer von AWS Identity and Access Management (IAM) mit Verschlüsselungs- und Protokollierungsfunktionen bei Ihren Instances anmelden. Der Datenverkehr von Systems Manager wird über den Systems Manager-Endpunkt geleitet und ermöglicht so einen einfachen und sicheren Zugriff auf private Instances, ohne eingehende Ports öffnen zu müssen. Weitere Informationen zu Session Manager finden Sie unter AWS Systems Manager Session Manager für den Shell-Zugriff auf EC2-Instances.

Verwenden Sie EC2 Instance Connect für den Shell-Zugriff auf EC2-Instances

Mit Amazon EC2 Instance Connect können Sie mithilfe von Secure Shell (SSH) mithilfe von IAM-Rollen und -Richtlinien eine Verbindung zu Ihren Linux-Instances herstellen. Weitere Informationen zu EC2 Instance Connect finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance mithilfe von EC2 Instance Connect. .

**Hinweis:**EC2 Instance Connect wird in den folgenden Distributionen unterstützt:

  • Amazon Linux 2 (jede Version)
  • Ubuntu 16.04 oder später

Erlauben Sie dem Root-Benutzer nicht, ein SSH-Terminal zu verwenden

Standardmäßig erlauben von Amazon bereitgestellte AMIs und die meisten Anbieter aus dem AWS Marketplace dem Root-Benutzer nicht, sich von einem SSH-Terminal aus anzumelden. Wenn Ihre Instance dem Root-Benutzer die Anmeldung ermöglicht, gehen Sie wie folgt vor, um den Zugriff zu verweigern.

  1. Fügen Sie dem Passwortfeld in der ** Datei ** /etc/shadow ein**\ * ** (Sternchen) hinzu, um das Passwort des Root-Benutzers ungültig zu machen:

Bearbeiten Sie die Datei mit ** vipw ** -s.

Die erste Zeile ist normalerweise die Zeile des Root-Benutzers. Ändern Sie die Zeile des Root-Benutzers wie folgt:

root:*LOCK*:14600::::::
  1. Bearbeiten Sie die Konfigurationsdatei des SSH-Daemons mit einem Editor wie dem vi-Editor:
vi /etc/ssh/sshd_config

Stellen Sie sicher, dass die folgende Zeile vorhanden und nicht kommentiert ist. Diese Zeile verweigert dem Root-Benutzer die Anmeldeberechtigung.

PermitRootLogin no
  1. Starten Sie den SSH-Daemon neu:
systemctl restart sshd

Informationen zu anderen Parametern der ** ** PermitRootLogin-Option finden Sie unter sshd\ _config auf OpenBSD. .

Stellen Sie sicher, dass sich alle Benutzer mit einem SSH-Schlüsselpaar anmelden, und deaktivieren Sie dann die Passwortauthentifizierung

Die Standardkonfiguration für von Amazon bereitgestellte AMIs ist die Anmeldung mit einem SSH-Schlüsselpaar bei deaktivierter Passwortauthentifizierung. Dies liegt daran, dass die Verwendung eines Passworts Ihre Instance Sicherheitsrisiken wie Brute-Force-Angriffen aussetzt. Schwache Passwörter können geknackt werden, um Zugriff zu erhalten.

Wenn Sie also Ihre Instance so geändert haben, dass sie ein Passwort verwendet, kehren Sie mit den folgenden Befehlen zur Standardkonfiguration zurück:

  1. Verwenden Sie den vi-Editor oder einen Editor Ihrer Wahl, um auf die Datei ** sshd\ ** _config zuzugreifen:
vi /etc/ssh/sshd_config
  1. Stellen Sie sicher, dass die folgende Zeile vorhanden und nicht kommentiert ist:
PasswordAuthentication no
  1. Starten Sie den SSH-Daemon neu:
systemctl restart sshd

**Hinweis:**Stellen Sie sicher, dass Sie Schlüsselpaare installiert haben, bevor Sie die Passwortauthentifizierung deaktivieren. Dadurch wird verhindert, dass Sie den SSH-Zugriff auf die EC2-Instance verlieren. Jeder Benutzer benötigt seine öffentlichen Schlüssel, die in den Pfad ** ~/.ssh/authorized\ _keys eingegeben werden. **. Weitere Informationen zu schlüsselbasierten Anmeldungen finden Sie unter Amazon EC2-Schlüsselpaare und Linux-Instances. .

Beschränken Sie den Zugriff aus unbekannten Quellen

In öffentlichen Instanzen kann es zu Eindringlingen kommen, wenn der SSH-Port offen und uneingeschränkt bleibt, wenn Fehlkonfigurationen vorliegen oder wenn unerwartete Softwareschwachstellen vorliegen. Befolgen Sie die folgenden bewährten Methoden, um unbefugte Zugriffe zu verhindern:

  1. Halten Sie den SSH-Daemon auf die neueste Version aktualisiert, die von Ihrem Linux-Distributionsbetreuer bereitgestellt wird. Oft erhält der SSH-Daemon Backport-Updates aus späteren Versionen vom Upstream-Anbieter. Weitere Informationen zum Backporting finden Sie unter Backporting Security Fixes auf der Website des Red Hat Customer Portals.
yum -y install openssh-server # for Amazon Linux, RHEL, Centos
apt update && apt install openssh-server # For Ubuntu, Debian
  1. Schränken Sie Ihre Sicherheitsgruppe so ein, dass eingehende Verbindungen zu Port 22 nur von vertrauenswürdigen IP-Adressen, wie z. B. Unternehmensnetzwerk-IPs, zugelassen werden. Weitere Informationen finden Sie unter Autorisieren des eingehenden Datenverkehrs für Ihre Linux-Instances. .

  2. Manche Eindringlinge könnten versuchen, Benutzernamen und Passwörter zu erraten oder versuchen, Ihren SSH-Daemon zu überfluten, wenn Port 22 für die Welt geöffnet ist. Das Utility fail2ban überwacht Ihre Logdateien auf ständige Versuche, sich bei Ihrer Instance anzumelden, und blockiert die Versuche dann nach einigen erfolglosen Versuchen. Um fail2ban** zu installieren: **

Ubuntu:

apt -y install fail2ban

**Amazon Linux, CentOS, RHEL: **

Installieren Sie das EPEL-Repository.

Führen Sie die folgenden Befehle aus:

yum -y install fail2ban
systemctl enable fail2ban
systemctl start fail2ban

Einzelheiten zur Konfiguration von fail2ban finden Sie unter Linux-Sicherheit: Schützen Sie Ihre Systeme mit fail2ban auf der Red Hat-Website.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr