🛡

WordPressのセキュリティまとめ

2023/01/17に公開

WordPressは簡単にサイトやブログを作成でき、自分でコンテンツを管理できる便利なソフトウェアです。また、オープンソースであり、誰もがダウンロードし導入できます。

しかし、WordPressはセキュリティ問題がよく取り上げられます。
コンテンツやファイル改ざん、データベースの不正操作、実に多くの問題が取り上げられます。WordPressはオープンソースであるからこその問題が山積みです。

そこで、最低限のセキュリティを紹介します。自分・自社のサイトを守るためにご参考ください。

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

WordPressは、機能の研鑽からセキュリティに対してアップデートを行っています。なるべく最新を保つようにして、脆弱性をつかれないようにしていきます。

管理画面のダッシュボードにてアップデートの知らせが表示されているはずです。見過ごさないようにしましょう。

プラグインの脆弱性問題

プラグインを入れている場合、それぞれのバージョンによっては重大な脆弱性が発見されます。

例えば、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

脆弱性の解決

無料で使用できるプラグインは便利ですが、常にバージョンは変わっていき、その度にセキュリティの見直しが図られていることがほとんどです。
常にプラグインのバージョンを最新に保つと同時に、脆弱性などのニュースにもアンテナをはることが重要です。

ユーザーID取得を防ぐ

WordPressでは投稿者アーカイブが作られるため、クエリパラメータを使用することでユーザーIDを取得できるようになっています。

# 以下を打ち込むと
サイトURL/?author=1
# 以下にリダイレクトされる
サイトのURL/author/ログインID/

ユーザー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');

ルート上のコアファイル問題

WordPress導入後、ルートにはコアファイルが置いてあります。
攻撃者からすると、ファイルの場所は簡単にわかってしまうので攻撃の的になります。

コアファイル隠蔽方法

サブディレクトリを設置します。
その配下にWordPressファイルを入れることで、攻撃者からファイルの場所を隠蔽します。

  1. サーバールート上に任意のディレクトリを作成します。
  2. 管理画面からWordPressアドレスを変更します。
  1. ルート上のindex.phpを任意ディレクトリにコピーします。
  2. index.phpと.htaccessを残した他のファイルやディレクトリを任意ディレクトリに移動させます。
  3. ルート上のindex.phpを書き換えます。
index.php
<?php
...

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

ユーザーID、パスワードの見直し

ユーザーIDやパスワードは簡単に破られるものではいけません。

例えば簡単なパスワードは以下が参考になります。
王道の「123456」「qwerty」など、覚えやすいですが同時に狙われやすいものばかりです。
https://internet.watch.impress.co.jp/docs/column/dlis/1376907.html

ID、パスワードを強化する

ユーザーIDについては、サイト名とはなるべく関係のないように設定することをお勧めします。パスワードは複雑な英数字が入っているようにします。

以下のツールを使用して、パスワードを設定してみてください。
https://www.luft.co.jp/cgi/randam.php

ログインURLの変更

WordPressでは /wp-login.php で管理画面へアクセスできます。この状態だと管理窓口を常に開けている状態になります。攻撃者にもつつぬけの状態になっています。
窓口までたどり着けないよう、ログインURLを変更します。

ログインURLを変更するには以下のプラグインを使用すると便利です。無効リクエストの際のリダイレクト先や、新しいログインファイルの設定などができます。
https://ja.wordpress.org/plugins/login-rebuilder/

スパムコメント

WordPressではコメント機能も備わっていますが、よくスパムコメントが届きます。
例えば、名前にmalware-z.xxxみたいな名前を入れて見る人に不安感を与えてきます。そして添付されたURLなどにアクセスすると情報を抜き取られたり変なサイトへ飛ばされたりします。

Akismetプラグイン

スパムコメント判定で自動振り分け削除してくれるプラグインになります。これで誤ったコメントに振り回されることがありません。
設定方法はここでは言及しませんが、以下の記事が参考になります。
https://blog-bootcamp.jp/start/wordpress-akismetantispam/

コメント欄設定しないなら

そもそもコメント欄を設けなければ、設定からコメント無効化できます。
以下の記事が参考になります。
https://kinsta.com/jp/blog/wordpress-disable-comments/

さいごに

いかがでしたか。
WordPressにはさまざまなセキュリティ問題があり、対応すべきものだとわかってもらえれば何よりです。

この記事が皆さんのWordPressライフの一助になることを願っています。

Discussion