SSH-Tunnel verwenden

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

SSH-Tunnel sind für Datenbanken, die keine einzelne Hostadresse enthalten, nicht verfügbar, z. B. Google BigQuery- und Amazon Athena-Datenbanken. BigQuery- und Athena-Nutzer sollten direkt mit der Datenbankkonfiguration fortfahren.

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

Wenn Sie keinen Tunnelserver verwenden, stellt Looker über einen SSH-Tunnel über das öffentliche Internet eine direkte Verbindung zu Ihrem Datenbankserver her. Der Abschluss der Datenbank ist einfach. Es ist ein weniger Host beteiligt, sodass keine zusätzlichen Maschinen anfallen und die entsprechenden Kosten anfallen. Diese Option ist möglicherweise nicht möglich, wenn sich Ihr Datenbankserver in einem geschützten Netzwerk ohne direkten Zugriff aus dem Internet befindet.

Tunnelserver verwenden

Wenn Sie einen Tunnelserver verwenden, stellt Looker über einen separaten Tunnelserver in einem eingeschränkten Netzwerk eine Verbindung zu Ihrem Datenbankserver her. Das Beenden des Tunnels auf einem separaten Server hat den Vorteil, dass der Datenbankserver nicht über das Internet zugänglich ist. Wenn er gehackt wurde, wird dieser Schritt nur vom Datenbankserver entfernt. Wir empfehlen Ihnen, alle nicht unbedingt notwendige Software und Nutzer vom Tunnelserver zu entfernen und sie mit Tools wie einem IDS genau zu überwachen.

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

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

Schritt 2: IP-Zulassungsliste erstellen

Der zweite Schritt besteht darin, zu erlauben, dass der Netzwerk-Traffic den Tunnelserver oder Datenbankhost über SSH erreicht, der sich normalerweise auf TCP-Port 22 befindet.

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

In Google Cloud gehostete Instanzen

Von Looker gehostete Instanzen werden standardmäßig in Google Cloud gehostet. Fügen Sie für Instanzen, die in Google Cloud gehostet werden, die IP-Adressen aus Ihrer Region auf die Zulassungsliste.

Klicken Sie hier, um eine vollständige Liste der IP-Adressen für Instanzen aufzurufen, die in Google Cloud gehostet werden

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
  • 34.145.147.146
  • 35.245.20.16
  • 34.145.139.22
  • 34.150.217.20
  • 35.199.35.176
  • 35.245.72.35
  • 35.236.220.225
  • 34.150.180.94
  • 34.85.187.175

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
  • 34.172.2.227
  • 34.71.191.210
  • 34.173.109.50

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
  • 34.105.127.122
  • 35.233.191.84
  • 34.145.93.130

Los Angeles, Kalifornien, USA (us-west2)

  • 35.236.22.77
  • 35.235.83.177
  • 35.236.51.71

Montréal, Québec, Kanada (northamerica-northeast1)

  • 35.234.253.103
  • 35.203.46.255
  • 34.152.60.210
  • 35.234.252.150
  • 35.203.0.6
  • 35.203.96.235

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
  • 34.105.176.209
  • 35.189.95.167
  • 34.89.55.2
  • 35.197.199.20
  • 35.242.174.158
  • 34.89.3.120

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
  • 34.89.159.138
  • 34.159.253.103
  • 34.159.244.43

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
  • 35.204.176.29
  • 34.90.199.95
  • 34.90.145.226

