SSH-Tunnel verwenden

Die stärkste Verschlüsselung zwischen Looker und Ihrer Datenbank erhalten Sie, wenn 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 zu Ihrem Datenbankserver her. Das Beenden auf der Datenbank bietet den Vorteil der Einfachheit. Es ist ein Host weniger beteiligt, sodass keine zusätzlichen Maschinen und die damit verbundenen Kosten anfallen. 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. Die Beendigung des Tunnels auf einem separaten Server hat den Vorteil, dass Ihr Datenbankserver über das Internet nicht erreichbar ist. Wenn der Tunnelserver manipuliert wurde, wird er nur einmal vom Datenbankserver entfernt. Wir empfehlen Ihnen, jegliche unwichtige 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 möglich
  2. Kann auf die Datenbank zugreifen

Schritt 2: IP-Zulassungsliste erstellen

Im zweiten Schritt müssen Sie zulassen, dass der Netzwerkverkehr den Tunnelserver oder Datenbankhost über SSH erreicht, das sich in der Regel über den TCP-Port 22 befindet.

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

In Google Cloud gehostete Instanzen

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

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

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, Northern 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

Montreal, 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.

Klicken Sie hier, um eine vollständige Liste der IP-Adressen für Instanzen zu sehen, 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

USA (Osten) (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

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 klicken, um eine vollständige Liste der IP-Adressen für Instanzen zu sehen, 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 Legacy-Hosting zu sehen

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 Konfigurationsinformationen Ihres SSH-Servers in Looker hinzuzufügen.

Die Option SSH-Server ist verfügbar, wenn die Instanz in einer Kubernetes-Infrastruktur bereitgestellt wird und wenn die Möglichkeit zum Hinzufügen von Konfigurationsinformationen zum SSH-Server zu Ihrer Looker-Instanz aktiviert wurde. 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 im Bereich Admin auf der Seite Verbindungen 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 als Textdatei herunterzuladen. Speichere diese Datei unbedingt, da du den öffentlichen Schlüssel später zur autorisierten Schlüsseldatei deines SSH-Servers hinzufügen musst.
  3. Geben Sie den Nutzernamen ein, den Looker für die Verbindung mit dem SSH-Server verwendet.
  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

Öffentlichen Schlüssel zur Datei authorized_keys hinzufügen

Zum Authentifizieren der SSH-Tunnelsitzung benötigt Looker einen eindeutigen öffentlichen Schlüssel. Looker unterstützt keine Anmeldung mit einem Passwort. Wenn der Tab SSH-Server in Ihrer Instanz aktiviert ist, können Sie den öffentlichen Schlüssel in eine Textdatei herunterladen. Dazu wählen Sie bei der Eingabe der SSH-Konfigurationsinformationen die Schaltfläche Schlüssel herunterladen aus. Wenn Sie Ihren SSH-Tunnel mit der Unterstützung eines Looker-Analysten konfigurieren, erhalten Sie von diesem einen eindeutigen öffentlichen Schlüssel.

Sie müssen Ihren Host (entweder den Datenbank- oder Tunnelserver) vorbereiten. Dazu erstellen Sie einen looker-Nutzer und fügen den öffentlichen Looker-Schlüssel in die Looker-Datei .ssh/authorized_keys ein. 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 der Datei authorized_keys mit einem Texteditor den von Ihrem Looker-Analysten bereitgestellten SSH-Schlüssel hinzu. Der Schlüssel muss sich komplett in einer Zeile befinden. In einigen Fällen werden vom E-Mail-Client Zeilenumbrüche eingefügt, wenn Sie den Schlüssel aus der E-Mail abrufen. Wenn Sie sie nicht entfernen, kann kein SSH-Tunnel eingerichtet werden.

ssh-rsa zur Datei sshd_config hinzufügen

OpenSSH hat ssh-rsa standardmäßig deaktiviert, was bei der Einrichtung eines SSH-Tunnels zu Fehlern führen kann. Du kannst dieses Problem beheben, indem du ssh-rsa der Liste der akzeptierten Algorithmen deines Servers hinzufügst. 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 über eine lokale Verbindung auf dem Datenbankserver zu bestehen. Daher unterbindet es die verbindungsbasierten Sicherheitsmechanismen, die in Datenbankplattformen wie MySQL integriert sind. Zum Beispiel wird dem root-Nutzer in der Regel lokaler Zugriff ohne Passwort gewährt.

Standardmäßig lässt das Öffnen des SSH-Zugriffs auch die Weiterleitung aller Ports zu. So werden alle Firewalls zwischen Looker und dem Datenbankhost, der den SSH-Tunnel beendet, umgangen. Dieses Sicherheitsrisiko kann durchaus als inakzeptabel erachtet werden. Diese Portweiterleitung und die Möglichkeit zur Anmeldung bei Ihrem Tunnelserver können durch eine ordnungsgemäße Konfiguration des .ssh/authorized_keys-Eintrags für den öffentlichen Looker-Schlüssel gesteuert werden.

Der folgende Text könnte beispielsweise dem Looker-SSH-Schlüssel in der Datei authorized_keys vorangestellt werden. Beachten Sie, dass dieser Text an Ihre Umgebung angepasst werden MUSS.

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 Testen und Fingerabdruck anfordern, um die Verbindung zum SSH-Server zu überprüfen. Looker zeigt einen Bildschirm mit der neuen SSH-Konfiguration und Optionen zum Herunterladen oder Anzeigen des öffentlichen Schlüssels und zum Anzeigen des eindeutigen Fingerabdrucks der SSH-Serverkonfiguration an.

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

  1. Aktiviere die Ein/Aus-Schaltfläche SSH-Server und wähle deine SSH-Serverkonfiguration aus der Drop-down-Liste 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, benachrichtigen Sie Ihren Looker-Analyst, dass Sie zum Testen des SSH-Tunnels bereit sind. Sobald dieser bestätigt, 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 (Remote-Host) localhost ein.
  2. Geben Sie im Feld Port die von Ihrem Looker-Analysten bereitgestellte Portnummer für die Looker-Seite des SSH-Tunnels ein.
  3. Deaktivieren Sie auf der Seite Verbindungen der Datenbank die Option SSL-Zertifikat bestätigen.

    SSL-Zertifikate werden beim Einrichten eines SSH-Tunnels von Looker zu Ihrer Datenbank 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.