MySQL

MySQLをiptablesで安全に外部公開する設定

MySQL

今回の設定はMySQL自身は誰でも歓迎Listen!を行って、iptablesで制御する方法です。DBユーザ側で制御しないのは、今後誰かがサーバの管理を引き継いだ時に、DBユーザの設定に手を加えないで済むから。

 

iptablesでの制御なら設定ファイルに記述があるので、修正や追加が必要な場合にもスキルに関わらず容易に保守がしやすいという大きなメリットがあります٩(๑❛ᴗ❛๑)۶これなら、別のネットワークのIPアドレスも簡単に追加できる。

 

今後永遠に自分だけが使って管理するというならどうやってもいいけど。そんなことはまずないはず(笑

 

寂しい話、いつしか他の会社がシステム保守を引き継ぐかもしれないし、お客様の社内にサーバー好きなIT担当者が入ってきたら、その方が引き継ぐかもしれない。だからドキュメントを残して、お客様のシステム要件を満たしつつも出来るだけ保守しやすくしたいと考えて設定します。

誰でもListenさせる

MySQLのデフォルトではlocalhostしか待ち受けしていないので、公開範囲を指定します。

 

これでどのようなIPが来ても受け入れます。

 

※mysqldはserviceコマンドから起動するより起動スクリプトから起動すると、mysqld_safeデーモン経由でmysqldを起動するので、直接mysqldを起動するより安全です。

 

mysqld_safe

エラー発生時の再起動やランタイム情報のエラーログファイルへのロギングなど、いくつかの安全機能を追加します。

 

@see http://dev.mysql.com/doc/refman/5.6/ja/mysqld-safe.html

ログイン用のDBユーザを作成する。

iptablesで制御しよう

これまで行ってきた設定ではMySQLは誰でも待ち受けてしまい非常に危険な状態。だからiptablesで門を正確に制御しよう。

 

 

許可するサーバを列挙して、最後にそれ以外の接続を拒否。

 

これで安全にMySQLを外部公開できますね!

MySQL
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG