Conectando a Dadosfera à fonte de dados privadas

Você precisa se conectar a uma fonte de dados que não está acessível publicamente? Ou seja, uma fonte de dados que pode ser acessada somente através da sua rede privada? Então você precisa cadastrar a sua rede na Dadosfera.

Como escolher o tipo de rede para conexão?

A decisão de qual rede será cadastradas na Dadosfera para realizar a conexão com seus dados privados irá depender da estrutura do seu banco de dados, a infra e regras de segurança adotadas pela sua empresa e do orçamento disponível. Confira abaixo uma comparação rápida:

Tipo de conexãoDescrição
VPNÉ o método que une menor complexidade e custo para realização da conexão com a Dadosfera atualmente. Viável desde que você possua uma OpenVPN com acesso aos dados privados e possa ainda lidar com a latência de uma VPN.
AWS Private LinkÉ o método de conexão mais seguro, permitindo a conexão sem expor o tráfego publicamente. No entanto, pode ser mais caro e sua viabilidade e funcionamento irá depender do seu tipo de fonte de dados. Saiba mais na documentação da AWS.
Azure Private LinkPermite que Redes Virtuais (VNets) e serviços locais ou hospedados no Azure se comuniquem entre si sem expor o tráfego publicamente. Saiba mais na documentação da Azure.
SSH TunnelEsta opção pode ser escolhida para adicionar uma camada a mais de segurança. No entanto, poderá apresentar uma performance mais lenta e cara. Você precisará configurar um servidor de SSH Tunnel que tenha acesso à sua porta de banco de dados, que deverá estar acessível a partir do IP da Dadosfera. Você também irá precisar criar um usuário SSH para a Dadosfera.

📘

Verifique a(s) opção(ões) de conexão disponível(is) no seu plano. Caso deseje acessar outro tipo de conexão, entre em contato com o Time de Vendas.

Para mais detalhes, consulte um especialista da Dadosfera através do Time de Vendas.

VPN

A Dadosfera aderiu o OpenVPN como VPN oficial. O OpenVPN é uma solução VPN do tipo Transport Layer Security (TLS) repleta de recursos e de código aberto que acomoda uma ampla variedade de configurações. Neste tutorial, você instalará o OpenVPN em um servidor Ubuntu 20.04.

Pré-requisitos

Para seguir este tutorial, você vai precisar do seguinte:

  • Um servidor com sistema operacional Linux Ubuntu >= 20.04 com usuário root.
  • É necessário que o servidor esteja em uma rede pública com acesso a internet.
  • O Hardware Mínimo é de 1GB de memória e 1 CPU.
  • Abrir porta 1194 UDP (ou uma porta custom a sua escolha) para o mundo (0.0.0.0/0).

Instalando e configurando o OpenVPN

Disponibilizamos um script de instalação/configuração interativo do OpenVPN com todas as configurações necessárias para a Dadosfera acessar suas fontes de dados.

Segue passo a passo para execução do script.

Esse processo deve ser feito utilizando o usuário root do servidor!

Primeiramente vamos fazer o download do script e dar permissão de execução.

wget https://app.dadosfera.ai/scripts/openvpn.sh
chmod +x openvpn.sh

Em seguida, vamos executar o script de instalação/configuração.

./openvpn.sh

Ao executar o script, o mesmo vai pedir algumas informações importantes.
A primeira informação a ser passada é o IP Público do server. Implementamos um mecanismo que identifica o IP Publico automaticamente, você precisa apenas validar se o mesmo está correto e dar Enter.

Welcome to the Dadosfera OpenVPN installer!

I need to ask you a few questions before starting the setup.
You can leave the default options and just press enter if you are ok with them.
IP address: 3.223.117.161

Na próxima etapa você pode configurar a porta do servidor que o OpenVPN vai ser executado, a opção padrão configura a porta 1194, porém disponibilizamos uma opção para customização.

What port do you want OpenVPN to listen to?
   1) Default: 1194
   2) Custom
   3) Random [49152-65535]
