Como usar um túnel SSH

Para ter a criptografia mais forte entre o Looker e o banco de dados, crie um túnel SSH para um servidor de túnel ou para o próprio servidor.

Os túneis SSH não estão disponíveis para bancos de dados que não têm um único endereço de host, como o Google BigQuery e o Amazon Athena. Os usuários do BigQuery e do Athena devem pular diretamente para a configuração do banco de dados.

Etapa 1: escolher o host em que o túnel será encerrado

A primeira etapa para configurar o acesso ao túnel SSH para seu banco de dados é escolher o host que será usado para encerrar o túnel. O túnel pode ser encerrado no host do banco de dados ou em um host separado (o servidor do túnel).

Como usar o servidor de banco de dados

Quando você não usa um servidor de túnel, o Looker se conecta diretamente ao servidor de banco de dados por meio de um túnel SSH na Internet pública. O encerramento do banco de dados tem a vantagem da simplicidade. Há menos um host envolvido, então não há máquinas adicionais e os custos associados. Essa opção talvez não seja viável se o servidor de banco de dados estiver em uma rede protegida sem acesso direto à Internet.

Como usar um servidor de túnel

Quando você usa um servidor de túnel, o Looker se conecta ao servidor de banco de dados por meio de um servidor de túnel separado em uma rede restrita. O encerramento do túnel em um servidor separado tem a vantagem de manter o servidor de banco de dados inacessível pela Internet. Se o servidor de túnel estiver comprometido, será apenas uma etapa removida do servidor de banco de dados. Recomendamos que você remova todos os usuários e softwares não essenciais do servidor do túnel e o monitore de perto com ferramentas como um SDI.

O servidor do túnel pode ser qualquer host Unix/Linux que:

  1. Pode ser acessado pela Internet usando SSH
  2. Pode acessar o banco de dados

Etapa 2: criar lista de permissões de IP

A segunda etapa é permitir que o tráfego de rede alcance o servidor do túnel ou o host do banco de dados por meio do SSH, que geralmente está na porta TCP 22.

Permita o tráfego de rede de cada um dos endereços IP listados aqui para a região onde sua instância do Looker está hospedada. Por padrão, serão os Estados Unidos.

Instâncias hospedadas no Google Cloud

As instâncias hospedadas pelo Looker são hospedadas no Google Cloud por padrão. Para instâncias hospedadas no Google Cloud, adicione à lista de permissões os endereços IP que correspondem à sua região.

Clique aqui para ver uma lista completa de endereços IP de instâncias hospedadas no Google Cloud

