「大きな木は風を招く」と言われるように、WordPress は世界で最も多く使われているブログプラットフォームのため、世界中のハッカーの標的にもなりやすいものです。WordPress のセキュリティを強化することは、すべてのブロガーがやるべきことです。WordPress 公式は定期的にセキュリティアップデートを出していますが、サイトを守れるかどうかは、最終的には自分自身にもかかっています。日本のある機関が過去にコンピューターの被害(攻撃を受けること)の原因を調べたところ、その大部分はシステム自体の問題ではなく、利用者の操作ミスによるものだったそうです。そこで今回は、中国の 月光博客(Moonlight Blog)の記事を参考に、ご自身の WordPress が十分に安全かどうかを確認する方法を紹介します。

以下の内容は http://www.williamlong.info/archives/1617.html からの引用です

1. WordPress を最新バージョンにアップグレードする

一般に、新しいバージョンの WordPress は古いバージョンより安全性が高くなっています。既知のさまざまなセキュリティ問題が修正されており、特にメジャーアップグレードでは、より重大な問題も解決されることがあります。 (たとえば、古いバージョンの WordPress には remv.php の重大な脆弱性があり、DDoS 攻撃を受ける可能性がありました。最新の 2.7 にアップグレードすれば、この問題は解決されます)

2. WordPress のバージョンを隠す

header.php テンプレートを編集し、WordPress のバージョン情報をすべて削除します。こうすると、ハッカーがページのソースを見ても、最新版を使っているかどうかを判断できなくなります。

3. WordPress のユーザー名を変更する

WordPress の管理者アカウントが「admin」という名前で管理者権限を持っていることは、ハッカーなら誰でも知っています。そのため、そのアカウントが狙われます。新しいユーザーを作成して管理者権限を与え、古い admin アカウントを削除しましょう。こうすると、ハッカーに管理者のユーザー名を推測されにくくなります。

管理人の補足

  1. この記事も参考にしてください: https://coder.tw/?p=2222
  2. 手動で変更する場合は、wp-config.php の設定も忘れずに編集してください。

4. WordPress のユーザーパスワードを変更する

WordPress をインストールすると、システムからランダムなパスワードがメールで届きます。これを変更してください。このパスワードは 6 文字しかないため、10 文字以上で、英字・数字・記号をできるだけ組み合わせた複雑なパスワードに変更しましょう。

5. WordPress フォルダの一覧表示を防ぐ

WordPress はデフォルトで /wp-content/plugins/ 以下にプラグインをインストールします。通常、このディレクトリを直接開くとインストールされているプラグイン名がすべて表示されてしまいます。これは非常に危険で、ハッカーに既知のプラグインの脆弱性を突かれるおそれがあります。対策として、このディレクトリに空の index.html ファイルを置けば防げます。もちろん、Apache の .htaccess ファイルを編集しても同じ効果があります。

6. wp-admin フォルダを保護する

特定の IP アドレスからのみ WordPress の管理画面フォルダにアクセスできるように制限することで保護できます。それ以外の IP アドレスからのアクセスには、「アクセス禁止」のメッセージを返します。ただし、ブログを管理できるのは 1〜2 か所に限られます。 また、ルートディレクトリの .htaccess ファイルが置き換えられないように、wp-admin ディレクトリにも新しい .htaccess ファイルを置いてください。

7. 検索エンジンからの保護

WordPress のシステムファイルの多くは検索エンジンに登録される必要がないため、robots.txt ファイルを編集して「Disallow: /wp-*」という行を追加します。

管理人の補足:robots.txt ファイルはサイトのルートディレクトリに置かれ、検索エンジンに収録させるファイルと、させないファイルを決めるものです。

8. Login Lockdown プラグインをインストールする

このプラグインは、ログインに失敗した IP アドレスと時刻を記録します。ある IP アドレスからのログイン失敗が一定の回数を超えると、そのアドレスからのログイン試行をシステムがブロックします。

9. WordPress データベースのセキュリティ

データテーブルには、デフォルトの wp_ という接頭辞を使わないほうがよいです。また、データベースのバックアッププラグインをインストールしてください。どれだけ保護していても、データベースは定期的にバックアップすべきです。WordPress Database Backup などのプラグインを使えば、定期バックアップが可能です。

管理人の補足:インストール時に wp_ を変更しなかった場合は、データベースを手動で編集するか、Wordpress Security Scan を使って変更できます。

10. Wordpress Security Scan プラグインをインストールする

このプラグインは、上記のセキュリティ推奨事項に沿って WordPress を自動的にスキャンし、既存の問題を見つけてくれます。比較的簡単に使えます。