A proteção com tunelamento (tunnels) é uma técnica utilizada para proteger o acesso a bancos de dados. Ela é particularmente útil quando o acesso ao banco de dados é feito por meio de uma rede pública, como a Internet, que pode ser vulnerável a ataques de segurança.
O tunelamento consiste em criar um canal criptografado entre o cliente que acessa o banco de dados e o servidor que hospeda o banco de dados. Esse canal é criado utilizando um software de tunelamento, como o SSH (Secure Shell), que é capaz de criptografar os dados que são transmitidos entre o cliente e o servidor.
Dessa forma, mesmo que um hacker consiga interceptar os dados que estão sendo transmitidos entre o cliente e o servidor, ele não será capaz de decifrá-los, pois eles estarão criptografados. Além disso, o tunelamento pode ser configurado para permitir apenas o acesso de um cliente específico ao banco de dados, o que torna mais difícil para um invasor tentar se conectar ao banco de dados.
É importante ressaltar que o tunelamento é apenas uma das medidas de segurança que devem ser tomadas para proteger um banco de dados. É essencial manter o banco de dados atualizado com as últimas correções de segurança e adotar outras medidas de proteção, como autenticação forte e criptografia de dados sensíveis.
Para fazer o acesso ao banco de dados dentro da nossa instância AWS Lightsail de forma segura, primeiro vamos configurar nosso cliente PuTTY em seguida, utilizando um usuário e senha vamos acessar o painel do PHPMyAdmin e gerenciar nosso banco de dados.
Obtendo a senha de acesso ao banco de dados Lightsail
Vamos começar pela parte mais simples, não que a outra seja mais complexa ou difícil. Através do seu cliente SSH PuTTY, por exemplo, vamos acessar o arquivo de senha padrão e salvar as informações em um local seguro. Recomendo estudar sobre cofres de senha, este é um bom lugar para você guardar e gerenciar suas senhas(LastPass, 1Password, KeePass...).
Estando no diretório padrão /home/bitnami (você pode rodar o comando pwd
para saber), execute o comando abaixo para exibir a senha de acesso contida no arquivo bitnami_application_password. Guarde esta informação, vamos usar ela daqui a pouco.
cat bitnami_application_password
Fazendo o acesso ao PHPMyAdmin por tunelamento
Como este artigo faz parte de uma série de outros que já foram publicados, é imprescindível que você tenha acompanhado nossa aula Acessando uma instância Lightsail Lamp via terminal SSH com Putty, já que nela a gente viu como converter uma chave do tipo PEM para PPK.
Agora o processo é simples, com o PuTTY aberto, na seção Session, insira o IP estático do seu servidor no campo HOST e a porta 22 no campo Port. Ainda no campo Save Session, insira um nome para esta configuração, por fim, clique no botão Save.
Na seção Data, insira o usuário bitnami no campo auto-login username.
Vamos agora utilizar a nossa chave privada do tipo PPK, a mesma que utilizamos na aula de acesso ao PuTTY. Na seção Connection > SSH > Auth, clique no botão Browse e selecione sua chave privada.
Na Seção Connection > SSH >Tunnels, insira a porta 888 no campo Source port. No campo Destination, insira o endereço que o servidor vai responder, no caso o valor seria localhost:80. Note que a porta 8888 é opcional, você pode inserir o valor que desejar, desde que ela não esteja em uso no sistema.
Clique na opção Add para adicionar a nova regra de porta.
Agora volte até a seção Session e clique na opção Save com a sua configuração selecionada, garantindo assim que os dados sejam preservados no próximo acesso.
Por fim, clique no botão Open para iniciar a conexão com o nosso servidor. No primeiro acesso vai aparecer uma janela com algumas informações, basta clicar na opção Accept.
Agora você já pode acessar o PHPMyAdmin, caso veja uma tela conforme mostra a imagem abaixo.
Insira o endereço localhost:8888/phpmyadmin no seu navegador, a tela do PHPMyAdmin deve surgir. Para fazer o login utilize:
- Usuário - root
- Senha - A mesma que obtemos a pouco no arquivo bitnami_application_password.
Agora você pode administrar seu acesso ao banco normalmente. Lembre-se, para aplicações dentro da VPS, o HOST do seu banco de dados é localhost. Para acesso externo, você deverá especificar seu endereço IP e liberar a porta 3306.
Continue aprendendo, a gente preparou uma videoaula complementar para este artigo e você pode assistir através do player abaixo.