Utiliser un tunnel SSH

Pour bénéficier du chiffrement le plus efficace entre Looker et votre base de données, vous pouvez créer un tunnel SSH vers un serveur de tunnel ou vers le serveur de base de données lui-même.

Étape 1 : Choisir l'hôte sur lequel mettre fin au tunnel

La première étape de la configuration de l'accès du tunnel SSH pour votre base de données consiste à choisir l'hôte qui sera utilisé pour mettre fin au tunnel. Le tunnel peut être arrêté sur l'hôte de la base de données lui-même ou sur un hôte distinct (le serveur du tunnel).

Utiliser le serveur de base de données

Lorsque vous n'utilisez pas de serveur tunnel, Looker se connecte directement à votre serveur de base de données via un tunnel SSH sur l'Internet public. La suppression sur la base de données présente l'avantage d'être simple. Comme il y a moins d'hôtes impliqués, il n'y a pas de machines supplémentaires ni leurs coûts associés. Cette option n'est peut-être pas réalisable si votre serveur de base de données se trouve sur un réseau protégé sans accès direct via Internet.

Utiliser un serveur tunnel

Lorsque vous utilisez un serveur tunnel, Looker se connecte à votre serveur de base de données via un serveur tunnel distinct sur un réseau restreint. La suppression du tunnel sur un serveur distinct présente l'avantage de rendre votre serveur de base de données inaccessible depuis Internet. Si le serveur de tunnel est compromis, il est à une étape du serveur de base de données. Nous vous recommandons de supprimer tous les logiciels et utilisateurs non essentiels du serveur de tunnel, et de le surveiller de près à l'aide d'outils tels qu'un système de détection d'intrusion (IDS).

Le serveur du tunnel peut être un hôte Unix ou Linux qui :

  1. Est accessible sur Internet via SSH
  2. Peut accéder à la base de données

Étape 2 : Créez une liste d'autorisation d'adresses IP

La deuxième étape consiste à autoriser le trafic réseau à atteindre le serveur du tunnel ou l'hôte de la base de données via SSH, généralement sur le port TCP 22.

Autorisez le trafic réseau provenant de chacune des adresses IP listées ici pour la région où votre instance Looker est hébergée. Par défaut, il s'agit des États-Unis.

Instances hébergées sur Google Cloud

Les instances hébergées par Looker sont hébergées sur Google Cloud par défaut. En ce qui concerne les instances hébergées sur Google Cloud, ajoutez les adresses IP qui correspondent à votre région à la liste blanche.

Cliquez ici pour obtenir la liste complète des adresses IP des instances hébergées sur Google Cloud