Port choice [1-3]: 1

Na próxima etapa você pode configurar qual protocolo a porta do OpenVPN vai utilizar, recomendamos utilizar UDP por ser mais rápido que TCP.

What protocol do you want OpenVPN to use?
UDP is faster. Unless it is not available, you shouldn't use TCP.
   1) UDP
   2) TCP
Protocol [1-2]: 1

Após, você pode configurar o servidor DNS do OpenVPN, por padrão recomendamos o servidor DNS do Google por ser bem estável.

What DNS resolvers do you want to use with the VPN?
   1) Current system resolvers (from /etc/resolv.conf)
   2) Self-hosted DNS Resolver (Unbound)
   3) Cloudflare (Anycast: worldwide)
   4) Quad9 (Anycast: worldwide)
   5) Quad9 uncensored (Anycast: worldwide)
   6) FDN (France)
   7) DNS.WATCH (Germany)
   8) OpenDNS (Anycast: worldwide)
   9) Google (Anycast: worldwide)
   10) Yandex Basic (Russia)
   11) AdGuard DNS (Anycast: worldwide)
   12) NextDNS (Anycast: worldwide)
   13) Custom
DNS [1-12]: 9

Na próxima etapa você pode customizar qual criptografia o OpenVPN deve utilizar.
A menos que você saiba o que está fazendo, você deve manter os parâmetros padrão fornecidos pelo script.

Observe que, independentemente da sua escolha, todas as opções apresentadas no script são seguras. (Ao contrário dos padrões do OpenVPN).

Do you want to customize encryption settings?
Unless you know what you're doing, you should stick with the default parameters provided by the script.
Note that whatever you choose, all the choices presented in the script are safe. (Unlike OpenVPN's defaults)

Customize encryption settings? [y/n]: n

Na etapa seguinte o script vai pedir uma confirmação para inicializar a instalação, pressione qualquer tecla para continuar.

Okay, that was all I needed. We are ready to setup your OpenVPN server now.
Press any key to continue...

Durante a instalação será necessário informar uma senha para a chave CA:
É importante escolher uma senha segura e mantê-la salva no seu gerenciador de senhas.

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki

Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020

Enter New CA Key Passphrase: YOUR_PASSWORD
Re-Enter New CA Key Passphrase: YOUR_PASSWORD

Na etapa seguinte será solicitada a senha para a chave .PEM, utilize a mesma senha escolhida para a chave CA.

Se você estiver utilizando o Ubuntu 22.04 a senha para a chave .PEM pode ser solicitada mais de 2 vezes. Isso acontece devido ao comportamento diferente do OpenSSL 3.

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020
Generating an EC private key
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-518695.BfRHNn/tmp.oqtQCZ'

Enter PEM pass phrase: YOUR_PASSWORD
Verifying - Enter PEM pass phrase: YOUR_PASSWORD

A senha da chave CA será solicitada novamente 2 vezes:

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020
-----
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-29461.xIY2Ma/tmp.yMZTgs
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key: YOUR_PASSWORD

...
...
...

Note: using Easy-RSA configuration from: /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1.1f  31 Mar 2020
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-30750.RW0Ldf/tmp.qZYlkq
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key: YOUR_PASSWORD

A próxima etapa é muito importante para que a Dadosfera consiga alcançar as suas fontes de dados. Nessa etapa você deve informar quais são as rotas da sua rede privada que o OpenVPN deve entregar para a Dadosfera. O padrão é informar o IP e a Máscara da rede separados por ":". Caso tenha mais de uma rota, separe as mesmas com ",".

Exemplo: 10.0.1.200:255.255.255.255, 10.0.1.201:255.255.255.255

Você pode fornecer um range de IPS ou especificar apenas um IP utilizando a máscara "255.255.255.255".

ATENÇÃO: Não utilize a rota "0.0.0.0/0"! Essa rota vai fazer com que todo o tráfego dos nossos servidores passe pela sua VPN, o que pode ocasionar possíveis problemas e conflitos durante as coletas de dados. Além de possíveis custos adicionais na sua Cloud.

Tell me which routes OpenVPN should have access to (all routes from data sources that Dadosfera will need to connect to).
Example (You can release a range of IPS 10.0.0.0:255.255.0.0 or just the servers you want 10.0.1.200:255.255.255.255)
Enter the routes separated by commas.
Example: 10.0.1.200:255.255.255.255, 10.0.1.201:255.255.255.255
Routes: YOUR_ROUTES

Após configurar as rotas, pode ser solicitada uma Password para a Private Key. Informe a mesma senha escolhida para a chave .PEM.

Enter Private Key Password: YOUR_PASSWORD

Na etapa seguinte você deve informar se o arquivo. OVPN que será gerado para a Dadosfera exigirá uma autenticação por senha. Estamos preparados para nos conectarmos em VPNs que exigem usuário e senha, sendo necessário informar o usuário "dadosfera" e senha escolhida ao configurar uma conexão OpenVPN em na plataforma da Dadosfera.

Por padrão, nós não exigimos o uso de senha, porém fica a seu critério caso queira uma segurança adicional.

Caso tenha escolhido utilizar senha, algumas informações podem ser solicitadas, tais como a senha da chave .PEM e chave CA. Se escolheu não utilizar uma senha, somente a senha da chave CA será solicitada para geração do arquivo .OVPN.

Do you want to protect the configuration file with a password?
(e.g. encrypt the private key with a password)
   1) Add a passwordless dadosfera client
   2) Use a password for the dadosfera client
