Conectando o banco de dados MySQL remotamente em um provedor de hospedagem seguro?

3

Meu aplicativo de desktop JavaFX está atualmente conectado a um banco de dados MySQL hospedado remotamente no bluehost. Eu consultar "SELECT", "UPDATE", "DELETE" no meu aplicativo JavaFX e feito com sucesso.

Minha pergunta é. Esta abordagem é segura?

Estou usando o driver JDBC para me conectar por meio dele.

DriverManager.getConnection("jdbc:mysql://mysql_ip_on_bluehost_here:3306/my_db", dbUser, dbPass);
    
por Yves Gonzaga 04.08.2015 / 11:33

2 respostas

5

Não, não é seguro. Do ponto de vista do administrador de sistema: tanto suas credenciais como todos os dados serão transmitidos sem criptografia.

Embora o MySQL suporte a segurança da camada de transporte (SSL / TLS), ele não é habilitado por padrão e após configurando o suporte ao servidor você precisará instrui explicitamente o cliente a usar o também.

Normalmente, isso resultaria em algo como:

DriverManager.getConnection("jdbc:mysql://mysql_ip_on_bluehost_here:3306/my_db?useSSL=true", dbUser, dbPass)

Uma alternativa seria algo como o IPSec que fornece segurança na camada IP em vez da camada de aplicativo.

De um ponto de vista do DBA, @M_dk fez um bom argumento de que permitir instruções SQL UPDATE e DELETE diretas não é desejável e os procedimentos armazenados são muito melhores do ponto de vista da segurança.

    
por 04.08.2015 / 11:48
1

Se você não especificou usar o SSL em qualquer lugar, então, por conta própria, não. Por enquanto, os detalhes de login serão enviados de forma clara, assim como todas as outras transações. Por favor, veja Conectando-se com segurança usando SSL no site da MySQL .

    
por 04.08.2015 / 11:46

Tags