🔐

WordPressセキュリティ対策ガイド

に公開

WordPressは簡単にサイトやブログを作成でき、誰でも無料で利用できるオープンソースのCMSです。しかし、オープンソースであるがゆえに、セキュリティ問題が頻繁に取り上げられます。

本記事では、WordPressサイトを守るための最低限のセキュリティ対策を紹介します。

1. WordPressバージョンを最新に保つ

WordPressは機能改善とセキュリティ対策のために定期的にアップデートされています。脆弱性を狙われないよう、常に最新バージョンを保ちましょう。

確認方法: 管理画面のダッシュボードにアップデート通知が表示されます。

2. プラグインの脆弱性に注意

プラグインのバージョンによっては重大な脆弱性が発見されることがあります。

事例: SEOプラグイン「All in One SEO」の脆弱性
https://blog.sucuri.net/2021/12/critical-vulnerabilities-in-all-in-one-seo-plugin-affects-millions-of-wordpress-websites.html

対策

  • プラグインを常に最新バージョンに保つ
  • セキュリティ関連のニュースに注意を払う
  • 不要なプラグインは削除する

3. ユーザーID取得を防ぐ

WordPressではクエリパラメータを使ってユーザーIDを簡単に取得できてしまいます。

# 以下のURLにアクセスすると
サイトURL/?author=1

# 以下にリダイレクトされる
サイトのURL/author/ログインID/

対策

authorクエリパラメータのリクエストをトップページにリダイレクトします。

// functions.php
function shut_author_query() {
  if( preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING']) ){
    wp_redirect(home_url());
    exit;
  }
}
add_action('init', 'shut_author_query');

4. コアファイルの隠蔽

WordPress導入後、ルートディレクトリにコアファイルが配置されます。攻撃者にとってファイルの場所が予測しやすく、攻撃の標的になりやすい状態です。

対策: サブディレクトリ化

ファイルをサブディレクトリに移動し、攻撃者から場所を隠蔽します。

手順:

  1. サーバールート上に任意のディレクトリを作成
  2. 管理画面から「WordPress アドレス(URL)」を変更
  3. ルート上のindex.phpを任意ディレクトリにコピー
  4. index.php.htaccess以外のファイル・ディレクトリを任意ディレクトリに移動
  5. ルート上のindex.phpを書き換え
// index.php
<?php
// ...existing code...

/** Loads the WordPress Environment and Template */
require __DIR__ . '/[任意ディレクトリ]/wp-blog-header.php';

5. ユーザーIDとパスワードの強化

簡単に推測できるユーザーIDやパスワードは危険です。

脆弱なパスワードの例:

  • 123456
  • qwerty
  • password

参考: https://internet.watch.impress.co.jp/docs/column/dlis/1376907.html

対策

  • ユーザーID: サイト名と関連性のないものを使用
  • パスワード: 複雑な英数字と記号の組み合わせを使用

パスワード生成ツール: https://www.luft.co.jp/cgi/randam.php

6. ログインURLの変更

WordPressは/wp-login.phpで管理画面にアクセスできるため、攻撃者に管理窓口が露呈しています。ログインURLを変更して攻撃を防ぎましょう。

対策: Login Rebuilderプラグイン

無効なリクエストのリダイレクト先や新しいログインファイル名を設定できます。

プラグイン: https://ja.wordpress.org/plugins/login-rebuilder/

7. スパムコメント対策

コメント機能を有効にしていると、スパムコメントが大量に届くことがあります。悪意のあるURLや不安を煽る内容が含まれることも多いです。

対策1: Akismetプラグイン

スパムコメントを自動判定して振り分け・削除してくれます。

設定方法: https://blog-bootcamp.jp/start/wordpress-akismetantispam/

対策2: コメント機能を無効化

コメント機能が不要な場合は、設定から無効化できます。

参考記事: https://kinsta.com/jp/blog/wordpress-disable-comments/

まとめ

WordPressには様々なセキュリティリスクがありますが、以下の対策を実施することで大幅にリスクを軽減できます。

主な対策:

  1. WordPress本体とプラグインを常に最新に保つ
  2. 不要なプラグインは削除する
  3. ユーザーID取得を防ぐ
  4. コアファイルをサブディレクトリに隠蔽
  5. 強力なIDとパスワードを使用
  6. ログインURLを変更
  7. スパムコメント対策を実施

定期的なセキュリティ見直しで、安全なWordPressサイトを維持しましょう。

Discussion