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 de banco de dados.

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 os do Google BigQuery e do 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

O encerramento no banco de dados tem a vantagem da simplicidade. Há menos um host envolvido, portanto, não há máquinas adicionais e seus custos associados. A desvantagem é que seu servidor de banco de dados pode estar em uma rede protegida que não tem acesso direto à Internet.

Como usar um servidor de túnel

Encerrar o túnel em um servidor separado tem a vantagem de manter seu servidor de banco de dados inacessível na Internet. Se o servidor do túnel estiver comprometido, ele será removido em uma etapa. Recomendamos que você remova todos os softwares e usuários não essenciais do servidor do túnel e o monitore de perto usando ferramentas como um IDS.

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

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

Etapa 2: criar uma lista de permissões de IP

A segunda etapa é permitir que o tráfego de rede chegue ao servidor do túnel ou ao host do banco de dados via SSH, que geralmente é uma porta TCP 22.

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

Instâncias hospedadas no Google Cloud

Por padrão, as instâncias hospedadas pelo Looker são hospedadas no Google Cloud. 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 das 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, Países Baixos (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 das 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 ver 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: encapsulamento 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 seu gerente de contas do Looker ou abra uma solicitação de suporte na Central de Ajuda da Looker.

Na página Conexões na seção Administrador do Looker, clique na guia Servidor SSH:

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

  1. Digite um nome para a configuração do servidor SSH.
  2. Clique em Fazer o download da chave para salvar a 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 seu 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 exige uma chave pública exclusiva. O Looker não oferece suporte a logins por senha. Se a guia Servidores SSH estiver ativada em sua instância, será possível fazer o download da chave pública em um arquivo de texto clicando no botão Fazer o download da chave ao inserir as informações de configuração de SSH. Se você estiver configurando seu túnel SSH com a ajuda de um analista do Looker, o Looker fornecerá uma chave pública exclusiva.

Você precisa preparar seu host (o servidor do banco de dados ou do 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ê recupera a chave do seu e-mail, as quebras de linha são inseridas pelo cliente de e-mail. Se você não os remover, será impossível estabelecer o túnel SSH.

Adicionar ssh-rsa ao 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 ssh-rsa à lista de algoritmos aceitos do seu servidor. Siga estas etapas:

  1. Edite o arquivo sshd_config. Normalmente, ela está disponível em ~/etc/ssh/sshd_config.
  2. Adicione a instrução a seguir ao seu arquivo sshd_config:

       HostKeyAlgorithms +ssh-rsa
       PubKeyAcceptedAlgorithms +ssh-rsa
    

Observações de segurança de 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. Portanto, ela elimina os mecanismos de segurança baseados em conexão integrados a plataformas de banco de dados, como o MySQL. Por exemplo, é muito comum que o acesso local seja concedido ao usuário root sem senha.

Por padrão, a abertura do acesso SSH também permite o encaminhamento de qualquer porta, burlando os 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. Esse encaminhamento de portas e a capacidade de fazer login no servidor do túnel podem ser controlados 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. Ele 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 man ssh e man authorized_keys para ver exemplos e detalhes.

Próximas etapas

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

Depois, 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. No campo Host remoto:Porta, digite o endereço IP ou o nome do host e o número da porta do seu banco de dados.

As conexões de banco de dados que usam um túnel SSH não podem aplicar um atributo de usuário ao campo Remote Host:Port.

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

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

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

    Não há suporte para certificados SSL ao configurar um túnel SSH para seu banco de dados no Looker. Em vez disso, a chave SSH que você adicionou na etapa 4 oferece a segurança de handshake entre o Looker e o banco de dados.