Como evito o acesso remoto ao MySQL?

3

Eu tenho um servidor CentOS rodando um servidor MySQL. Eu gostaria de impedir o acesso remoto ao MySQL. Como posso conseguir isso?

    
por Souljacker 11.03.2012 / 19:46

4 respostas

2

Como @Bruno respondeu, edite my.cnf e defina o endereço de vinculação.

A outra maneira é definir o controle de acesso no nível de usuário do MySQL. A sintaxe Conceder mostra isso. As contas de usuários podem ser configuradas como acessíveis a partir de um determinado IP de rede (como 127.0.0.1 ou localhost ou%.%.%.%)

    
por 11.03.2012 / 20:27
5

Vincule seu endereço local ao localhost, no arquivo de configuração do MySQL:

bind-address            = 127.0.0.1

(ou use somente soquetes unix).

Observe que o tunelamento de usuários por meio do SSH será tratado como proveniente de localhost também: não forneça contas SSH nesse caso.

    
por 11.03.2012 / 19:52
2

Se o seu servidor estiver por trás do NAT (ou seja, ele tem endereço "local" apenas, mas ainda recebe tráfego diretamente da Internet), mas você tem mais de uma máquina nessa rede (não é obrigatório vincular a 127.0.0.1). uma opção), em seguida, bloqueando todos, mas o tráfego local usando seu firewall será o caminho a percorrer.

No iptables, você pode fazer isso usando estes comandos como root:

iptables -I INPUT --dport 3306 -j DROP
iptables -I INPUT -s 192.168.0.0/24 --dport 3306 -j ACCEPT

Observe que isso coloca a regra DROP como a primeira regra e depois coloca a regra ACCEPT antes disso. Há provavelmente uma maneira muito melhor de fazer isso usando qualquer método que você use para salvar suas regras de firewall. (Provavelmente iptables-save e iptables-restore .)

    
por 11.03.2012 / 20:47
0

Eu me pergunto se o uso do parâmetro de linha de comando "--skip-networking" embutido faria o que você precisa. Como o Zoredache mencionou, este parece ser o padrão.

    
por 11.03.2012 / 21:10