É seguro abrir a porta 3306 no Firewall para conexão externa do MySQL

6

Eu quero me conectar a um banco de dados MySQL que é hospedado com um ISP usando algo como TOAD, Navicat ou HeidiSQL. Foi-me dito pelo ISP que o MySQL está escutando na porta 3306, mas o firewall do hardware não permite conexões externas (somente localhost). Eu tenho a opção de dar-lhes IPs para adicionar ao firewall, mas isso não é ideal b / c eu trabalho em casa ou na estrada principalmente assim meu IP está sempre mudando. Se eu abrir isso, estou pedindo problemas? Existem medidas além de adicionar meu IP a uma tabela de IPs que eu poderia fazer para mitigar os riscos?

    
por Don 21.06.2011 / 01:57

5 respostas

8

Geralmente, restringir o acesso do MySQL a um endereço IP é uma boa ideia. Pode haver algumas preocupações de segurança, mas um bom firewall deve atenuar algumas delas. Eles teriam que criar um usuário adicional do MySQL para você, já que o MySQL não permite múltiplos hosts (a menos que haja um curinga) por usuário. Você pode solicitar vários usuários, um para cada host ao qual você está se conectando ou até mesmo hosts parciais (por exemplo,% .google.com).

Uma solução alternativa é criar um túnel ssh a partir de sua máquina para que você possa se conectar localmente.

Aqui está um bom artigo sobre como você pode criar um túnel ssh com o MySQL.

link

    
por 21.06.2011 / 02:03
4

NÃO abra o 3306.

Em vez disso, faça o que qualquer outro servidor faz: Abra a porta 22 para obter segurança ssh connection e, uma vez conectado, conecte-se localmente ao mysql.

    
por 21.06.2011 / 02:02
0

Enquanto você pode manter sua autenticação segura, sendo muito cuidadoso com as concessões e exigindo SSL. Você não tem proteção contra possíveis explorações não descobertas que possam ser usadas.

Alguns clientes SQL têm uma opção de túnel SSH, o que é uma ideia melhor.

    
por 21.06.2011 / 02:03
0

Como você mencionou o Navicat, confira o recurso de túnel HTTP. Se você nomear / localizar esse ponto de extremidade de encapsulamento de forma obscura e usar a autenticação HTTP no próprio arquivo (além da sua autenticação do MySQL), você eliminará todos, menos os ataques mais direcionados.

    
por 21.06.2011 / 03:16
0

A abordagem segura é fechar a porta, mas se o seu servidor for um servidor compartilhado com outros clientes usando o mesmo servidor, o ISP pode não estar disposto a fechar a porta. Eu tenho esse problema exato com o MySQL no meu provedor. No meu caso, eles me disseram que "isso não representa um risco de segurança para sua conta, porque apesar de essas portas estarem abertas, ninguém pode se conectar com suas credenciais (a menos que elas sejam roubadas) enquanto conexões MySQL remotas são desligada. "

Portanto, se você tiver senhas seguras e protegidas e conexões remotas fora dos painéis de controle e os privilégios do servidor estiverem bloqueados, você estará "seguro", mas não será 100% "seguro".

Se o aplicativo for de missão crítica ou contiver dados confidenciais, eu mudaria para um servidor dedicado, se necessário, e fecharia totalmente a porta.

    
por 08.08.2018 / 19:18