Landkreis Changhua, Taiwan (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tokio, Japan (asia-northeast1)

  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218
  • 35.200.82.72
  • 34.84.163.27
  • 34.85.31.212

Jurong West, Singapur (asia-southeast1)

  • 34.143.210.116
  • 34.143.132.206
  • 34.87.134.202
  • 35.197.143.5
  • 35.247.186.68
  • 34.142.215.26
  • 35.198.246.81

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
  • 35.189.13.29
  • 35.189.9.81
  • 35.244.68.217

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

  • 34.151.199.201
  • 35.199.122.19
  • 34.95.180.122
  • 34.95.168.38
  • 34.151.235.241
  • 34.95.181.19

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.

Klicken Sie hier, um eine vollständige Liste der IP-Adressen für Instanzen aufzurufen, die auf Amazon EKS gehostet werden.

US East (N. Virginia (us-east-1)

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

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

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

US-West (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
  • 54.75.200.188
  • 34.248.52.4
  • 54.228.110.32
  • 34.248.104.98
  • 54.216.117.225
  • 52.50.172.40

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

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.

Klicken Sie hier, um eine vollständige Liste der IP-Adressen für Instanzen aufzurufen, die auf Microsoft Azure gehostet werden.

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.

Klicken Sie hier, um eine vollständige Liste der IP-Adressen für das Legacy-Hosting aufzurufen.

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 SSH-Serverkonfigurationsinformationen in Looker hinzuzufügen.

Die Option SSH-Server ist verfügbar, wenn die Instanz in der Kubernetes-Infrastruktur bereitgestellt wird und nur die Möglichkeit, SSH-Serverkonfigurationsinformationen zu Ihrer Looker-Instanz hinzuzufügen, aktiviert hat. Wenn diese Option für Ihre Looker-Instanz nicht aktiviert ist und Sie sie aktivieren möchten, wenden Sie sich an einen Google Cloud-Vertriebsexperten oder öffnen Sie eine Supportanfrage.

Wählen Sie in Looker auf der Seite Verbindungen im Abschnitt Admin den Tab SSH Server aus.

Wählen Sie dann Server hinzufügen aus. Looker zeigt die Seite SSH-Server hinzufügen an:

  1. Geben Sie einen Namen für die SSH-Serverkonfiguration ein.
  2. Wählen Sie Schlüssel herunterladen aus, um den öffentlichen Schlüssel als Textdatei herunterzuladen. Speichern Sie die Datei. Sie müssen den öffentlichen Schlüssel später der autorisierten Schlüsseldatei Ihres SSH-Servers hinzufügen.
  3. Geben Sie den Nutzernamen ein, den Looker für die Verbindung mit dem SSH-Server verwenden soll.
  4. Geben Sie die IP-Adresse oder den Hostnamen des SSH-Servers ein.
  5. Geben Sie die Portnummer ein, die zum Herstellen einer Verbindung zum SSH-Server verwendet wird.

Schritt 4: Tunnel-Host vorbereiten

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

Für die Authentifizierung des SSH-Tunnels ist in Looker ein eindeutiger öffentlicher Schlüssel erforderlich. Looker unterstützt die Anmeldung mit einem Passwort nicht. Wenn der Tab SSH-Server auf Ihrer Instanz aktiviert ist, können Sie den öffentlichen Schlüssel als Textdatei herunterladen. Wählen Sie dazu bei der Eingabe der SSH-Konfigurationsinformationen die Schaltfläche Schlüssel herunterladen aus. Wenn Sie Ihren SSH-Tunnel mithilfe eines Looker-Analysten konfigurieren, erhalten Sie von Ihrem Looker-Analyst einen eindeutigen öffentlichen Schlüssel.

Sie müssen Ihren Host (entweder den Datenbankserver oder den Tunnelserver) vorbereiten, indem Sie einen looker-Nutzer erstellen und den öffentlichen Looker-Schlüssel zur Looker-Datei .ssh/authorized_keys hinzufü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 alle in einer Zeile stehen. Wenn Sie den Schlüssel aus Ihrer E-Mail abrufen, werden in einigen Fällen Zeilenumbrüche vom E-Mail-Client eingefügt. Wenn Sie sie nicht entfernen, kann der SSH-Tunnel nicht erstellt werden.

ssh-rsa zu Ihrer sshd_config-Datei hinzufügen

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

  1. Bearbeiten Sie die Datei sshd_config. Diese findest du 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 abgewehrt, die in Datenbankplattformen wie MySQL integriert sind. So wird beispielsweise dem root-Nutzer sehr häufig lokaler Zugriff ohne Passwort gewährt.

Wenn Sie den SSH-Zugriff öffnen, werden standardmäßig auch beliebige Ports weitergeleitet, wodurch alle Firewalls zwischen Looker und dem Datenbankhost umgangen werden, die den SSH-Tunnel beenden. Dieses Sicherheitsrisiko kann als inakzeptabel betrachtet werden. Diese Portweiterleitung und die Möglichkeit, sich bei Ihrem Tunnelserver anzumelden, können über den richtigen .ssh/authorized_keys-Eintrag für den öffentlichen Looker-Schlüssel gesteuert werden.

Beispielsweise kann dem Looker-SSH-Schlüssel in der Datei authorized_keys der folgende Text vorangestellt werden. HINWEIS: 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 für 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. Wählen Sie dort Test & Fingerabdruck anfordern aus, um die Verbindung zum SSH-Server zu verifizieren. 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 die Felder Remote Host (Remote-Host) und Port die IP-Adresse oder den Hostnamen und die Portnummer Ihrer Datenbank ein.

Bei Datenbankverbindungen mit einem SSH-Tunnel kann kein Nutzerattribut auf die Felder Remote-Host und Port angewendet werden.

Wenn Sie Ihren SSH-Tunnel mithilfe eines Looker-Analysten konfigurieren, informieren Sie Ihren Looker-Analyst darüber, dass Sie den SSH-Tunnel testen können. Sobald sie bestätigt haben, 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 in das Feld Remote Host localhost ein.
  2. Geben Sie in das Feld Port die Portnummer für die Looker-Seite des SSH-Tunnels ein, die Sie von Ihrem Looker-Analyst erhalten haben.
  3. Deaktivieren Sie auf der Seite Verbindungen Ihrer Datenbank die Option SSL-Zertifikat prüfen.

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