レンタルサーバのデータベース自動生成機能には問題もある

サーバールームのイメージ。

エックスサーバーなどで提供されるソフトウェア(プログラムの)自動インストールサービスは、 適当な名前のデータベースを生成して、そこに WordPress などのデータを保存します。

データベースの名前はソフトウェアの上からは見えませんし、気にすることもありませんから、とりあえず利用するときにはこれでも十分です。 しかしながら長期的にはいくつか問題があり、私は手動でデータベースを生成することを推奨します。 ここでは自動生成されるデータベースの問題について解説します。

実際に自動生成したデータベース

エックスサーバでWordPressの自動インストールを選択した場合のデータベース名とパスワード

画像はエックスサーバーの自動インストール機能を使って WordPress をインストールしたときの結果です。 データベース名は「任意の接頭辞_wp1」となっています。またパスワードは「1phbx8cy75」と乱数のようです。 どこのサービスを利用しても概ね同じような結果になるでしょう。

分かりにくい名前とパスワードが引き起こす問題

データベースの追加・削除・バックアップ・移動などの作業を行うときには、自動生成されたデータベースは不便です。 なぜなら、データベースの名前とパスワードが分かり難いためです。

例えばエックスサーバーの例のように「接頭辞_wp1」などの名前が与えられていても、そのデータベースの中身は、この名前から推測することができません。 仮にこれが「接頭辞_wp2」のように番号が増えていったとしたらどうでしょう、どのデータベースに目的のデータが含まれるか分かりにくくなります。 最悪の場合、謝ったデータベースを操作することも考えられます。

データベースの名前やパスワードが乱数で場合も問題です。名前が乱数の場合は先と同じ問題が起こります。 またパスワードが乱数であるとき、そのパスワードを忘れてしまえば、最悪の場合にはそのデータベースが一切操作できなります。 (当たり前ですが既定のパスワードが設定されるようならば、それはパスワードとして成り立たないので問題です)

このように、自動で与えられる名前とパスワードには欠点があります。 ソフトウェアの自動インストール機能そのものは大変便利なものですが、中長期的に管理するような状況では、 自動生成したデータベースを使わないほうが良いです。まずはデータベースの生成を試してみて、 操作が難しかった時だけ、データベースも自動生成するようにしましょう。

セキュリティ面の問題

ある(レンタルサーバーなどの)サービスがソフトウェアのインストール時にデータベースを自動生成するとします。 このときそのデータベースの名前が規則的に生成されるものであると、データベースに対する攻撃が発生する可能性があります。

例えばエックスサーバーの場合には接頭辞も含まれるので多少複雑ですが、単に「_wp1, _wp2, _wp3…」としてデータベースが生成されるとき、 そのデータベースへのアクセスを試みれば良いことが明白ですから、攻撃されやすい状況を作っていることになります。

詳細は割愛しますが、いわゆるすべての ID とパスワードを入力して当たるまで続けるタイプの攻撃、 総当たり攻撃ブルートフォースアタックと呼ばれる攻撃の対象になりやすくなる、ということです。

ブルートフォースアタック(総当たり攻撃)とは。防御方法は。