Usar un túnel SSH

Para conseguir el cifrado más seguro entre Looker y tu base de datos, puedes crear un túnel SSH a un servidor de túnel o al propio servidor de la base de datos.

Paso 1: Elige un host en el que finalizar el túnel

El primer paso para configurar el acceso al túnel SSH de tu base de datos es elegir el host que se usará para finalizar el túnel. El túnel se puede cerrar en el propio host de la base de datos o en un host independiente (el servidor del túnel).

Usar el servidor de la base de datos

Si no usas un servidor de túnel, Looker se conecta directamente a tu servidor de base de datos a través de un túnel SSH en Internet público. La finalización en la base de datos tiene la ventaja de la simplicidad. Se necesita un host menos, por lo que no hay máquinas adicionales ni costes asociados. Puede que esta opción no sea viable si el servidor de tu base de datos está en una red protegida que no tiene acceso directo a Internet.

Usar un servidor de túnel

Cuando usas un servidor de túnel, Looker se conecta a tu servidor de base de datos a través de un servidor de túnel independiente en una red restringida. Finalizar el túnel en un servidor independiente tiene la ventaja de que el servidor de la base de datos no es accesible desde Internet. Si el servidor del túnel se ve comprometido, se encuentra a un paso del servidor de la base de datos. Te recomendamos que elimines todo el software y los usuarios no esenciales del servidor de túnel y que lo monitorices de cerca con herramientas como un IDS.

El servidor de túnel puede ser cualquier host Unix o Linux que cumpla los siguientes requisitos:

  1. Se puede acceder desde Internet mediante SSH
  2. Puede acceder a la base de datos

Paso 2: Crea una lista de IPs permitidas

El segundo paso es permitir que el tráfico de red llegue al servidor del túnel o al host de la base de datos a través de SSH, que suele usar el puerto TCP 22.

Permite el tráfico de red de cada una de las direcciones IP que se indican aquí para la región en la que se aloja tu instancia de Looker. De forma predeterminada, será Estados Unidos.

Instancias alojadas en Google Cloud

Las instancias alojadas en Looker se alojan en Google Cloud de forma predeterminada. En las instancias alojadas en Google Cloud, añade a la lista de permitidos las direcciones IP que coincidan con tu región.

Haga clic aquí para ver una lista completa de las direcciones IP de las instancias alojadas en Google Cloud.

