Utilizzo di un tunnel SSH

Per la crittografia più efficace tra Looker e il tuo database, puoi creare un tunnel SSH a un server del tunnel o al server di database stesso.

I tunnel SSH non sono disponibili per i database che non dispongono di un singolo indirizzo host, 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 su cui terminare il tunnel

Il primo passaggio per configurare l'accesso al tunnel SSH per il tuo database consiste nel scegliere l'host che verrà utilizzato per terminare il 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 sul database offre il vantaggio della semplicità. Poiché è utilizzato un host in meno, non ci sono macchine aggiuntive e i relativi costi. Questa opzione potrebbe non essere fattibile se il server del database si trova su una rete protetta che non ha accesso diretto da Internet.

Utilizzo di un server del tunnel

Quando utilizzi un server del tunnel, Looker si connette al server del tuo database tramite un server di tunnel separato su una rete con restrizioni. La terminazione del tunnel su un server separato presenta il vantaggio 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 tutti i software e gli utenti non essenziali dal server del tunnel e di monitorarlo attentamente con strumenti come un IDS.

Il server del tunnel può essere qualsiasi host Unix/Linux che:

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

Passaggio 2: crea la lista consentita IP

Il secondo passaggio consiste nel consentire al traffico di rete di raggiungere il server del tunnel o l'host del database tramite SSH, generalmente sulla porta TCP 22.

Consenti il traffico di rete da ciascuno degli indirizzi IP elencati qui per la regione 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 regione.

Fai clic qui per un elenco completo degli indirizzi IP per le istanze ospitate su Google Cloud

Moncks Corner, Carolina del Sud, Stati Uniti (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, Virginia del Nord, Stati Uniti (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, Stati Uniti (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, Stati Uniti (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, 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.203.0.6
  • 35.234.252.150
  • 35.203.96.235
  • 34.152.34.229
  • 34.118.131.36
  • 35.203.113.51

Londra, Inghilterra, Regno Unito (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

Francoforte, Germania (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, India (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, 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
  • 34.141.162.7
  • 35.204.56.189
  • 35.204.11.229
  • 34.34.66.131
  • 34.32.195.89
  • 34.32.173.138

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

Jurong West, Singapore (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

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
  • 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

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 regione.

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
  • 52.68.245.25
  • 3.114.138.0
  • 54.249.39.36

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 regione.

Fai clic qui per un elenco completo degli indirizzi IP per le istanze ospitate su Microsoft Azure

Virginia, Stati Uniti (us-east2)

  • 52.147.190.201

Hosting precedente

Utilizza questi indirizzi IP per tutte le istanze ospitate su AWS e create prima del 7/07/2020.

Fai clic qui per un elenco completo degli indirizzi IP per l'hosting precedente

Stati Uniti (valore predefinito 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 Server SSH è attivata, segui le istruzioni riportate in questa pagina per aggiungere le informazioni di configurazione del server SSH in Looker.

L'opzione 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 all'istanza di Looker. Se questa opzione non è abilitata sulla tua istanza Looker e vuoi abilitarla, contatta un esperto delle vendite di Google Cloud o invia una richiesta di assistenza.

Nella pagina Connessioni della sezione Amministratore di Looker, seleziona la scheda Server SSH.

Quindi, seleziona Add Server (Aggiungi server). Looker visualizza la pagina Aggiungi server SSH:

  1. Inserisci un nome per la configurazione del server SSH.
  2. Seleziona Download Key (Chiave di download) per scaricare la chiave pubblica in un file di testo. Assicurati di salvare questo file perché dovrai aggiungere la chiave pubblica al file delle chiavi autorizzate del server SSH in un secondo momento.
  3. Inserisci il nome utente che verrà utilizzato da Looker per la connessione al server SSH.
  4. Inserisci l'indirizzo IP o il nome host del server SSH.
  5. Inserisci il numero di porta utilizzato per la connessione al server SSH.

Passaggio 4: prepara l'host del tunnel

Aggiungi la chiave pubblica al 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 la scheda Server SSH è abilitata sulla tua istanza, puoi scaricare la chiave pubblica in un file di testo selezionando il pulsante Scarica chiave quando inserisci le informazioni di configurazione 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 del 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:

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

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

    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 tutta su una 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

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 tuo server. Ecco come:

  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 proveniente da Looker sembra essere 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, è molto comune che l'accesso locale venga concesso all'utente root senza password.

Per impostazione predefinita, l'apertura dell'accesso SSH consente anche di inoltrare qualsiasi porta, eludendo eventuali firewall tra Looker e l'host del database che termina il tunnel SSH. Questo rischio per la sicurezza può essere considerato inaccettabile. Questo port forwarding e 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, il testo seguente potrebbe essere anteposto 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 Linux di man ssh e man authorized_keys.

Passaggi successivi

Se la scheda Server SSH è abilitata sull'istanza, torna alla pagina Aggiungi server SSH e seleziona 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 del server SSH.

Quindi, nella pagina Impostazioni di connessione del database:

  1. Attiva l'opzione di attivazione/disattivazione SSH Server e seleziona la configurazione del server SSH dall'elenco a discesa.
  2. Nei campi Host remoto e Porta, inserisci l'indirizzo IP o il nome host e il numero di porta del tuo database.

Le connessioni al database che utilizzano un tunnel SSH non possono applicare un attributo utente ai campi Host remoto e Porta.

Se stai configurando il tunnel SSH con l'aiuto di un analista Looker, informa quest'ultimo che è tutto pronto per testare il tunnel SSH. Dopo aver confermato che il tunnel è stato creato, ti fornirà il numero di porta per il lato Looker del tunnel SSH.

Quindi, nella pagina Impostazioni di connessione del 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 fornito dall'analista Looker.
  3. 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 fornisce invece la sicurezza handshake tra Looker e il tuo database.