SSH-Tunnel verwenden

Für die stärkste Verschlüsselung zwischen Looker und Ihrer Datenbank können Sie einen SSH-Tunnel zu einem Tunnelserver oder zum Datenbankserver selbst erstellen.

SSH-Tunnel sind nicht für Datenbanken verfügbar, die keine einzige Hostadresse haben, z. B. Google BigQuery- und Amazon Athena-Datenbanken. BigQuery- und Athena-Nutzer sollten direkt zur Datenbankkonfiguration springen.

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

Die Beendigung auf der Datenbank hat den Vorteil der Einfachheit. Da weniger Hosts erforderlich sind, fallen keine zusätzlichen Maschinen an und es fallen auch keine entsprechenden Kosten an. Der Nachteil ist, dass sich Ihr Datenbankserver möglicherweise in einem geschützten Netzwerk befindet, das keinen direkten Zugriff aus dem Internet hat.

Tunnelserver verwenden

Das Beenden des Tunnels auf einem separaten Server hat den Vorteil, dass der Datenbankserver nicht über das Internet zugänglich ist. Wenn der Tunnelserver manipuliert wurde, wird er in einem Schritt vom Datenbankserver entfernt. Wir empfehlen, alle nicht systemeigene Software und Nutzer vom Tunnelserver zu entfernen und sie mit Tools wie IDS genau zu überwachen.

Der Tunnelserver kann ein beliebiger Unix/Linux-Host mit folgenden Funktionen sein:

  1. Zugriff über das Internet über SSH möglich
  2. Kann auf die Datenbank zugreifen

Schritt 2: Zulassungsliste für IP-Adressen erstellen

Im zweiten Schritt müssen Sie dem Netzwerkverkehr erlauben, den Tunnelserver oder Datenbankhost über SSH zu erreichen, der sich im Allgemeinen über TCP-Port 22 befindet.

Lassen Sie Netzwerktraffic von jeder der hier aufgeführten IP-Adressen für die Region zu, in der die Looker-Instanz gehostet wird. Standardmäßig sind dies die Vereinigten Staaten.

In Google Cloud gehostete Instanzen

Instanzen, die von Looker gehostet werden, werden standardmäßig in Google Cloud gehostet. Fügen Sie für Instanzen, die in Google Cloud gehostet werden, die IP-Adressen, die Ihrer Region entsprechen, der Zulassungsliste hinzu.

Vollständige Liste der IP-Adressen für in Google Cloud gehostete Instanzen

Moncks Corner, South Carolina, USA (us-east1)

  • 34.75.58.123
  • 35.196.30.110
  • 35.243.254.166
  • 34.111.239.102
  • 35.237.174.17
  • 34.73.200.235
  • 35.237.168.216

Ashburn, Northern Virginia, USA (us-east4)

  • 35.221.30.177
  • 35.245.82.73
  • 35.194.74.185
  • 35.245.177.112
  • 34.86.118.239
  • 34.86.52.188
  • 35.221.3.163
  • 35.245.211.109
  • 34.86.136.190
  • 34.86.214.226
  • 35.221.62.218
  • 34.86.34.135
  • 35.236.240.168
  • 34.150.212.9
  • 34.150.174.54
  • 34.85.200.217

Council Bluffs, Iowa, USA (us-central1)

  • 34.69.207.176
  • 34.70.128.74
  • 35.239.118.197
  • 104.154.21.231
  • 35.192.130.126
  • 35.184.100.51

The Dalles, Oregon, USA (us-west1)

  • 34.82.120.25
  • 35.247.5.99
  • 35.197.64.57
  • 35.233.172.23
  • 35.233.249.160
  • 35.247.55.33
  • 35.247.117.0
  • 35.247.61.151
  • 34.82.193.215
  • 35.233.222.226
  • 34.83.94.151
  • 35.203.184.48
  • 34.83.138.105
  • 35.197.35.188
  • 34.127.116.85
  • 34.145.90.83
  • 34.127.41.199
  • 34.82.57.225
  • 35.197.66.244

Montreal, Québec, Kanada (northamerica-northeast1)

  • 35.234.253.103
  • 35.203.46.255
  • 34.152.60.210

London, England, Vereinigtes Königreich (europe-west2)

  • 35.189.94.105
  • 35.246.36.67
  • 35.234.140.77
  • 34.142.77.18
  • 34.105.131.133
  • 34.89.54.84
  • 34.89.124.139
  • 34.89.25.5
  • 34.105.209.44
  • 34.105.181.133
  • 35.242.138.133
  • 34.105.219.154
  • 34.89.127.51
  • 35.246.10.206
  • 35.189.111.173
  • 35.197.222.220
  • 34.105.198.151
  • 35.246.117.58
  • 34.142.123.96

