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)
答え
my.cnf の、設定項目 bind-address で、接続を待ち受けるIPを書いておけば、そのIPでしか接続を許可しなくなる。
接続元の相手のIPアドレスではなくて、サーバー側のIPアドレスでらしいので間違えないように。
# ローカルアドレスのみ(こうすると自身からのみしか接続できなくなる) bind-address = 127.0.0.1
# プライベートアドレスのみ(社内のみのような感じ) bind-address = 192.168.123.123
# どこからでもOK. 接続元の制限もMySQL側の認証にお任せする. #bind-address は設定しない
コメント