Moncks Corner, Caroline du Sud, États-Unis (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, Virginie du Nord, États-Unis (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, États-Unis (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, États-Unis (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, Californie, États-Unis (us-west2)

  • 35.236.22.77
  • 35.235.83.177
  • 35.236.51.71

Montréal, Québec, Canada (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

Londres, Angleterre, Royaume-Uni (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

Francfort, Allemagne (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, Inde (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, Pays-Bas (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

Comté de Changhua, Taïwan (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tokyo, Japon (asia-northeast1)

  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218

Jurong West, Singapour (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, Indonésie (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

Sydney, Australie (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), Brésil (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

Instances hébergées sur Amazon Elastic Kubernetes Service (Amazon EKS)

En ce qui concerne les instances hébergées sur Amazon EKS, ajoutez les adresses IP qui correspondent à votre région à la liste blanche.

Cliquez ici pour obtenir la liste complète des adresses IP des instances hébergées sur Amazon EKS.

Est des États-Unis (Virginie du Nord) (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

Est des États-Unis (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

Ouest des États-Unis (Oregon) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Canada (Centre) (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

Europe (Irlande) (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

Europe (Francfort) (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

Asie-Pacifique (Tokyo) (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

Asie-Pacifique (Sydney) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

Amérique du Sud (São Paulo) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.71.134.208

Instances hébergées sur Microsoft Azure

En ce qui concerne les instances hébergées sur Azure, ajoutez les adresses IP qui correspondent à votre région à la liste blanche.

Cliquez ici pour obtenir la liste complète des adresses IP des instances hébergées sur Microsoft Azure.

Virginie, États-Unis (us-east2)

  • 52.147.190.201

Hébergement hérité

Utilisez ces adresses IP pour toutes les instances hébergées sur AWS et créées avant le 07/07/2020.

Cliquez ici pour obtenir la liste complète des adresses IP pour l'ancien hébergement.

États-Unis (AWS par défaut)

  • 54.208.10.167
  • 54.209.116.191
  • 52.1.5.228
  • 52.1.157.156
  • 54.83.113.5

Canada

  • 99.79.117.127
  • 35.182.216.56

Asie

  • 52.68.85.40
  • 52.68.108.109

Irlande

  • 52.16.163.151
  • 52.16.174.170

Allemagne

  • 18.196.243.94
  • 18.184.246.171

Australie

  • 52.65.128.170
  • 52.65.124.87

Amérique du Sud

  • 52.67.8.103
  • 54.233.74.59

Étape 3 : Tunnel SSH

Si l'onglet "Serveurs SSH" est activé, suivez les instructions de cette page pour ajouter les informations de configuration de votre serveur SSH dans Looker.

Sur la page Connexions de la section Admin de Looker, sélectionnez l'onglet Serveur SSH.

Sélectionnez ensuite Ajouter un serveur. Looker affiche la page Ajouter un serveur SSH :

  1. Saisissez un nom pour la configuration du serveur SSH.
  2. Sélectionnez Télécharger la clé pour télécharger la clé publique dans un fichier texte. Veillez à enregistrer ce fichier, car vous devrez ajouter plus tard la clé publique au fichier de clés autorisées de votre serveur SSH.
  3. Saisissez le nom d'utilisateur que Looker utilisera pour se connecter au serveur SSH.
  4. Saisissez l'adresse IP ou le nom d'hôte du serveur SSH.
  5. Saisissez le numéro de port utilisé pour vous connecter au serveur SSH.

Étape 4 : Préparez l'hôte du tunnel

Ajoutez la clé publique à votre fichier authorized_keys.

Pour authentifier la session de tunnel SSH, Looker nécessite une clé publique unique (Looker n'accepte pas la connexion avec un mot de passe). Si l'onglet "Serveurs SSH" est activé sur votre instance, vous pouvez télécharger la clé publique dans un fichier texte en sélectionnant le bouton Télécharger la clé lorsque vous saisissez les informations de configuration SSH. Si vous configurez votre tunnel SSH avec l'aide d'un analyste Looker, celui-ci vous fournira une clé publique unique.

Vous devrez préparer votre hôte (le serveur de base de données ou le serveur de tunnel) en créant un utilisateur looker et en ajoutant la clé publique Looker au fichier .ssh/authorized_keys Looker. Voici comment procéder :

  1. Dans votre ligne de commande, créez un groupe appelé looker :

    sudo groupadd looker
    
  2. Créez l'utilisateur looker et son répertoire personnel :

    sudo useradd -m  -g looker  looker
    
  3. Passez à l'utilisateur looker :

    sudo su - looker
    
  4. Créez le répertoire .ssh :

    mkdir ~/.ssh
    
  5. Définissez les autorisations :

    chmod 700 ~/.ssh
    
  6. Accédez au répertoire .ssh :

    cd ~/.ssh
    
  7. Créez le fichier authorized_keys :

    touch authorized_keys
    
  8. Définissez les autorisations :

    chmod 600 authorized_keys
    

À l'aide de l'éditeur de texte de votre choix, ajoutez la clé SSH fournie par votre analyste Looker au fichier authorized_keys. La clé doit tenir sur une seule ligne. Dans certains cas, lorsque vous récupérez la clé depuis votre adresse e-mail, des sauts de ligne sont insérés par votre client de messagerie. Si vous ne les supprimez pas, il sera impossible d'établir le tunnel SSH.

Ajoutez ssh-rsa à votre fichier sshd_config.

OpenSSH a désactivé ssh-rsa par défaut, ce qui peut entraîner des erreurs lors de la configuration d'un tunnel SSH. Pour résoudre ce problème, ajoutez ssh-rsa à la liste des algorithmes acceptés de votre serveur. Voici comment procéder :

  1. Modifiez votre fichier sshd_config. Il se trouve généralement à l'adresse ~/etc/ssh/sshd_config.
  2. Ajoutez le code ci-dessous à votre fichier sshd_config :

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Remarques sur la sécurité des tunnels

Lorsqu'un tunnel SSH est arrêté sur le serveur de base de données, la connexion depuis Looker apparaît comme une connexion locale sur le serveur de base de données. Par conséquent, il déjoue les mécanismes de sécurité basés sur la connexion intégrés aux plates-formes de base de données telles que MySQL. Par exemple, il est très courant que l'accès local soit accordé à l'utilisateur root sans mot de passe.

Par défaut, l'ouverture de l'accès SSH permet également le transfert de n'importe quel port, ce qui contourne tous les pare-feu entre Looker et l'hôte de base de données qui met fin au tunnel SSH. Ce risque de sécurité peut être considéré comme inacceptable. Ce transfert de port et la possibilité de se connecter à votre serveur de tunnel peuvent être contrôlés en configurant correctement l'entrée .ssh/authorized_keys pour la clé publique Looker.

Par exemple, le texte suivant peut être ajouté au début de la clé SSH Looker dans votre fichier authorized_keys. Notez que ce texte DOIT être personnalisé pour votre environnement.

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

Pour obtenir des exemples et des informations détaillées, consultez la documentation Linux sur man ssh et man authorized_keys.

Étapes suivantes

Si l'onglet "Serveurs SSH" est activé sur votre instance, revenez à la page "Ajouter un serveur SSH", puis sélectionnez Tester et demander l'empreinte pour vérifier votre connexion au serveur SSH. Looker affiche un écran avec la nouvelle configuration SSH et des options permettant de télécharger ou d'afficher la clé publique, ainsi que d'afficher l'empreinte unique de la configuration du serveur SSH.

Ensuite, sur la page Paramètres de connexion de votre base de données :

  1. Activez l'option Serveur SSH et sélectionnez la configuration de votre serveur SSH dans la liste déroulante.
  2. Dans les champs Hôte distant et Port, saisissez l'adresse IP ou le nom d'hôte, ainsi que le numéro de port de votre base de données.

Si vous configurez votre tunnel SSH avec l'aide d'un analyste Looker, prévenez-le lorsque vous êtes prêt à le tester. Une fois qu'il aura confirmé que le tunnel est établi, il vous fournira le numéro de port pour le côté Looker du tunnel SSH.

Ensuite, sur la page Paramètres de connexion de votre base de données :

  1. Saisissez localhost dans le champ Hôte distant.
  2. Dans le champ Port, saisissez le numéro de port du côté Looker du tunnel SSH fourni par votre analyste Looker.
  3. Désactivez l'option Vérifier le certificat SSL sur la page Connexions de votre base de données.

    Les certificats SSL ne sont pas compatibles avec la configuration d'un tunnel SSH vers votre base de données depuis Looker. En revanche, la clé SSH que vous avez ajoutée à l'étape 4 assure la sécurité de l'établissement de la connexion entre Looker et votre base de données.