Como proteger o servidor MySQL no FreeBSD restringindo o acesso à porta 3306

Este tutorial demonstra como restringir o acesso ao servidor MySQL no FreeBSD, garantindo que ele aceite conexões apenas da máquina local (localhost ou 127.0.0.1) na porta 3306.

Configuração Interna do MySQL

A forma mais eficiente de impedir conexões externas é configurar o MySQL para escutar apenas na interface de loopback local.

  1. Abra o arquivo de configuração do MySQL. O caminho padrão no FreeBSD geralmente fica em /usr/local/etc/mysql/my.cnf ou dentro do diretório /usr/local/etc/mysql/conf.d/.

    nano /usr/local/etc/mysql/my.cnf

  2. Localize a seção [mysqld] e adicione ou modifique a diretiva bind-address:

    [mysqld]
    bind-address = 127.0.0.1
    mysqlx-bind-address = 127.0.0.1

    Se o seu ambiente utilizar IPv6 local, você também pode definir bind-address = ::1 ou remover o acesso externo mapeando apenas o IP clássico de loopback.

  3. Salve e feche o arquivo.

  4. Reinicie o serviço do MySQL para aplicar as alterações:

    service mysql-server restart
  5. Verifique se o MySQL está escutando apenas localmente:

    sockstat -4l -p 3306

    A saída deve mostrar o IP 127.0.0.1:3306, indicando que o serviço não está mais exposto às interfaces de rede públicas.

Execute este tutorial por sua conta e risco, tenha certeza do que faz.