WordPress

【WordPress】Change Table PrefixでDBの接頭辞を変更する

2018年4月15日

こんにちは!SE ブログの相馬です。

 

 

 

今回は、WordPress のセキュリティについて、データベースの接頭辞というものを変更してみました。

 

 

WordPress を初期インストールした直後は、接頭辞がデフォルトになっております。ですのでこれは必ず変更するようにしましょう。

 

 

ちなみに WordPress を初めてセットアップする場合は、セットアップ時に変更できるはずですので、ここでは省略します。

 

 

ここでは、初期セットアップにに変更しなかった、あるいはできなかった場合や運用に入ってしまっている場合になります。

 

 

私の環境は AWS の Lightsail ですので、セットアップ画面はないので変更できませんでした。(多分そのはず。。。)

 

 

 

データベースの接頭辞を変更する理由

 

 

WordPress のデータベースのテーブル接頭辞はデフォルトでは、 wp_ になっています。

 

 

このデフォルトの接頭辞は WordPress を知っている人であれば簡単に推測できますので、攻撃を受けやすくなる可能性があります。

 

 

ですので変更する必要があるわけです。特に複数の WordPress のブログなどを 1 つのデータベースで運用していて、且つ接頭辞を変更していない場合は非常に危険です。

 

 

 

 

 

接頭辞を変更する方法

 

 

接頭辞を変更する為には、WordPress のプラグインや、手動で対応する必要があります。

 

 

WordPress を初期インストールする場合は、インストール時に変更が可能です。しかし、既に運用してしまっている場合はプラグインを使い、簡単に設定をしたほうが良いでしょう。(私はプラグインを使いました。)

 

 

手動での場合、直接 DB を触るので、設定を間違えてしまった場合、最悪 WordPress のサイトが動作しなくなる可能性があります。もちろんプラグインもそうですが、プラグインのほうがとても簡単ですので、難易度は全然低いかと思います。

 

 

WordPress のプラグインを使う場合、DBのテーブル接頭辞を変更するプラグインはいくつかあるようですが、私は Change Table Prefix を使いました。

 

 

ただしこのプラグイン、私が使った 2018 年 4 月時点では、最終更新が 2 年前だそうで、最近の WordPress のバージョンでは検証されていないようです。

 

 

ただし、プラグインのサイトにあるレビューを見ると最近のバージョンでも Worked perfectly とか書いてあるので恐らく動くかと思われます。ですので、やってみたいと思います。

 

 

※ 実際、自分は別々の WordPress で 2 回同じ方法で実施しましたが、問題なく変更できました。

 

 

 

接頭辞を変更しない場合の危険性

 

 

接頭辞を変更しないと、WordPress の DB 接頭辞がデフォルトの「wp_」や「wpl_」である事が脆弱とされ、SQLインジェクションによって攻撃されてしまう可能性があります。

 

 

また、有害サイトなどにリダイレクトするURLを仕掛けられてしまい、さらにはサイトそのものが改ざんされてしまう恐れがあります。

 

 

 

事前作業

 

 

データベースの接頭辞を変更する場合は、危険を伴う作業ですので、WordPress のバックアップはしておいたほうが良いかと思います。

 

 

ちなみに、私が使った Change Table Prefix の場合は サイトの DB と wp-config.php をバックアップしてくださいと書いてありました。

 

 

Warning: Please make sure to take backup of your site database and wp-config.php file is in writable mode before start table prefix change.

 

 

 

インストール方法

 

 

1. プラグインを追加から、以下の画像のように Change Table Prefix と入力して、インストールします。

 

 

 

2. [有効化] をクリックします。

 

 

 

3. インストールされた事を確認します。

 

 

 

 

設定方法

 

 

1. WordPress の [設定] から [Change Table Prefix] をクリックします。

 

 

 

2. プラグインの画面を表示すると、上部に以下の表示があります。wp_ が現在の(初期の) 接頭辞名となります。

 

 

Your current table prefix is: wp_

 

 

変更するには、以下の画面をとおりに進めます。

 

 

  1. [Would you like to your own custom prefix.] にチェックを入れます。
  2. 変更後の接頭辞を入力します。
  3. その後にボタンをクリックします。

 

 

Enable site as maintenance mode という機能があるようですが、プラグインのバージョンが古く使いたくなかったので使いませんでした。

 

 

 

 

3. [Click to change table prefix] をクリックします。1箇所エラーが出ています。wp-config.php が権限により変更できないので、エディタで変更してください。という内容のようです。

 

 

 

4. エディタかコンソール上で、wp-config.php ファイル内の接頭辞を変更します。

 

 

必ず、先ほど変更した接頭辞と同じ文字列を入力してください。

 

 

 

5.WordPress にの管理画面アクセスします。もし以下の初期セットアップ画面が表示されたら、画面を更新するか、ブラウザのアドレスバーに再度管理画面の URL かドメインを手動で入力して、ページを移動してください。(設定が初期化されているのではございませんので安心してください。)

 

 

 

6. 1.の手順でのプラグインの画面で、prefix 名が変更されたか確認します。以上です。

 

 

 

 

まとめ

 

 

いかがでしょうか。うまくできないと最悪、サイトにアクセスできなくなる作業ですので、結構ヒヤヒヤしながら設定しました。

 

 

セキュリティ上大事な作業ですので設定が出来て良かったです。

 

 

最後までお読みいただきありがとうございました!

 

 

 

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-WordPress
-,