はじめまして、宮嶋清人です。主にWebサイトのコーディングやシステムの構築、プログラム等を担当しています。 このシリーズでは、多くのWebサイトで利用されているコンテンツの管理システム(CMS)として有名な「WordPress」に、様々な便利な機能を追加する「プラグイン」のうち、僕がよく導入するものをご紹介していきます。
今回ご紹介するのは、Webサイトの乗っ取りや不正アクセスを防ぐセキュリティ対策プラグイン「SiteGuard WP Plugin」です。
どんなプラグインなのか?
サイトのセキュリティ対策のために役立つ様々な機能が用意されています。我々がWordPressを使ってサイトを作る際にはほぼ全てのサイトに導入しています。非常に便利で、かつ無料で利用できるため、WordPressサイトをお持ちの場合はおすすめしたいプラグインです。
なぜこのプラグインが必要なのか?
どのWebサイトでもサーバーのアクセスログを見ると、一日に少なくとも数百件ほど、サイトへの不正アクセスを試みた記録がみつかります。簡単に推測されるユーザー名・パスワードを使用していなければそうそう不正にログインされてしまうことはないのですが、万一のことを考えると対策はどれだけしておいても損はありません。
主な機能について
このプラグインのうち、よく利用する機能をご紹介します。
ログインページ変更
WordPressの管理画面のURLをデフォルトの「/wp-admin」以外のものに変更します。変更後のURLを知らない場合管理画面にアクセスすることが難しくなるため、攻撃(不正ログイン)されにくくなります。
画像認証
サイトの管理画面にログインする際に、ユーザー名とパスワードの他に、画像認証で表示されるランダムな文字を4文字入力させる機能を追加します。 画像認証では「ひらがな」か「英数字」のどちらかを選択することができます。 ユーザー名やパスワードをひたすら入力し続ける総当たりの攻撃への対策にもなりますし、「ひらがな」の場合は、海外からの不正アクセスの対策になります。
ログイン詳細エラーメッセージの無効化
ログインに失敗した際に表示されるエラーメッセージは、初期状態では「ユーザー名が間違っている場合」と、「パスワードが間違っている場合」などで異なるメッセージが表示されます。このままでは、正しい「ユーザー名」が何であるかを特定しやすくなってしまいますので、どちらの場合でも同じメッセージを表示するようにします。
この考え方は、WordPress以外にログイン機能があるWebサイトやシステムを構築する場合でも重要です。
ログインロック
複数回パスワード入力ミスをした場合、一定時間ログインできなくする機能です。総当たり式の攻撃への非常に有効な対策です。
ログインアラート
サイトの管理画面に誰かがログインした際に、サイト管理者にお知らせのメールを送ります。自分以外がサイトにログインしたことがあればすぐに分かるようになるため、万一不正アクセスがあった場合でも、すぐに発見し、対策できるようになります。
XMLRPC防御
「XML-RPC」はメール等でサイトの記事を投稿する際などに役立つ機能ですが、不正アクセスにも利用されやすいという問題がございます。この機能を活用しない場合はこの設定から「XML-RPC」機能を無効化しておきます。
更新通知
WordPressや導入中のプラグインの最新バージョンが公開された際に、サイトの管理者にお知らせのメールを送ります。必須ではありませんが、重要な更新の見落としを起きにくくするために役立ちます。
フェールワンス
ログイン時に、正しいユーザー名・パスワードを入力しても1度だけエラーにさせる機能です。万が一、サイトの攻撃者に正しいユーザー名・パスワードが入力されてしまった場合でも、気付かれないようにできます。 (ただ、毎回ログインする際に手間になるというデメリットもございます。)
***
このプラグインを入れておくだけで、主要な対策が行なえますが、この他にも、管理画面のログインページにBasic認証を追加する、海外のIPアドレスから管理画面にアクセスできないようにするなど、様々なセキュリティ対策がございます。
こうした対策を行っておけば、おおむね安心してサイトの管理・運用が行なえます。 (もっとも、何らかの方法で管理画面やサーバーのパスワードが外部に漏れたり、知られていないセキュリティーホールが発見されるなどもありますので、どれだけ対策をシても「絶対に」防げるということはないのですが…。)
次回も、様々な案件で利用している便利なプラグインについてご紹介させていただきます。