SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

MySQLへの接続をローカルアドレス、プライベートアドレスに制限する

問題

よくあるVPSサービスでMySQLを稼働させているときなどによくあるのですが、グローバルIP側からMySQLにアクセスしてMySQLが稼働しているのがわかっちゃうのを防げますか。

iptablesなどで設定しないとだめですか。

(MySQLが稼働していて、MySQLに拒否されたのがわかる例)
# mysql -h example.jp
ERROR 1045 (28000): Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: NO)

mysql

答え

my.cnf の、設定項目 bind-address で、接続を待ち受けるIPを書いておけば、そのIPでしか接続を許可しなくなる。

接続元の相手のIPアドレスではなくて、サーバー側のIPアドレスでらしいので間違えないように。

# ローカルアドレスのみ(こうすると自身からのみしか接続できなくなる)
bind-address = 127.0.0.1
# プライベートアドレスのみ(社内のみのような感じ)
bind-address = 192.168.123.123
# どこからでもOK. 接続元の制限もMySQL側の認証にお任せする.
#bind-address は設定しない

関連するメモ

コメント