Frankfurt, Deutschland (europe-west3)

  • 34.159.224.187
  • 34.159.10.59
  • 34.159.72.77
  • 35.242.243.255
  • 34.159.247.211
  • 35.198.128.126

Mumbai, Indien (asia-south1)

  • 34.93.221.137
  • 35.244.24.198
  • 35.244.52.179

Eemshaven, Niederlande (europe-west4)

  • 35.204.118.28
  • 35.204.216.7
  • 34.90.52.191

Landkreis Changhua, Taiwan (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tokio, Japan (asia-northeast1)

  • 35.221.107.211
  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218

Jurong West, Singapur (asia-southeast1)

  • 34.143.210.116
  • 34.143.132.206
  • 34.87.134.202

Jakarta, Indonesien (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

Sydney, Australien (australia-southeast1)

  • 34.87.195.36
  • 34.116.85.140
  • 34.151.78.48

Osasco (São Paulo), Brasilien (southamerica-east1)

  • 34.151.199.201
  • 35.199.122.19
  • 34.95.180.122

Auf Amazon Elastic Kubernetes Service (Amazon EKS) gehostete Instanzen

Bei auf Amazon EKS gehosteten Instanzen müssen Sie die IP-Adressen für Ihre Region auf die Allowlist setzen.

Vollständige Liste der IP-Adressen für bei Amazon EKS gehostete Instanzen

USA (N. Virginia) (us-east-1)

  • 52.44.90.201
  • 54.87.86.113
  • 54.162.193.165
  • 34.235.77.117
  • 3.233.169.63
  • 54.159.42.144
  • 3.229.81.101
  • 34.225.255.220
  • 34.200.121.56
  • 3.83.72.41
  • 54.197.142.238
  • 34.239.90.169
  • 34.236.92.87
  • 3.220.81.241
  • 52.44.187.22
  • 23.22.133.206
  • 18.213.96.40
  • 35.168.173.238
  • 54.162.175.244
  • 54.80.5.17
  • 34.200.64.243
  • 54.157.231.76
  • 18.206.32.254
  • 52.7.255.54
  • 54.196.92.5
  • 52.204.125.244
  • 52.203.92.114
  • 52.3.47.189
  • 184.73.10.85
  • 52.55.10.236
  • 3.230.52.220
  • 54.211.95.150
  • 52.86.109.68
  • 54.159.176.199
  • 52.55.239.166
  • 75.101.147.97
  • 54.92.246.223
  • 18.235.225.163
  • 54.204.171.253
  • 18.210.137.130
  • 50.17.192.87
  • 18.208.86.29

US-Ost (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

Westen der USA (Oregon) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Kanada (Mitte) (ca-central-1)

  • 52.60.157.61
  • 35.182.169.25
  • 52.60.59.128
  • 35.182.207.128
  • 15.222.172.64
  • 3.97.27.51
  • 35.183.191.133
  • 15.222.86.123
  • 52.60.52.14

Europa (Irland) (eu-west-1)

  • 54.74.243.246
  • 54.195.216.95
  • 54.170.208.67
  • 52.49.220.103
  • 52.31.69.117
  • 34.243.112.76
  • 52.210.85.110
  • 52.30.198.163
  • 34.249.159.112
  • 52.19.248.176
  • 54.220.245.171
  • 54.247.22.227
  • 176.34.116.197
  • 54.155.205.159
  • 52.16.81.139

Europa (Frankfurt) (eu-central-1)

  • 18.157.231.108
  • 18.157.207.33
  • 18.157.64.198
  • 18.198.116.133
  • 3.121.148.178
  • 3.126.54.154
  • 18.193.187.100
  • 18.196.108.86
  • 18.198.157.149

Asien-Pazifik (Tokio) (ap-northeast-1)

  • 54.250.91.57
  • 13.112.30.110
  • 54.92.76.241

Asien-Pazifik (Sydney) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

Südamerika (São Paulo) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.71.134.208

Auf Microsoft Azure gehostete Instanzen

Bei auf Azure gehosteten Instanzen müssen Sie die IP-Adressen für Ihre Region auf die Allowlist setzen.

Virginia, USA (us-east2)

  • 52.147.190.201

Älteres Hosting

Verwenden Sie diese IP-Adressen für alle auf AWS gehosteten Instanzen, die vor dem 07.07.2020 erstellt wurden.

Vollständige Liste der IP-Adressen für Legacy-Hosting

USA (AWS-Standard)

  • 54.208.10.167
  • 54.209.116.191
  • 52.1.5.228
  • 52.1.157.156
  • 54.83.113.5

Kanada

  • 99.79.117.127
  • 35.182.216.56

Asien

  • 52.68.85.40
  • 52.68.108.109

Irland

  • 52.16.163.151
  • 52.16.174.170

Deutschland

  • 18.196.243.94
  • 18.184.246.171

Australien

  • 52.65.128.170
  • 52.65.124.87

Südamerika

  • 52.67.8.103
  • 54.233.74.59

Schritt 3: SSH-Tunneling

Wenn der Tab SSH-Server aktiviert ist, folgen Sie der Anleitung auf dieser Seite, um die Informationen zur SSH-Serverkonfiguration zu Looker hinzuzufügen.

Die Option SSH Server ist verfügbar, wenn die Instanz in der Kubernetes-Infrastruktur bereitgestellt wird, und wenn die Möglichkeit zum Hinzufügen von SSH-Serverkonfigurationsinformationen zu Ihrer Looker-Instanz aktiviert ist. Wenn diese Option für Ihre Looker-Instanz nicht aktiviert ist und Sie sie aktivieren möchten, wenden Sie sich an Ihren Looker-Account Manager oder öffnen Sie eine Supportanfrage in der Looker-Hilfe.

Klicken Sie auf der Seite Verbindungen im Abschnitt Admin von Looker auf den Tab SSH-Server:

Klicken Sie dann auf Server hinzufügen. Looker zeigt die Seite Add SSH Server (SSH-Server hinzufügen) an:

  1. Geben Sie einen Namen für die SSH-Serverkonfiguration ein.
  2. Klicken Sie auf Schlüssel herunterladen, um den öffentlichen Schlüssel in eine Textdatei herunterzuladen. Du solltest diese Datei unbedingt speichern, da du den öffentlichen Schlüssel später dem SSH-Server hinzufügen musst.
  3. Geben Sie den Nutzernamen ein, den Looker für die Verbindung mit dem SSH-Server verwenden wird.
  4. Geben Sie die IP-Adresse oder den Hostnamen des SSH-Servers ein.
  5. Geben Sie die Portnummer ein, die für die Verbindung mit dem SSH-Server verwendet wird.

Schritt 4: Tunnelhost vorbereiten

Fügen Sie der Datei authorized_keys den öffentlichen Schlüssel hinzu

Für die Authentifizierung der SSH-Tunnelsitzung ist für Looker ein eindeutiger öffentlicher Schlüssel erforderlich. Looker unterstützt keine Anmeldungen über Passwörter. Wenn der Tab SSH-Server auf Ihrer Instanz aktiviert ist, können Sie den öffentlichen Schlüssel in eine Textdatei herunterladen. Klicken Sie dazu bei der Eingabe der SSH-Konfiguration auf die Schaltfläche Schlüssel herunterladen. Wenn Sie Ihren SSH-Tunnel mithilfe eines Looker-Analysten konfigurieren, stellt Ihnen der Looker-Analyst einen eindeutigen öffentlichen Schlüssel zur Verfügung.

Sie müssen Ihren Host vorbereiten (entweder den Datenbankserver oder den Tunnelserver), indem Sie einen looker-Nutzer erstellen und den öffentlichen Looker-Schlüssel in die Looker-.ssh/authorized_keys-Datei einfügen. So gehts:

  1. Erstellen Sie in der Befehlszeile eine Gruppe mit dem Namen looker:

    sudo groupadd looker
    
  2. Erstellen Sie den Nutzer looker und sein Basisverzeichnis:

    sudo useradd -m  -g looker  looker
    
  3. Wechseln Sie zum Nutzer looker:

    sudo su - looker
    
  4. Erstellen Sie das Verzeichnis .ssh:

    mkdir ~/.ssh
    
  5. Berechtigungen festlegen:

    chmod 700 ~/.ssh
    
  6. Wechseln Sie in das Verzeichnis .ssh:

    cd ~/.ssh
    
  7. Erstellen Sie die Datei authorized_keys.

    touch authorized_keys
    
  8. Berechtigungen festlegen:

    chmod 600 authorized_keys
    

Fügen Sie in der Datei authorized_keys mit Ihrem bevorzugten Texteditor den SSH-Schlüssel hinzu, den Sie von Ihrem Looker-Analysten erhalten haben. Der Schlüssel muss sich in einer einzigen Zeile befinden. In einigen Fällen werden beim Abrufen des Schlüssels aus Ihren E-Mails Zeilenumbrüche vom E-Mail-Client eingefügt. Wenn Sie sie nicht entfernen, kann der SSH-Tunnel nicht erstellt werden.

ssh-rsa zur Datei sshd_config hinzufügen

OpenSSH hat ssh-rsa standardmäßig deaktiviert, was zu Fehlern beim Einrichten eines SSH-Tunnels führen kann. Fügen Sie der Liste der akzeptierten Algorithmen die ssh-rsa Ihres Servers hinzu, um dieses Problem zu beheben. So gehts:

  1. Bearbeiten Sie die Datei sshd_config. Diese befindet sich normalerweise unter ~/etc/ssh/sshd_config.
  2. Fügen Sie der Datei sshd_config Folgendes hinzu:

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Tunnel-Sicherheitshinweise

Wenn ein SSH-Tunnel auf dem Datenbankserver beendet wird, scheint die Verbindung von Looker eine lokale Verbindung auf dem Datenbankserver zu sein. Daher werden verbindungsbasierte Sicherheitsmechanismen in Datenbankplattformen wie MySQL überwunden. Es ist beispielsweise üblich, dass dem lokalen Nutzer root ohne Passwort ein lokaler Zugriff gewährt wird.

Standardmäßig wird beim Öffnen des SSH-Zugriffs auch die Weiterleitung aller Ports zugelassen, wodurch alle Firewalls zwischen Looker und dem Datenbankhost umgangen werden, die den SSH-Tunnel beenden. Dieses Sicherheitsrisiko kann inakzeptabel sein. Diese Portweiterleitung und die Möglichkeit, sich bei Ihrem Tunnelserver anzumelden, kann über die korrekte Konfiguration des Eintrags .ssh/authorized_keys für den öffentlichen Looker-Schlüssel gesteuert werden.

Beispielsweise kann dem Looker-SSH-Schlüssel in Ihrer authorized_keys-Datei der folgende Text vorangestellt werden. Dieser Text MUSS an Ihre Umgebung angepasst werden.

no-pty,no-X11-forwarding,permitopen="localhost:3306",permitopen="localhost:3307",
command="/bin/echo Login Not Permitted"

Beispiele und vollständige Details finden Sie in der Linux-Dokumentation zu man ssh und man authorized_keys.

Nächste Schritte

Wenn der Tab SSH-Server auf Ihrer Instanz aktiviert ist, kehren Sie zur Seite SSH-Server hinzufügen zurück und klicken Sie auf Test &Fingerabdruck anfordern, um die Verbindung zum SSH-Server zu bestätigen. Looker zeigt einen Bildschirm mit der neuen SSH-Konfiguration und Optionen zum Herunterladen oder Aufrufen des öffentlichen Schlüssels sowie den eindeutigen Fingerabdruck der SSH-Serverkonfiguration an.

Gehen Sie dann auf der Seite Verbindungseinstellungen Ihrer Datenbank so vor:

  1. Aktivieren Sie die Ein-/Aus-Schaltfläche SSH-Server und wählen Sie in der Drop-down-Liste die SSH-Serverkonfiguration aus.
  2. Geben Sie in das Feld Remote Host:Port die IP-Adresse oder den Hostnamen und die Portnummer Ihrer Datenbank ein.

Bei Datenbankverbindungen über einen SSH-Tunnel kann kein Nutzerattribut auf das Feld Remote Host:Port angewendet werden.

Wenn Sie Ihren SSH-Tunnel mithilfe eines Looker-Analysten konfigurieren, informieren Sie Ihren Looker-Analyst, dass Sie bereit sind, den SSH-Tunnel zu testen. Sobald er bestätigt hat, dass der Tunnel eingerichtet ist, erhalten Sie die Portnummer für die Looker-Seite des SSH-Tunnels.

Gehen Sie dann auf der Seite Verbindungseinstellungen Ihrer Datenbank so vor:

  1. Geben Sie localhost in das Feld Remote Host (Remote-Host) ein.
  2. Geben Sie im Feld Port die Portnummer für die Looker-Seite des SSH-Tunnels ein, die Sie von Ihrem Looker-Analysten erhalten haben.
  3. Deaktivieren Sie auf der Seite Verbindungen Ihrer Datenbank die Option SSL-Zertifikat verifizieren.

    SSL-Zertifikate werden beim Einrichten eines SSH-Tunnels zu Ihrer Datenbank von Looker nicht unterstützt. Stattdessen bietet der SSH-Schlüssel, den Sie in Schritt 4 hinzugefügt haben, die Handshakesicherheit zwischen Looker und Ihrer Datenbank.