Weiterleitungs-SSH-Tunnel

In Datastream können Sie mit einem Weiterleitungs-SSH-Tunnel eine verschlüsselte Verbindung zu einer Quelldatenbank über ein öffentliches Netzwerk herstellen. Wenn Sie diese Verbindungsmethode einrichten möchten, wählen Sie einen Terminierungshost aus, lassen Traffic von Datastream-IP-Adressen zu und konfigurieren den Tunnel in einem Verbindungsprofil.

Schritt 1: Host auswählen, auf dem der Tunnel beendet werden soll

Der erste Schritt zum Einrichten des Zugriffs über den SSH-Tunnel für Ihre Datenbank besteht in der Auswahl des Hosts, auf dem der Tunnel beendet wird. Der Tunnel kann entweder auf dem Datenbankhost selbst oder auf einem separaten Host (dem Tunnelserver) beendet werden.

Datenbankserver verwenden

Der Abschluss des Tunnels in der Datenbank hat den Vorteil der Einfachheit. Da ein Host weniger beteiligt ist, fallen keine zusätzlichen Maschinen und damit verbundene Kosten an. Der Nachteil ist, dass sich Ihr Datenbankserver möglicherweise in einem geschützten Netzwerk befindet, auf das nicht direkt über das Internet zugegriffen werden kann.

Tunnelserver verwenden

Das Beenden des Tunnels auf einem separaten Server hat den Vorteil, dass Ihr Datenbankserver nicht über das Internet zugänglich ist. Wenn der Tunnelserver manipuliert wurde, kann er schnell vom Datenbankserver entfernt werden. Wir empfehlen, nicht unbedingt benötigte Software und Nutzer vom Tunnelserver zu entfernen und mithilfe von Tools wie einem Intrusion Detection System (IDS) genau zu überwachen.

Der Tunnelserver kann ein beliebiger Unix- oder Linux-Host sein, der:

  1. Kann über das Internet per SSH aufgerufen werden.
  2. Kann auf die Datenbank zugreifen.

Schritt 2: IP-Zulassungsliste erstellen

Der zweite Schritt beim Einrichten des SSH-Tunnelzugriffs für Ihre Datenbank besteht darin, Netzwerkverkehr zum Tunnelserver oder Datenbankhost über SSH zuzulassen. Dies erfolgt in der Regel über TCP-Port 22.

Lassen Sie Netzwerkverkehr von jeder der IP-Adressen für die Region zu, in der Datastream-Ressourcen erstellt werden.

Schritt 3: SSH-Tunnel verwenden

Geben Sie die Tunneldetails in der Konfiguration des Verbindungsprofils an. Weitere Informationen finden Sie unter Verbindungsprofil erstellen.

Zum Authentifizieren der SSH-Tunnelsitzung benötigt Datastream entweder das Passwort für das Tunnelkonto oder einen eindeutigen privaten Schlüssel. Wenn Sie einen eindeutigen privaten Schlüssel verwenden möchten, können Sie die OpenSSH- oder OpenSSL-Befehlszeilentools verwenden, um Schlüssel zu generieren.

Datastream speichert den privaten Schlüssel sicher als Teil der Konfiguration des Datastream-Verbindungsprofils. Sie müssen den öffentlichen Schlüssel manuell der Datei ~/.ssh/authorized_keys des Bastion Hosts hinzufügen.

Private und öffentliche Schlüssel generieren

Sie können SSH-Schlüssel mit der folgenden Methode generieren:

  • ssh-keygen: Ein OpenSSH-Befehlszeilentool zum Generieren von SSH-Schlüsselpaaren.

    Nützliche Flags:

    • -t: Gibt den Typ des zu erstellenden Schlüssels an, z. B.:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b: Gibt die Schlüssellänge des zu erstellenden Schlüssels an, z. B.:

      ssh-keygen -t rsa -b 2048

    • -y: Liest eine private OpenSSH-Formatdatei und gibt einen öffentlichen OpenSSH-Schlüssel in der Standardausgabe aus.

    • -f: Gibt den Dateinamen der Schlüsseldatei an, z. B.:

      ssh-keygen -y [-f KEY_FILENAME]

    Weitere Informationen zu unterstützten Flags finden Sie in der OpenBSD-Dokumentation.

Sie können einen privaten PEM-Schlüssel mit der folgenden Methode generieren:

  • openssl genpkey: Ein OpenSSL-Befehlszeilentool zum Generieren eines privaten PEM-Schlüssels.

    Nützliche Flags:

    • algorithm: Gibt den zu verwendenden Algorithmus für den öffentlichen Schlüssel an, z. B.:

      openssl genpkey -algorithm RSA

    • -out: Gibt den Dateinamen an, unter dem der Schlüssel ausgegeben werden soll, z. B.:

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    Weitere Informationen zu unterstützten Flags finden Sie in der OpenSSL-Dokumentation.

Nächste Schritte