SSH-Tunnel verwenden

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

SSH-Tunnel sind für Datenbanken ohne einzelne Hostadresse nicht verfügbar, z. B. für 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 zum Datenbankserver her. Der Abschluss in der Datenbank hat den Vorteil der Einfachheit. Da ein Host weniger beteiligt ist, fallen keine zusätzlichen Maschinen und damit verbundene Kosten an. Diese Option ist möglicherweise nicht möglich, wenn sich Ihr Datenbankserver in einem geschützten Netzwerk befindet, das keinen direkten Zugriff über das Internet hat.

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 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 IDS genau zu überwachen.

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

  1. Kann über SSH vom Internet aus erreicht werden
  2. Kann auf die Datenbank zugreifen

Schritt 2: IP-Zulassungsliste erstellen

Der zweite Schritt 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 hier aufgeführten IP-Adressen für die Region, in der Ihre Looker-Instanz gehostet wird. Standardmäßig sind dies die Vereinigten Staaten.

Instanzen, die auf Google Cloudgehostet werden

Von Looker gehostete Instanzen werden standardmäßig auf Google Cloud gehostet. Bei auf Google Cloudgehosteten Instanzen müssen Sie die IP-Adressen für Ihre Region auf die Allowlist setzen.

Eine vollständige Liste der IP-Adressen für Instanzen, die auf Google Cloudgehostet werden, finden Sie hier.

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

  • 34.23.50.137
  • 35.211.210.64
  • 35.211.95.55
  • 35.185.59.100
  • 34.111.239.102
  • 35.237.174.17
  • 34.73.200.235
  • 35.237.168.216
  • 34.75.58.123
  • 35.196.30.110
  • 35.243.254.166

Ashburn, Nord Virginia, USA (us-east4)

  • 34.150.212.9
  • 34.150.174.54
  • 34.85.200.217
  • 35.221.30.177
  • 35.245.82.73
  • 34.86.214.226
  • 35.245.177.112
  • 35.245.211.109
  • 34.86.118.239
  • 34.86.136.190
  • 35.194.74.185
  • 34.86.52.188
  • 35.221.3.163
  • 35.221.62.218
  • 34.86.34.135
  • 35.236.240.168
  • 35.199.50.237
  • 34.145.252.255
  • 35.245.141.42
  • 35.245.20.16
  • 34.145.147.146
  • 34.145.139.22
  • 34.150.217.20
  • 35.199.35.176
  • 35.245.72.35
  • 34.85.187.175
  • 35.236.220.225
  • 34.150.180.94
  • 4.85.195.168
  • 34.86.126.124
  • 34.145.200.8
  • 34.85.142.95
  • 34.150.217.96
  • 35.245.140.36
  • 34.86.124.234
  • 35.194.69.239
  • 35.230.163.26
  • 35.186.187.48
  • 34.86.154.134
  • 34.85.128.250
  • 35.245.212.212
  • 35.245.74.75
  • 34.86.246.187
  • 34.86.241.216
  • 34.85.222.9
  • 34.86.171.127
  • 34.145.204.106
  • 34.150.252.169
  • 35.245.9.213

Council Bluffs, Iowa, USA (us-central1)

  • 104.154.21.231
  • 35.192.130.126
  • 35.184.100.51
  • 34.70.128.74
  • 34.69.207.176
  • 35.239.118.197
  • 34.172.2.227
  • 34.71.191.210
  • 34.173.109.50
  • 35.225.65.3
  • 34.170.192.190
  • 34.27.97.67
  • 35.184.118.155
  • 34.27.58.160
  • 34.136.4.153
  • 35.184.8.255
  • 35.222.218.140
  • 34.123.109.49
  • 34.67.240.23
  • 104.197.72.40
  • 34.72.128.33
  • 35.226.158.66
  • 34.134.4.91
  • 35.226.210.85

