Pour un chiffrement optimal entre Looker et votre base de données, vous pouvez créer un tunnel SSH vers un serveur de tunnel ou le serveur de base de données lui-même.
Les tunnels SSH ne sont pas disponibles pour les bases de données n'ayant pas d'adresse hôte unique, telles que les bases de données Google BigQuery et Amazon Athena. Les utilisateurs de BigQuery et d'Athena doivent passer directement à la configuration de la base de données.
Étape 1 : Choisir l'hôte sur lequel mettre fin au tunnel
La première étape pour configurer l'accès au 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 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 de tunnel, Looker se connecte directement à votre serveur de base de données via un tunnel SSH sur l'Internet public. L'arrêt sur base de données présente l'avantage de simplifier. Il y a moins d'hôte impliqué ; il n'y a donc pas de machines supplémentaires ni de coûts associés. Cette option peut ne pas être réalisable si votre serveur de base de données se trouve sur un réseau protégé sans accès direct depuis Internet.
Utiliser un serveur de tunnel
Lorsque vous utilisez un serveur de tunnel, Looker se connecte à votre serveur de base de données via un serveur de tunnel distinct sur un réseau restreint. L'arrêt du tunnel sur un serveur distinct présente l'avantage de garder votre serveur de base de données inaccessible depuis Internet. Si la sécurité du serveur du tunnel est compromise, cette étape est supprimée du serveur de base de données. Nous vous recommandons de supprimer tous les utilisateurs et les logiciels non essentiels du serveur du tunnel, et de les surveiller de près avec des outils tels qu'un IDS.
Le serveur du tunnel peut être un hôte Unix/Linux qui :
- Accessible sur Internet via SSH
- 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, qui se trouve 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. Pour les instances hébergées sur Google Cloud, ajoutez à la liste d'autorisation les adresses IP correspondant à votre région.
Cliquez ici pour obtenir la liste complète des adresses IP pour les instances hébergées sur Google Cloud
Moncks Corner, Caroline du Sud, États-Unis (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, Virginie du Nord, États-Unis (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, États-Unis (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, États-Unis (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, 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.234.252.150
35.203.0.6
35.203.96.235
Londres, Angleterre, Royaume-Uni (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
Francfort, Allemagne (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, Inde (asia-south1
)
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
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
35.200.82.72
34.84.163.27
34.85.31.212
Jurong West, Singapour (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, 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
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 (Virginie) (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
US West (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
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 pour les 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: Tunnelisation 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.
L'option SSH Server est disponible si l'instance est déployée sur l'infrastructure Kubernetes, et uniquement si la possibilité d'ajouter des informations de configuration de serveur SSH à votre instance Looker a été activée. Si cette option n'est pas activée sur votre instance Looker et que vous souhaitez l'activer, contactez un spécialiste des ventes Google Cloud ou ouvrez une demande d'assistance.
Sur la page Connexions de la section Administration de Looker, sélectionnez l'onglet Serveur SSH.
Sélectionnez ensuite Ajouter un serveur. Looker affiche la page Ajouter un serveur SSH:
- Saisissez un nom pour la configuration du serveur SSH.
- Sélectionnez Télécharger la clé pour télécharger la clé publique dans un fichier texte. Assurez-vous d'enregistrer ce fichier, car vous devrez ajouter la clé publique au fichier de clé autorisée de votre serveur SSH ultérieurement.
- Saisissez le nom d'utilisateur que Looker utilisera pour se connecter au serveur SSH.
- Saisissez l'adresse IP ou le nom d'hôte du serveur SSH.
- Saisissez le numéro de port utilisé pour vous connecter au serveur SSH.
Étape 4: Préparez l'hôte du tunnel
Ajouter la clé publique à votre fichier authorized_keys
Pour authentifier la session du tunnel SSH, Looker requiert une clé publique unique (Looker ne permet pas de se connecter 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 vos 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 :
Dans votre ligne de commande, créez un groupe appelé
looker
:sudo groupadd looker
Créez l'utilisateur
looker
et son répertoire d'accueil:sudo useradd -m -g looker looker
Passez à l'utilisateur
looker
:sudo su - looker
Créez le répertoire
.ssh
:mkdir ~/.ssh
Définissez les autorisations:
chmod 700 ~/.ssh
Accédez au répertoire
.ssh
:cd ~/.ssh
Créez le fichier
authorized_keys
:touch authorized_keys
Définissez les autorisations:
chmod 600 authorized_keys
À l'aide de votre éditeur de texte préféré, ajoutez la clé SSH fournie par votre analyste Looker au fichier authorized_keys
. La clé doit figurer sur une seule ligne. Dans certains cas, lorsque vous récupérez la clé de votre messagerie, votre client de messagerie insère des sauts de ligne. Si vous ne les supprimez pas, vous ne pourrez pas établir de tunnel SSH.
Ajouter 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 sur votre serveur. Voici comment procéder :
- Modifiez votre fichier
sshd_config
. Il se trouve généralement dans~/etc/ssh/sshd_config
. Ajoutez le code ci-dessous à votre fichier
sshd_config
:HostKeyAlgorithms +ssh-rsa PubKeyAcceptedAlgorithms +ssh-rsa
Remarques sur la sécurité du tunnel
Lorsqu'un tunnel SSH est arrêté sur le serveur de base de données, la connexion depuis Looker semble être une connexion locale sur le serveur de base de données. Par conséquent, il contourne les mécanismes de sécurité basés sur les connexions intégrés aux plates-formes de bases de données telles que MySQL. Par exemple, il est très courant d'accorder un accès local à l'utilisateur racine sans mot de passe.
Par défaut, l'ouverture de l'accès SSH permet également le transfert de n'importe quel port, contournant ainsi les pare-feu entre Looker et l'hôte de la base de données qui met fin au tunnel SSH. Ce risque de sécurité peut être considéré comme inacceptable. Vous pouvez contrôler le transfert de port et la possibilité de se connecter au serveur de votre tunnel en configurant correctement l'entrée .ssh/authorized_keys
pour la clé publique Looker.
Par exemple, le texte suivant peut être ajouté à 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"
Consultez la documentation Linux de man ssh
et de man authorized_keys
pour obtenir des exemples et des informations détaillées.
É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 numérique pour vérifier votre connexion au serveur SSH. Looker affiche un écran présentant la nouvelle configuration SSH et les options pour télécharger ou afficher la clé publique, et pour afficher l'empreinte unique de la configuration du serveur SSH.
Sur la page Paramètres de connexion de votre base de données:
- Activez l'option Serveur SSH, puis sélectionnez la configuration de votre serveur SSH dans la liste déroulante.
- Dans les champs Hôte distant et Port, saisissez l'adresse IP ou le nom d'hôte et le numéro de port de votre base de données.
Les connexions à une base de données utilisant un tunnel SSH ne peuvent pas appliquer d'attribut utilisateur aux champs Hôte distant et Port.
Si vous configurez votre tunnel SSH avec l'aide d'un analyste Looker, informez-le que vous êtes prêt à tester le tunnel SSH. Après avoir confirmé que le tunnel a bien été créé, il vous fournira le numéro de port correspondant au côté Looker du tunnel SSH.
Sur la page Paramètres de connexion de votre base de données:
- Saisissez
localhost
dans le champ Hôte distant. - Dans le champ Port, saisissez le numéro de port côté tunnel Looker fourni par votre analyste Looker.
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é du handshake entre Looker et votre base de données.