Moncks Corner, Carolina do Sul, EUA (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, Virgínia do Norte, EUA (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, EUA (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, EUA (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, Califórnia, EUA (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.234.252.150
  • 35.203.0.6
  • 35.203.96.235

Londres, Inglaterra, Reino Unido (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

Frankfurt, Alemanha (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, Índia (asia-south1)

  • 34.93.221.137
  • 35.244.24.198
  • 35.244.52.179

Eemshaven, Holanda (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

Condado de Changhua, Taiwan (asia-east1)

  • 104.199.206.209
  • 34.80.173.212
  • 35.185.137.114

Tóquio, Japão (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, Singapura (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

Jacarta, Indonésia (asia-southeast2)

  • 34.101.158.88
  • 34.101.157.238
  • 34.101.184.52

Sydney, Austrália (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

Instâncias hospedadas no Amazon Elastic Kubernetes Service (Amazon EKS)

Para instâncias hospedadas no Amazon EKS, adicione à lista de permissões os endereços IP que correspondem à sua região.

Clique aqui para ver uma lista completa de endereços IP de instâncias hospedadas no Amazon EKS

Leste dos EUA (Norte da Virgínia) (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

Leste dos EUA (Ohio) (us-east-2)

  • 3.135.171.29
  • 18.188.208.231
  • 3.143.85.223

Oeste dos EUA (Oregon) (us-west-2)

  • 44.237.129.32
  • 54.184.191.250
  • 35.81.99.30

Canadá (Central) (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 (Frankfurt) (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

Ásia-Pacífico (Tóquio) (ap-northeast-1)

  • 54.250.91.57
  • 13.112.30.110
  • 54.92.76.241

Ásia-Pacífico (Sydney) (ap-southeast-2)

  • 13.238.132.174
  • 3.105.238.71
  • 3.105.113.36

América do Sul (São Paulo) (sa-east-1)

  • 54.232.58.181
  • 54.232.58.98
  • 177.71.134.208

Instâncias hospedadas no Microsoft Azure

Para instâncias hospedadas no Azure, adicione à lista de permissões os endereços IP que correspondem à sua região.

Clique aqui para ver uma lista completa de endereços IP das instâncias hospedadas no Microsoft Azure

Virgínia, EUA (us-east2)

  • 52.147.190.201

Hospedagem legada

Use esses endereços IP para todas as instâncias hospedadas na AWS e criadas antes de 07/07/2020.

Clique aqui para obter uma lista completa de endereços IP para hospedagem legada

Estados Unidos (padrão da 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

Ásia

  • 52.68.85.40
  • 52.68.108.109

Irlanda

  • 52.16.163.151
  • 52.16.174.170

Alemanha

  • 18.196.243.94
  • 18.184.246.171

Austrália

  • 52.65.128.170
  • 52.65.124.87

América do Sul

  • 52.67.8.103
  • 54.233.74.59

Etapa 3: tunelamento SSH

Se a guia Servidores SSH estiver ativada, siga as instruções nesta página para adicionar as informações de configuração do servidor SSH ao Looker.

A opção Servidor SSH estará disponível se a instância estiver implantada na infraestrutura do Kubernetes e apenas se a capacidade de adicionar informações de configuração do servidor SSH à sua instância do Looker estiver ativada. Se essa opção não estiver ativada na sua instância do Looker e você quiser ativá-la, entre em contato com um especialista em vendas do Google Cloud ou abra uma solicitação de suporte.

Na página Conexões, na seção Administrador do Looker, selecione a guia Servidor SSH.

Em seguida, selecione Adicionar servidor. O Looker exibe a página Adicionar servidor SSH:

  1. Digite um nome para a configuração do servidor SSH.
  2. Selecione Fazer o download da chave para fazer o download da chave pública em um arquivo de texto. Salve esse arquivo, porque você precisará adicionar a chave pública ao arquivo de chave autorizado do servidor SSH posteriormente.
  3. Digite o nome de usuário que o Looker usará para se conectar ao servidor SSH.
  4. Digite o endereço IP ou o nome do host do servidor SSH.
  5. Digite o número da porta usada para se conectar ao servidor SSH.

Etapa 4: preparar o host do túnel

Adicione a chave pública ao seu arquivo authorized_keys

Para autenticar a sessão de túnel SSH, o Looker requer uma chave pública exclusiva (o Looker não é compatível com login com senha). Se a guia Servidores SSH estiver ativada em sua instância, faça o download da chave pública em um arquivo de texto selecionando o botão Fazer o download da chave ao digitar as informações de configuração do SSH. Se você estiver configurando seu túnel SSH com a ajuda de um analista do Looker, ele fornecerá uma chave pública exclusiva.

Você precisará preparar seu host (o servidor de banco de dados ou o servidor de túnel) criando um usuário looker e adicionando a chave pública do Looker ao arquivo .ssh/authorized_keys do Looker. Siga estas etapas:

  1. Na linha de comando, crie um grupo chamado looker:

    sudo groupadd looker
    
  2. Crie o usuário looker e o diretório principal dele:

    sudo useradd -m  -g looker  looker
    
  3. Mude para o usuário looker.

    sudo su - looker
    
  4. Crie o diretório .ssh:

    mkdir ~/.ssh
    
  5. Definir permissões:

    chmod 700 ~/.ssh
    
  6. Altere para o diretório .ssh:

    cd ~/.ssh
    
  7. Crie o arquivo authorized_keys:

    touch authorized_keys
    
  8. Definir permissões:

    chmod 600 authorized_keys
    

Usando seu editor de texto favorito, adicione a chave SSH fornecida pelo seu analista do Looker ao arquivo authorized_keys. A chave precisa estar toda em uma linha. Em alguns casos, quando você recuperar a chave do e-mail, as quebras de linha serão inseridas pelo cliente de e-mail. Se você não removê-los, será impossível estabelecer o túnel SSH.

Adicione ssh-rsa ao seu arquivo sshd_config

O OpenSSH desativou o ssh-rsa por padrão, o que pode causar erros na configuração de um túnel SSH. Para resolver isso, adicione o ssh-rsa à lista de algoritmos aceitos do seu servidor. Siga estas etapas:

  1. Edite seu arquivo sshd_config. Normalmente, é possível encontrar em ~/etc/ssh/sshd_config.
  2. Adicione a instrução a seguir ao seu arquivo sshd_config:

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Notas de segurança do túnel

Quando um túnel SSH é encerrado no servidor de banco de dados, a conexão do Looker parece ser uma conexão local no servidor de banco de dados. Por isso, ele elimina os mecanismos de segurança baseados em conexão incorporados em plataformas de banco de dados, como o MySQL. Por exemplo, é muito comum conceder acesso local ao usuário root sem senha.

Por padrão, a abertura do acesso SSH também permite o encaminhamento de qualquer porta, evitando firewalls entre o Looker e o host do banco de dados que está encerrando o túnel SSH. Esse risco de segurança pode ser considerado inaceitável. É possível controlar esse encaminhamento de portas e a capacidade de fazer login no servidor do túnel configurando corretamente a entrada .ssh/authorized_keys para a chave pública do Looker.

Por exemplo, o texto a seguir pode ser anexado à chave SSH do Looker no arquivo authorized_keys. Este texto PRECISA ser personalizado para seu ambiente.

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

Consulte a documentação do Linux do man ssh e do man authorized_keys para ver exemplos e detalhes completos.

Próximas etapas

Se a guia Servidores SSH estiver ativada em sua instância, volte para a página Adicionar servidor SSH e selecione Testar e solicitar impressão digital para verificar sua conexão com o servidor SSH. O Looker mostra uma tela com a nova configuração do SSH e opções para fazer o download ou visualizar a chave pública e a impressão digital exclusiva da configuração do servidor SSH.

Em seguida, na página Configurações de conexão do banco de dados:

  1. Ative a opção Servidor SSH e selecione a configuração do servidor SSH na lista suspensa.
  2. Nos campos Host remoto e Porta, insira o endereço IP ou o nome do host e o número da porta do seu banco de dados.

Conexões de banco de dados que usam um túnel SSH não podem aplicar um atributo de usuário aos campos Remote Host e Port.

Se você estiver configurando seu túnel SSH com a ajuda de um analista do Looker, informe a ele que está tudo pronto para testar o túnel SSH. Depois de confirmar a criação do túnel, ele vai informar o número da porta do Looker no túnel SSH.

Em seguida, na página Configurações de conexão do banco de dados:

  1. Digite localhost no campo Host remoto.
  2. No campo Porta, digite o número da porta do Looker fornecida pelo analista da Looker.
  3. Desative a opção Verificar o certificado SSL na página Conexões do banco de dados.

    Os certificados SSL não são compatíveis com a configuração de um túnel SSH no Looker a partir do Looker. Em vez disso, a chave SSH que você adicionou na etapa 4 fornece a segurança do handshake entre o Looker e seu banco de dados.