Utilizzo di un tunnel SSH

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

La terminazione del database offre il vantaggio della semplicità. Poiché si utilizza un host in meno, non sono necessari sistemi aggiuntivi e si evitano i costi associati. Lo svantaggio è costituito dal fatto che il server di database potrebbe trovarsi su una rete protetta non accessibile direttamente da Internet.

Utilizzo di un server del tunnel

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. Ti consigliamo di rimuovere tutto il software e tutti gli utenti non essenziali dal server del tunnel e di monitorarlo attentamente utilizzando ad esempio un IDS.

Il server del tunnel può essere costituito da un host Unix/Linux che:

  1. È possibile accedere a Internet tramite SSH
  2. Possono accedere al database

Passaggio 2: crea la lista degli indirizzi IP consentiti

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 tutti gli indirizzi IP elencati qui per l'area geografica in cui è ospitata l'istanza di Looker. Per impostazione predefinita, sono gli Stati Uniti.

Istanze ospitate su Google Cloud

Le istanze ospitate su 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 per le istanze ospitate su 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 Ovest, 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 degli indirizzi IP per le istanze ospitate su 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 visualizzare un elenco completo di indirizzi IP per le istanze ospitate su Microsoft Azure

Virginia, Stati Uniti (us-east2)

  • 52.147.190.201

Hosting legacy

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 degli indirizzi IP per l'hosting legacy

Stati Uniti (impostazione predefinita AWS)

  • 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 riportate 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 concessa 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 il tuo account manager Looker o apri una richiesta di supporto nel Centro assistenza Looker.

Nella pagina Connections (Connessioni) della sezione Admin (Amministrazione) di Looker, fai clic sulla scheda SSH Server (Server SSH):

Quindi, fai clic su Aggiungi server. Looker visualizza la pagina Add SSH Server (Aggiungi server SSH):

  1. Inserisci un nome per la configurazione del server SSH.
  2. Fai clic su 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 autorizzato del server SSH in un secondo momento.
  3. Inserisci il nome utente che dovrà essere utilizzato da Looker per connettersi al server SSH.
  4. Inserisci l'indirizzo IP o il nome host del server SSH.
  5. 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 tramite password). Se nella tua istanza è abilitata la scheda Server SSH, puoi scaricare la chiave pubblica in un file di testo, facendo clic sul 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 il tuo 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:

  1. Nella riga di comando, crea un gruppo denominato looker:

    sudo groupadd looker
    
  2. Crea l'utente looker e la relativa directory home:

    sudo useradd -m  -g looker  looker
    
  3. Passa all'utente looker:

    sudo su - looker
    
  4. Crea la directory .ssh:

    mkdir ~/.ssh
    
  5. Imposta le autorizzazioni:

    chmod 700 ~/.ssh
    
  6. Passa alla directory .ssh:

    cd ~/.ssh
    
  7. Crea il file authorized_keys:

    touch authorized_keys
    
  8. Imposta le 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 essere 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 tuo file sshd_config

Per impostazione predefinita, OpenSSH ha disabilitato ssh-rsa, il che può causare errori durante la configurazione di un tunnel SSH. Per risolvere questo problema, aggiungi ssh-rsa all'elenco degli algoritmi accettati del tuo server. Ecco come fare:

  1. Modifica il file sshd_config. In genere si trova all'indirizzo ~/etc/ssh/sshd_config.
  2. 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 solitamente concesso 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"

Per esempi e dettagli completi, consulta la documentazione di man ssh e man authorized_keys per Linux.

Passaggi successivi

Se nella tua istanza è abilitata la scheda Server SSH, torna alla pagina Aggiungi server SSH e fai clic su Testa 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:

  1. Abilita l'opzione SSH Server (Server SSH) e seleziona la configurazione del server SSH nell'elenco a discesa.
  2. Nel campo Remote Host:Port (Host remoto: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 al campo Remote Host:Port.

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:

  1. Inserisci localhost nel campo Remote Host (Host remoto).
  2. Nel campo Port (Porta), inserisci il numero di porta per il lato Looker del tunnel SSH che ti è stato indicato dall'analista Looker.
  3. Disattiva Verifica SSL Cert 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 sicurezza handshake tra Looker e il tuo database è fornita invece dalla chiave SSH che hai aggiunto nel passaggio 4.