Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como restringir o acesso à porta MySQL


Em algumas distribuições Linux, a porta 3306 é aberta após a instalação do MySQL. Este artigo descreve dois métodos para restringir ou bloquear o acesso à porta 3306 em um servidor não gerenciado.
As informações neste artigo se aplicam somente a produtos não gerenciados. Você deve ter acesso root ao servidor para seguir os procedimentos descritos abaixo.

Método nº 1:desabilitar a rede MySQL


Se você não precisar acessar o MySQL de um computador externo, poderá desabilitar a rede MySQL.

Siga o procedimento apropriado abaixo para sua distribuição Linux.
Mesmo com a rede MySQL desabilitada, você ainda pode acessar o MySQL com segurança a partir de um computador remoto, se necessário. Para fazer isso, você pode configurar um túnel SSH. Para obter informações sobre como fazer isso, consulte este artigo.
CentOS e Fedora

Para desabilitar a rede MySQL no CentOS e no Fedora, siga estas etapas:
  1. Faça login em seu servidor usando SSH.
  2. No prompt de comando, use seu editor de texto preferido para abrir o /etc/my.cnf arquivo.
  3. Localize a seguinte linha no my.cnf arquivo:
    #skip-networking
    Se esta linha não estiver no my.cnf arquivo, adicione-o.

  4. Exclua o # assine no início da linha para que a linha se pareça com o seguinte:

    skip-networking
  5. Salve suas alterações no /etc/my.cnf arquivo e saia do editor de texto.

  6. Digite o seguinte comando para reiniciar o serviço MySQL:

    service mysqld restart

    A porta 3306 agora está fechada no servidor.
Debian e Ubuntu

Por padrão, o MySQL no Debian e Ubuntu está configurado para usar apenas o localhost interface (endereço IP 127.0.0.1) para rede. Isso significa que a porta 3306 está fechada para conexões externas. Para confirmar que esta é a configuração em seu servidor, siga estas etapas:
  1. Faça login em seu servidor usando SSH.
  2. No prompt de comando, use seu editor de texto preferido para abrir o /etc/mysql/my.cnf arquivo.
  3. Localize o MySQL endereço de vinculação linha no my.cnf Arquivo. Deve ter a seguinte aparência:
    bind-address = 127.0.0.1
    Se o MySQL endereço de vinculação linha está definida como 0.0.0.0 (ou nenhum endereço), então as conexões são abertas em todas as interfaces.
  4. Se você fez alguma alteração no /etc/my.cnf arquivo, salve-os e saia do editor de texto.

  5. Para reiniciar o serviço MySQL, digite o seguinte comando:

    service mysql restart

    A porta 3306 agora está fechada no servidor.

Método nº 2:configurar regras de firewall


Você pode usar iptables para criar regras de firewall que restringem o acesso à porta 3306. A vantagem desse método é que você pode conceder ou negar seletivamente o acesso à porta 3306 com base em endereços IP ou outros critérios.

Por exemplo, para bloquear completamente o acesso externo à porta 3306, digite o seguinte comando:
iptables -A INPUT -p tcp --dport 3306 -j DROP

Da mesma forma, para conceder acesso a um endereço IP específico e bloquear todos os outros, digite os comandos a seguir. Substituir xxx.xxx.xxx.xxx com o endereço IP para o qual você deseja conceder acesso:
iptables -A INPUT -p tcp --dport 3306 -s xxx.xxx.xxx.xxx -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

Você pode conceder ao MySQL acesso a endereços IP adicionais inserindo regras no campo INPUT cadeia antes do DROP regra. Por exemplo:
iptables -I INPUT 1 -p tcp --dport 3306 -s xxx.xxx.xxx.xxx -j ACCEPT