In den folgenden Schritten wird beschrieben, wie Sie eine Verbindung zu einer Quelldatenbank über einen Weiterleitungs-SSH-Tunnel einrichten.
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, das keinen direkten Zugriff über das Internet hat.
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 mit folgenden Funktionen sein:
- Kann vom Internet aus über SSH erreicht werden.
Kann auf die Datenbank zugreifen.
Schritt 2: IP-Zulassungsliste erstellen
Der zweite Schritt zur Einrichtung des SSH-Tunnelzugangs für Ihre Datenbank besteht darin, dass der Netzwerktraffic den Tunnelserver oder den Datenbankhost über SSH erreichen kann, was in der Regel über TCP-Port 22 geschieht.
Erlauben Sie Netzwerktraffic von jeder der IP-Adressen für die Region, in der Datastreamressourcen 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. Um einen eindeutigen privaten Schlüssel zu verwenden, können Sie mit OpenSSH- oder OpenSSL-Befehlszeilentools Schlüssel generieren.
Der private Schlüssel wird von Datastream als Teil der Konfiguration des Datastream-Verbindungsprofils sicher gespeichert. 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 Datei im OpenSSH-Format 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.
So generieren Sie einen privaten PEM-Schlüssel:
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, in den 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.