The Dalles, Oregon, USA (us-west1)

  • 34.127.41.199
  • 34.82.57.225
  • 35.197.66.244
  • 35.197.64.57
  • 34.82.193.215
  • 35.247.117.0
  • 35.233.222.226
  • 34.82.120.25
  • 35.247.5.99
  • 35.247.61.151
  • 35.233.249.160
  • 35.233.172.23
  • 35.247.55.33
  • 34.83.138.105
  • 35.203.184.48
  • 34.83.94.151
  • 34.145.90.83
  • 34.127.116.85
  • 35.197.35.188
  • 34.105.127.122
  • 35.233.191.84
  • 34.145.93.130
  • 35.233.178.166
  • 34.105.18.120
  • 104.199.118.14
  • 35.185.228.216
  • 34.145.16.151
  • 34.82.91.75
  • 34.82.142.245
  • 34.105.35.19
  • 34.83.231.96
  • 34.168.230.47
  • 35.247.46.214
  • 34.105.44.25
  • 35.185.196.75
  • 34.145.39.113
  • 34.168.121.44

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.203.0.6
  • 35.234.252.150
  • 35.203.96.235
  • 34.152.34.229
  • 34.118.131.36
  • 35.203.113.51

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

  • 34.105.198.151
  • 35.246.117.58
  • 34.142.123.96
  • 34.89.124.139
  • 34.89.127.51
  • 34.105.209.44
  • 35.242.138.133
  • 35.197.222.220
  • 35.189.111.173
  • 34.105.219.154
  • 34.105.181.133
  • 34.89.25.5
  • 35.246.10.206
  • 34.105.131.133
  • 34.142.77.18
  • 34.89.54.84
  • 35.189.94.105
  • 35.246.36.67
  • 35.234.140.77
  • 35.242.174.158
  • 35.197.199.20
  • 34.89.3.120
  • 34.105.156.107
  • 35.246.79.72
  • 34.105.139.38
  • 34.105.147.157
  • 34.105.195.129
  • 34.105.194.210
  • 34.142.79.123
  • 34.142.55.58
  • 34.142.85.249
  • 34.105.148.38
  • 35.246.100.66
  • 35.246.3.165
  • 34.105.176.209
  • 35.189.95.167
  • 34.89.55.2

Frankfurt, Deutschland (europe-west3)

  • 35.242.243.255
  • 34.159.247.211
  • 35.198.128.126
  • 34.159.10.59
  • 34.159.72.77
  • 34.159.224.187
  • 34.89.159.138
  • 34.159.253.103
  • 34.159.244.43
  • 35.246.162.187
  • 34.89.141.190
  • 34.159.65.106
  • 34.159.197.31
  • 34.89.194.134
  • 34.159.252.155
  • 34.141.65.216
  • 34.159.124.62
  • 35.246.130.213
  • 34.89.206.21
  • 34.89.185.201
  • 34.159.171.46
  • 35.246.217.228
  • 35.242.236.115
  • 34.159.148.253

Mumbai, Indien (asia-south1)

  • 35.200.234.34
  • 34.100.205.37
  • 34.93.225.12
  • 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
  • 34.141.162.7
  • 35.204.56.189
  • 35.204.11.229
  • 34.34.66.131
  • 34.32.195.89
  • 34.32.173.138

Bezirk 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

Jurong West, Singapur (asia-southeast1)

  • 34.143.210.116
  • 34.143.132.206
  • 34.87.134.202
  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

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
  • 35.199.91.120
  • 35.247.197.109
  • 35.199.86.48
  • 35.199.106.166
  • 35.198.1.191
  • 35.247.235.128
  • 35.247.211.2
  • 35.247.200.249
  • 34.95.177.253

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 auf Amazon EKS gehostete Instanzen

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

