Per ottenere la crittografia più efficace tra Looker e il tuo database, puoi creare un tunnel SSH a un server di tunnel o al server di database stesso.
I tunnel SSH non sono disponibili per i database che non hanno un indirizzo host singolo, come i database Google BigQuery e Amazon Athena. Gli utenti di BigQuery e Athena devono passare direttamente alla configurazione del database.
Passaggio 1: scegli un host in corrispondenza del quale terminare il tunnel
Il primo passaggio per configurare un tunnel SSH per il tuo database consiste nella scelta dell'host da utilizzare come elemento finale del tunnel. Il tunnel può essere terminato sull'host del database stesso o su un host separato (il server del tunnel).
Utilizzo del server di database
Quando non utilizzi un server di tunnel, Looker si connette direttamente al server di database tramite un tunnel SSH sulla rete Internet pubblica. La terminazione del database offre il vantaggio della semplicità. Poiché è coinvolto un host in meno, non ci sono macchine aggiuntive e i relativi costi associati. Questa opzione potrebbe non essere fattibile se il server di database si trova su una rete protetta che non ha accesso diretto da Internet.
Utilizzo di un server del tunnel
Quando utilizzi un server di tunnel, Looker si connette al server di database attraverso un server di tunnel separato su una rete con restrizioni. La terminazione del tunnel su un server separato offre la possibilità di mantenere il server di database inaccessibile da Internet. Se il server del tunnel viene compromesso, può essere rimosso in un singolo passaggio dal server di database. È consigliabile rimuovere tutto il software e tutti gli utenti non essenziali dal server del tunnel e monitorarlo attentamente utilizzando ad esempio un IDS.
Il server del tunnel può essere costituito da un host Unix/Linux che sia:
- È possibile accedere a Internet utilizzando SSH
- Può accedere al database
Passaggio 2: crea la lista consentita IP
Il secondo passaggio consiste nell'autorizzare il traffico di rete a raggiungere il server del tunnel o l'host del database tramite SSH, solitamente sulla porta TCP 22.
Consenti il traffico di rete da ciascuno degli indirizzi IP elencati qui per l'area geografica in cui è ospitata l'istanza di Looker. Per impostazione predefinita, saranno gli Stati Uniti.
Istanze ospitate su Google Cloud
Le istanze ospitate da Looker sono ospitate su Google Cloud per impostazione predefinita. Per le istanze ospitate su Google Cloud, aggiungi alla lista consentita gli indirizzi IP corrispondenti alla tua area geografica.
Fai clic qui per un elenco completo di indirizzi IP ospitati in istanze Google Cloud
Moncks Corner, Carolina del Sud, Stati Uniti (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, Virginia del Nord, Stati Uniti (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, Stati Uniti (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, Stati Uniti (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, California, Stati Uniti (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
Londra, Inghilterra, Regno Unito (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
Francoforte, Germania (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, India (asia-south1
)
34.93.221.137
35.244.24.198
35.244.52.179
Eemshaven, Paesi Bassi (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
Contea di Changhua, Taiwan (asia-east1
)
104.199.206.209
34.80.173.212
35.185.137.114
Tokyo, Giappone (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, Singapore (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
Giacarta, Indonesia (asia-southeast2
)
34.101.158.88
34.101.157.238
34.101.184.52
Sydney, Australia (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 (San Paolo), Brasile (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
Istanze ospitate su Amazon Elastic Kubernetes Service (Amazon EKS)
Per le istanze ospitate su Amazon EKS, aggiungi alla lista consentita gli indirizzi IP corrispondenti alla tua area geografica.Fai clic qui per un elenco completo di indirizzi IP ospitati in Amazon EKS
Stati Uniti orientali (Virginia del 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
Stati Uniti orientali (Ohio) (us-east-2
)
3.135.171.29
18.188.208.231
3.143.85.223
Stati Uniti occidentali (Oregon) (us-west-2
)
44.237.129.32
54.184.191.250
35.81.99.30
Canada (centrale) (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 (Irlanda) (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 (Francoforte) (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
Asia Pacifico (Tokyo) (ap-northeast-1
)
54.250.91.57
13.112.30.110
54.92.76.241
Asia Pacifico (Sydney) (ap-southeast-2
)
13.238.132.174
3.105.238.71
3.105.113.36
Sud America (San Paolo) (sa-east-1
)
54.232.58.181
54.232.58.98
177.71.134.208
Istanze ospitate su Microsoft Azure
Per le istanze ospitate su Azure, aggiungi alla lista consentita gli indirizzi IP corrispondenti alla tua area geografica.Fai clic qui per un elenco completo di indirizzi IP ospitati in Microsoft Azure
Virginia, Stati Uniti (us-east2
)
52.147.190.201
Hosting precedente
Utilizza questi indirizzi IP per tutte le istanze ospitate su AWS che sono state create prima del 07/07/2020.Fai clic qui per un elenco completo di indirizzi IP per l'hosting legacy
Stati Uniti (AWS predefinito)
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
Asia
52.68.85.40
52.68.108.109
Irlanda
52.16.163.151
52.16.174.170
Germania
18.196.243.94
18.184.246.171
Australia
52.65.128.170
52.65.124.87
Sud America
52.67.8.103
54.233.74.59
Passaggio 3: tunneling SSH
Se la scheda SSH Servers (Server SSH) è abilitata, segui le istruzioni contenute in questa pagina per aggiungere a Looker le informazioni di configurazione del server SSH.
L'opzione SSH Server (Server SSH) è disponibile se è stato eseguito il deployment dell'istanza nell'infrastruttura Kubernetes e solo se è stata abilitata la possibilità di aggiungere informazioni di configurazione del server SSH alla tua istanza di Looker. Se questa opzione non è abilitata per la tua istanza di Looker e desideri abilitarla, contatta un esperto delle vendite di Google Cloud o apri una richiesta di assistenza.
Nella pagina Connections (Connessioni) nella sezione Admin (Amministrazione) di Looker, seleziona la scheda SSH Server (Server SSH).
Quindi, seleziona Aggiungi server. Looker visualizza la pagina Add SSH Server (Aggiungi server SSH):
- Inserisci un nome per la configurazione del server SSH.
- Seleziona Scarica chiave per scaricare la chiave pubblica in un file di testo. Assicurati di salvare questo file, poiché dovrai aggiungere la chiave pubblica al file della chiave autorizzata dal tuo server SSH in un secondo momento.
- Inserisci il nome utente che dovrà essere utilizzato da Looker per connettersi al server SSH.
- Inserisci l'indirizzo IP o il nome host del server SSH.
- Inserisci il numero di porta da utilizzare per la connessione al server SSH.
Passaggio 4: prepara l'host del tunnel
Aggiungi la chiave pubblica al tuo file authorized_keys
Per autenticare la sessione del tunnel SSH, Looker richiede una chiave pubblica univoca (Looker non supporta l'accesso con una password). Se nella tua istanza è abilitata la scheda Server SSH, puoi scaricare la chiave pubblica in un file di testo selezionando il pulsante Scarica chiave quando inserisci le informazioni di configurazione del tunnel SSH. Se configuri il tunnel SSH con l'aiuto di un analista Looker, quest'ultimo ti fornirà una chiave pubblica univoca.
Dovrai preparare l'host (il server di database o il server del tunnel) creando un utente looker
e aggiungendo la chiave pubblica di Looker al file .ssh/authorized_keys
di Looker. Ecco come fare:
Nella riga di comando, crea un gruppo denominato
looker
:sudo groupadd looker
Crea l'utente
looker
e la relativa directory home:sudo useradd -m -g looker looker
Passa all'utente
looker
:sudo su - looker
Crea la directory
.ssh
:mkdir ~/.ssh
Imposta autorizzazioni:
chmod 700 ~/.ssh
Passa alla directory
.ssh
:cd ~/.ssh
Crea il file
authorized_keys
:touch authorized_keys
Imposta autorizzazioni:
chmod 600 authorized_keys
Utilizzando il tuo editor di testo preferito, aggiungi al file authorized_keys
la chiave SSH fornita dall'analista Looker. La chiave deve trovarsi su una sola riga. A volte, quando si riceve la chiave tramite email, il client di posta inserisce automaticamente alcuni ritorni a capo. Se non li rimuovi, sarà impossibile stabilire il tunnel SSH.
Aggiungi ssh-rsa
al file sshd_config
OpenSSH ha disabilitato ssh-rsa per impostazione predefinita, il che può causare errori durante la configurazione di un tunnel SSH. Per risolvere il problema, aggiungi ssh-rsa
all'elenco degli algoritmi accettati del server. Ecco come fare:
- Modifica il file
sshd_config
. In genere si trova all'indirizzo~/etc/ssh/sshd_config
. Aggiungi quanto segue al tuo file
sshd_config
:HostKeyAlgorithms +ssh-rsa PubKeyAcceptedAlgorithms +ssh-rsa
Note sulla sicurezza del tunnel
Quando un tunnel SSH viene terminato sul server di database, la connessione da Looker risulta come una connessione locale sul server di database. Di conseguenza, elude i meccanismi di sicurezza basati sulla connessione integrati in alcune piattaforme di database, come MySQL. Ad esempio, all'utente root senza password viene concesso spesso l'accesso locale.
Per impostazione predefinita, l'apertura dell'accesso SSH consente anche il forwarding di qualsiasi porta, eludendo tutti i firewall tra Looker e l'host di database alla fine del tunnel SSH. Questo rischio per la sicurezza può essere considerato inaccettabile. Il port forwarding, così come la possibilità di accedere al server del tunnel, possono essere controllati configurando correttamente la voce .ssh/authorized_keys
per la chiave pubblica di Looker.
Ad esempio, è possibile anteporre il testo seguente alla chiave SSH di Looker nel file authorized_keys
. Tieni presente che questo testo DEVE essere personalizzato per il tuo ambiente.
no-pty,no-X11-forwarding,permitopen="localhost:3306",permitopen="localhost:3307",
command="/bin/echo Login Not Permitted"
Consulta la documentazione di Linux di man ssh
e man authorized_keys
per consultare esempi e dettagli completi.
Passaggi successivi
Se nella tua istanza è abilitata la scheda Server SSH, torna alla pagina Aggiungi server SSH e seleziona Prova e richiedi impronta per verificare la connessione al server SSH. Looker mostrerà una schermata con la nuova configurazione SSH e le opzioni per scaricare o visualizzare la chiave pubblica e per visualizzare l'impronta univoca della configurazione server SSH.
Quindi, nella pagina Connection Settings (Impostazioni di connessione) del tuo database:
- Attiva l'opzione SSH Server (Server SSH) e seleziona la configurazione del server SSH dall'elenco a discesa.
- Nei campi Remote Host (Host remoto) e Port (Porta), inserisci l'indirizzo IP o il nome host e il numero di porta del tuo database.
Le connessioni di database tramite un tunnel SSH non possono applicare un attributo utente ai campi Remote Host (Host remoto) e Port (Porta).
Se configuri il tunnel SSH con l'aiuto di un analista Looker, fagli sapere che è tutto pronto per testare il tunnel SSH. Quando confermerà che il tunnel è stato stabilito, ti fornirà il numero di porta per il lato Looker del tunnel SSH.
Quindi, nella pagina Connection Settings (Impostazioni di connessione) del tuo database:
- Inserisci
localhost
nel campo Remote Host (Host remoto). - Nel campo Port (Porta), inserisci il numero di porta per il lato Looker del tunnel SSH che ti è stato indicato dall'analista Looker.
Disattiva Verifica certificato SSL nella pagina Connessioni del tuo database.
I certificati SSL non sono supportati durante la configurazione di un tunnel SSH al tuo database da Looker. La chiave SSH che hai aggiunto nel passaggio 4 offre invece la sicurezza dell'handshake tra Looker e il tuo database.