У меня есть клиент mysql с фиксированным IP-адресом, который должен иметь доступ к серверу mysql. Клиент mysql интегрирован в программное обеспечение, и изменять можно только порт, IP, имя пользователя и пароль.
Как лучше всего защитить сервер mysql без изменения клиента mysql.
РЕДАКТИРОВАТЬ: Никакие изменения на стороне клиента, кроме порта, ip, имени пользователя и пароля, невозможны.
В настоящее время у меня есть это:
/etc/mysql/my.cnf
# bind to all ip's
bind to 0.0.0.0
Ограничены подключения для порта 3306 к IP
iptables -I INPUT -i eth0 -p tcp --dport 3306 --src xxx.x.x.xx -j ACCEPT
Отбросить весь трафик на этот недопустимый порт
#iptables -I INPUT -i eth0 -p tcp --dport 3306 -j DROP
Лучшая практика на самом деле не требует ответа, поскольку это зависит от множества факторов.
Однако в большинстве случаев я бы предпочел использовать туннель VPN или SSH для доступа к серверу и вообще не открывать сервер MySQL, даже через SSL и ограниченный IP-адресом клиента.