USA, Osten (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

USA West (Oregon) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Kanada (Zentral) (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

Asiatisch-pazifischer Raum (Tokio) (ap-northeast-1)

  • 54.250.91.57
  • 13.112.30.110
  • 54.92.76.241
  • 52.68.245.25
  • 3.114.138.0
  • 54.249.39.36

Asiatisch-pazifischer Raum (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.

Hier finden Sie eine vollständige Liste der IP-Adressen für Instanzen, 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 bisherige 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 Informationen zur SSH-Serverkonfiguration in Looker hinzuzufügen.

Die Option SSH-Server ist verfügbar, wenn die Instanz in einer Kubernetes-Infrastruktur bereitgestellt wird, und nur dann, wenn die Fähigkeit aktiviert wurde, Ihrer Looker-Instanz Informationen zur SSH-Serverkonfiguration hinzuzufügen. Wenn diese Option in Ihrer Looker-Instanz nicht aktiviert ist und Sie sie aktivieren möchten, wenden Sie sich an einen Google Cloud-Vertriebsexperten oder stellen Sie eine Supportanfrage.

Wählen Sie in Looker auf der Seite Verbindungen im Bereich Verwaltung den Tab SSH-Server aus.

Wählen Sie dann Server hinzufügen aus. In Looker wird die Seite SSH-Server hinzufügen angezeigt:

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

Schritt 4: Tunnelhost vorbereiten

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

Zum Authentifizieren der SSH-Tunnelsitzung benötigt Looker einen eindeutigen öffentlichen Schlüssel. Eine Anmeldung mit einem Passwort wird nicht unterstützt. Wenn der Tab SSH-Server in Ihrer Instanz aktiviert ist, können Sie den öffentlichen Schlüssel in eine Textdatei herunterladen. Wählen Sie dazu beim Eingeben Ihrer SSH-Konfigurationsinformationen die Schaltfläche Schlüssel herunterladen aus. Wenn Sie Ihren SSH-Tunnel mithilfe eines Looker-Analysten konfigurieren, stellt Ihnen dieser einen eindeutigen öffentlichen Schlüssel zur Verfügung.

Sie müssen Ihren Host (entweder den Datenbankserver oder den Tunnelserver) vorbereiten, indem Sie einen looker-Nutzer erstellen und der Looker-.ssh/authorized_keys-Datei den öffentlichen Looker-Schlüssel 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. Legen Sie die Berechtigungen fest:

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

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

    touch authorized_keys
    
  8. Legen Sie die Berechtigungen fest:

    chmod 600 authorized_keys
    

Fügen Sie der Datei authorized_keys mit Ihrem bevorzugten Texteditor den von Ihrem Looker-Analysten bereitgestellten SSH-Schlüssel hinzu. Der Schlüssel muss in einer Zeile stehen. Wenn Sie den Schlüssel aus Ihrer E-Mail abrufen, werden in einigen Fällen von Ihrem E-Mail-Client Zeilenumbrüche eingefügt. Wenn Sie sie nicht entfernen, kann der SSH-Tunnel nicht eingerichtet werden.

Fügen Sie ssh-rsa zu Ihrer Datei sshd_config hinzu

In OpenSSH ist ssh-rsa standardmäßig deaktiviert. Das kann bei der Einrichtung eines SSH-Tunnels zu Fehlern führen. Fügen Sie dazu den ssh-rsa der Liste der zulässigen Algorithmen Ihres Servers hinzu. So gehts:

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

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Hinweise zur Tunnelsicherheit

Wenn ein SSH-Tunnel auf dem Datenbankserver beendet wird, erscheint die Verbindung von Looker als lokale Verbindung auf dem Datenbankserver. Daher werden die verbindungsbasierten Sicherheitsmechanismen von Datenbankplattformen wie MySQL ausgehebelt. Es ist beispielsweise sehr häufig, dass dem root-Nutzer lokaler Zugriff ohne Passwort gewährt wird.

Wenn Sie den SSH-Zugriff öffnen, können standardmäßig alle Ports weitergeleitet werden. Dadurch werden alle Firewalls zwischen Looker und dem Datenbankhost umgangen, auf dem der SSH-Tunnel beendet wird. Dieses Sicherheitsrisiko wird möglicherweise als nicht akzeptabel eingestuft. Diese Portweiterleitung und die Möglichkeit, sich auf dem Tunnelserver anzumelden, können gesteuert werden, indem der Eintrag .ssh/authorized_keys für den öffentlichen Looker-Schlüssel richtig konfiguriert wird.

Der folgende Text kann beispielsweise dem Looker-SSH-Schlüssel in Ihrer authorized_keys-Datei vorangestellt werden. Dieser Text MUSS für 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 Informationen finden Sie in der Linux-Dokumentation zu man ssh und man authorized_keys.

Nächste Schritte

Wenn der Tab SSH-Server in Ihrer Instanz aktiviert ist, kehren Sie zur Seite SSH-Server hinzufügen zurück und wählen Sie Fingerabdruck testen und anfordern aus, um die Verbindung zum SSH-Server zu prüfen. In Looker wird ein Bildschirm mit der neuen SSH-Konfiguration und Optionen zum Herunterladen oder Ansehen des öffentlichen Schlüssels sowie zum Ansehen des eindeutigen Fingerabdrucks der SSH-Serverkonfiguration angezeigt.

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

  1. Aktivieren Sie die Option SSH-Server und wählen Sie in der Drop-down-Liste die SSH-Serverkonfiguration aus.
  2. Geben Sie in den Feldern Remote Host und Port die IP-Adresse oder den Hostnamen und die Portnummer Ihrer Datenbank ein.

Bei Datenbankverbindungen über einen 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 ihn, dass Sie den SSH-Tunnel testen möchten. Sobald 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 ein.
  2. Geben Sie im Feld Port die Portnummer für die Looker-Seite des SSH-Tunnels ein, die Ihnen von Ihrem Looker-Analysten mitgeteilt wurde.
  3. Deaktivieren Sie auf der Seite Verbindungen der Datenbank die Option SSL-Zertifikat prüfen.

    SSL-Zertifikate werden nicht unterstützt, wenn Sie über Looker einen SSH-Tunnel zu Ihrer Datenbank einrichten. Stattdessen sorgt der SSH-Schlüssel, den Sie in Schritt 4 hinzugefügt haben, für die Handshake-Sicherheit zwischen Looker und Ihrer Datenbank.