Select an option [1-2]: 1

Ao finalizar a configuração de usuário, você verá a seguinte mensagem:

Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-30962.Nm8aa8/tmp.lofOKq
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'dadosfera'
Certificate is to be certified until Oct 13 23:10:18 2024 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

Client dadosfera added.

The configuration file has been written to /home/ubuntu/dadosfera.ovpn.
Download the .ovpn file and import it in your OpenVPN client.

Isso significa que o OpenVPN foi configurado com sucesso, e uma chave .OVPN foi gerada no caminho "/home/$USER/dadosfera.ovpn". Agora você pode copiar o conteúdo desse arquivo para a sua máquina. Pois o mesmo será necessário durante o cadastro de uma VPN na plataforma da Dadosfera.

INFORMAÇÕES ADICIONAIS:

Lembra-se de adicionar nas regras de segurança das suas fontes de dados privadas o IP interno do OpenVPN, para que seja possível acessá-las.

Por exemplo: Caso esteja utilizando AWS, você precisa adicionar no security group da sua fonte de dados uma regra para que a máquina do OpenVPN consiga alcançar a porta da sua fonte de dados.

Cadastrando sua OpenVPN através da interface

Com sua OpenVPN em mãos, ela poderá ser cadastrada na interface do Módulo de Coleta da Dadosfera. Basta ir em: Coletar > Gestão de conexões > Redes > Nova OpenVPN.

CampoDetalhes
NomeInsira um nome que seja um identificador fácil reconhecimento
DescriçãoForneça uma descrição detalhada, para uma fácil identificação dela por outros usuários
ArquivoSão aceitos apenas arquivos no formato .ovpn

É possível cadastrar quantas OpenVPNs desejar.

AWS Private Link

Através da sua AWS Private Link, será estabelecido uma conectividade privada entre nuvens privadas virtuais (VPCs) com serviços compatíveis da AWS sem expor o tráfego publicamente.

Azure Private Link

Através da sua Azure Private Link, será estabelecido uma conectividade privada entre nuvens privadas virtuais (VPCs) da Azure com a Dadosfera sem expor o tráfego publicamente.

SSH Tunnel

Caso possua um SSH Tunel, cadastre-o para estabelecer uma sessão de conexão entre a Dadosfera e seus dados através de um túnel criptografado via protocolo SSH.