Как заставить сервер MySQL привязываться только к localhost в Ubuntu 20.04 LTS?

Как заставить сервер MySQL привязываться только к localhost в Ubuntu 20.04 LTS?

Использование управляемой пакетом apt версии сервера MySQL в Ubuntu 20.04.3 LTS с установкой MySQL по умолчанию.

netstatпоказывает, что сервер MySQL привязан к публичному интерфейсу IPv6:

tcp6       0      0 :::33060                :::*                    LISTEN      2485/mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      2485/mysqld

Однако, /etc/mysql/mysql.conf.d/mysqld.cnfпоказывает (комментированные строки удалены для краткости):

[mysqld]
user            = mysql

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
mysqlx-bind-address     = 127.0.0.1

У меня установлены правила iptables и вышестоящего брандмауэра, которые запрещают внешний доступ к несанкционированным портам, таким как MySQL, но я бы предпочел, чтобы сам MySQL был привязан к правильному интерфейсу в системе в соответствии с файлом конфигурации.

На другой системе, которая была обновлена ​​в этом году до версии 20.04.3, файлы конфигурации практически идентичны и netstatпоказывают:

tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      1349/mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1349/mysqld

решение1

Решил проблему, изменив разрешения на /etc/mysql.cnf0644. Думаю, серверу MySQL не нравится, если этот файл помечен как доступный для записи/исполнения всем. Он был помечен как 0777, и я определенно этого не делал. Он был установлен в системе таким образом из пакета mysql-serverapt.

Вероятно, это означает, что в настоящее время (по состоянию на декабрь 2021 г.) существует ряд систем Ubuntu Server 20.04.3 LTS, которые устанавливают MySQL через apt и случайно открывают порт 3306 для всего мира. Поскольку по умолчанию нет пароля root, это также, вероятно, означает, что MySQL может быть быстро скомпрометирован из удаленной системы.

Связанный контент