Moncks Corner (Carolina del Sur, EE. UU.) (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 (Norte de Virginia, EE. UU.) (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, EE. UU.) (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 (Oregón, EE. UU.) (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 Ángeles (California, EE. UU.) (us-west2)

  • 35.236.22.77
  • 35.235.83.177
  • 35.236.51.71

Montreal (Quebec, Canadá) (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 (Inglaterra, Reino Unido) (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

Fráncfort (Alemania) (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

Bombay (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 (Países Bajos) (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

Condado de Changhua (Taiwán) (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tokio (Japón) (asia-northeast1)

  • 34.85.3.198
  • 34.146.68.203
  • 34.84.4.218

Jurong West (Singapur) (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

Yakarta (Indonesia) (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

Sídney, 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 (São Paulo, Brasil) (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

Instancias alojadas en Amazon Elastic Kubernetes Service (Amazon EKS)

En el caso de las instancias alojadas en Amazon EKS, añade a la lista de permitidos las direcciones IP que coincidan con tu región.

Haga clic aquí para ver una lista completa de las direcciones IP de las instancias alojadas en Amazon EKS

Este de EE. UU. (Norte (Norte de Virginia) (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

Este de EE. UU. (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

Oeste de EE. UU. (Oregón) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Canadá (centro) (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 (Fráncfort) (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-Pacífico (Tokio) (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-Pacífico (Sídney) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

Sudamérica (São Paulo) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.71.134.208

Instancias alojadas en Microsoft Azure

En el caso de las instancias alojadas en Azure, añade a la lista de permitidas las direcciones IP que coincidan con tu región.

Haga clic aquí para ver una lista completa de las direcciones IP de las instancias alojadas en Microsoft Azure

Virginia (EE. UU.) (us-east2)

  • 52.147.190.201

Alojamiento antiguo

Usa estas direcciones IP en todas las instancias alojadas en AWS y creadas antes del 7 de julio del 2020.

Haga clic aquí para ver una lista completa de direcciones IP para el alojamiento antiguo

Estados Unidos (predeterminado de AWS)

  • 54.208.10.167
  • 54.209.116.191
  • 52.1.5.228
  • 52.1.157.156
  • 54.83.113.5

Canadá

  • 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

Alemania

  • 18.196.243.94
  • 18.184.246.171

Australia

  • 52.65.128.170
  • 52.65.124.87

Sudamérica

  • 52.67.8.103
  • 54.233.74.59

Paso 3: Túnel SSH

Si la pestaña Servidores SSH está habilitada, sigue las instrucciones de esta página para añadir la información de configuración de tu servidor SSH a Looker.

.

En la página Conexiones de la sección Administrador de Looker, selecciona la pestaña Servidor SSH.

A continuación, selecciona Añadir servidor. Looker muestra la página Añadir servidor SSH:

  1. Introduce un nombre para la configuración del servidor SSH.
  2. Selecciona Descargar clave para descargar la clave pública en un archivo de texto. Asegúrate de guardar este archivo, ya que tendrás que añadir la clave pública al archivo de claves autorizadas de tu servidor SSH más adelante.
  3. Introduce el nombre de usuario que Looker usará para conectarse al servidor SSH.
  4. Introduce la dirección IP o el nombre de host del servidor SSH.
  5. Introduce el número de puerto que se usa para conectarse al servidor SSH.

Paso 4: Prepara el host del túnel

Añade la clave pública al archivo authorized_keys

Para autenticar la sesión del túnel SSH, Looker requiere una clave pública única (Looker no admite el inicio de sesión con una contraseña). Si la pestaña Servidores SSH está habilitada en tu instancia, puedes descargar la clave pública en un archivo de texto seleccionando el botón Descargar clave cuando introduzcas la información de configuración de SSH. Si estás configurando tu túnel SSH con la ayuda de un analista de Looker, este te proporcionará una clave pública única.

Deberá preparar su host (el servidor de la base de datos o el servidor del túnel) creando un usuario looker y añadiendo la clave pública de Looker al archivo .ssh/authorized_keys de Looker. Pues es posible, y te indicamos cómo:

  1. En la línea de comandos, crea un grupo llamado looker:

    sudo groupadd looker
    
  2. Crea el usuario looker y su directorio principal:

    sudo useradd -m  -g looker  looker
    
  3. Cambia al usuario looker:

    sudo su - looker
    
  4. Crea el directorio .ssh:

    mkdir ~/.ssh
    
  5. Define los permisos:

    chmod 700 ~/.ssh
    
  6. Cambia al directorio .ssh:

    cd ~/.ssh
    
  7. Crea el archivo authorized_keys:

    touch authorized_keys
    
  8. Define los permisos:

    chmod 600 authorized_keys
    

Con tu editor de texto favorito, añade la clave SSH que te haya proporcionado tu analista de Looker al archivo authorized_keys. La clave debe estar en una sola línea. En algunos casos, cuando recuperes la clave de tu correo, el cliente de correo insertará saltos de línea. Si no los eliminas, no podrás establecer el túnel SSH.

Añade ssh-rsa a tu archivo sshd_config

OpenSSH ha inhabilitado ssh-rsa de forma predeterminada, lo que puede provocar errores al configurar un túnel SSH. Para solucionar este problema, añade ssh-rsa a la lista de algoritmos aceptados de tu servidor. Pues es posible, y te indicamos cómo:

  1. Edita tu archivo sshd_config. Normalmente, se encuentra en ~/etc/ssh/sshd_config.
  2. Añade lo siguiente a tu archivo sshd_config:

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Notas sobre la seguridad de los túneles

Cuando se cierra un túnel SSH en el servidor de la base de datos, la conexión de Looker parece ser una conexión local en el servidor de la base de datos. Por lo tanto, no se pueden usar los mecanismos de seguridad basados en conexiones integrados en plataformas de bases de datos como MySQL. Por ejemplo, es muy habitual que se conceda acceso local al usuario root sin contraseña.

De forma predeterminada, al abrir el acceso SSH también se permite el reenvío de cualquier puerto, lo que evita los firewalls entre Looker y el host de la base de datos que termina el túnel SSH. Este riesgo de seguridad puede considerarse inaceptable. El reenvío de puertos y la posibilidad de iniciar sesión en tu servidor de túnel se pueden controlar configurando correctamente la entrada .ssh/authorized_keys de la clave pública de Looker.

Por ejemplo, el siguiente texto se podría añadir antes de la clave SSH de Looker en el archivo authorized_keys. Ten en cuenta que este texto DEBE personalizarse para tu entorno.

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

Consulta la documentación de man ssh y man authorized_keys de Linux para ver ejemplos y todos los detalles.

Pasos siguientes

Si la pestaña Servidores SSH está habilitada en tu instancia, vuelve a la página Añadir servidor SSH y selecciona Probar y solicitar huella digital para verificar tu conexión con el servidor SSH. Looker mostrará una pantalla con la nueva configuración de SSH y opciones para descargar o ver la clave pública, así como para ver la huella digital única de la configuración del servidor SSH.

A continuación, en la página Configuración de la conexión de la base de datos, haga lo siguiente:

  1. Activa el interruptor Servidor SSH y selecciona la configuración del servidor SSH en la lista desplegable.
  2. En los campos Host remoto y Puerto, introduce la dirección IP o el nombre de host y el número de puerto de tu base de datos.

Si estás configurando el túnel SSH con la ayuda de un analista de Looker, avísale cuando estés listo para probarlo. Una vez que confirmen que el túnel se ha establecido, te proporcionarán el número de puerto del lado de Looker del túnel SSH.

A continuación, en la página Configuración de la conexión de la base de datos, haga lo siguiente:

  1. Introduce localhost en el campo Host remoto.
  2. En el campo Puerto, introduce el número de puerto del lado de Looker del túnel SSH que te haya proporcionado tu analista de Looker.
  3. Desactiva Verificar certificado SSL en la página Conexiones de tu base de datos.

    No se admiten certificados SSL al configurar un túnel SSH a tu base de datos desde Looker. En su lugar, la clave SSH que has añadido en el paso 4 proporciona la seguridad de la negociación entre Looker y tu base de datos.