WordPressを利用している方はセキュリティ対策の方法が気になりますよね。
世界中で最も利用されているCMSの一つであるWordPressは、脆弱性や不正アクセスの報告が後を絶ちませんので、セキュリティ面で不安に思う方が多いかと思います。
しかし自分でインストールするシステムだからこそセキュリティ対策はご自身で万全にしておく必要があります。
そこで、今回はWordPressのセキュリティ対策におすすめのセキュリティプラグインを6つ紹介いたします。
セキュリティプラグイン6選
使いやすい国産プラグインなら「SiteGuard WP Plugin」
プラグインの特徴
最初に紹介するのは国産のセキュリティプラグインである「SiteGuard WP Plugin」です。高度な設定はできませんが、基本的なセキュリティ対策はこれ1つで行う事ができます。管理画面もすべて日本語で書かれていますので、初心者にも簡単に利用することができます。プラグインをインストールして有効化するだけでセキュリティ対策が機能します。
主な機能
管理ページへのアクセス制限
/wp-admin/以降のフォルダに対してアクセス制限をかける機能です。特定のファイルやフォルダに対して除外パスを指定することができます。
ログインページ変更
ブルートフォース攻撃やリスト攻撃等の対策として、デフォルトのwp-login.phpの名前を変更する機能です。
画像認証
「ログインページ」「コメントページ」「パスワード確認ページ」「ユーザー登録ページ」の4つのページに対して画像認証を設置することができます。画像認証の文字は「ひらがな」と「英数字」が選択できます。
ログイン詳細エラーメッセージの無効化
ユーザー名の存在を調査する攻撃を受けにくくするための機能です。ログインに関するエラーメッセージがすべて同じ内容になります。
ログインロック
ログイン失敗を繰り返す接続元を一定期間ロックします。「ログイン期間」「ログイン回数」「ロック時間」の3つについて設定することができます。
ログインアラート
ログインがあったことをメールで通知します。メールのサブジェクトやメール本文をカスタマイズできます。指定された変数、「サイト名」「ユーザー名」「日付」「時刻」「IPアドレス」「ユーザーエージェント」「リファラー」などを使用することができます。
フェールワンス
正しいIDとパスワードを入力しても、ログインを1回失敗させる機能です。リスト攻撃を受けにくくします。5秒以降、60秒以内に再度正しいログイン情報を入力すると、ログインが成功します。
XMLRPC防御
Pingback機能を無効にするか、XMLRPC機能全体を無効にするか選択できます。無効にするとXMLRPCを使用したプラグインやアプリが使用できなくなります。
更新通知
「WordPressの更新」「プラグインの更新」「テーマの更新」について更新が必要になったときに、管理者にメールで通知します。更新の確認は24時間ごとに実行されます。
WAFチューニングサポート
サーバにJP-Secure製のWAF(SiteGuard Lite)が導入されている時に、WordPress内での誤検知を回避するためのルールを作成する機能です。除外ルールを作成することで、特定の機能での誤検知を防ぎつつ、全体としてWAFの防御機能を活かすことができます。
トータルでサポート「All In One WP Security & Firewall」
サイトAll In One WP Security & Firewall
プラグインの特徴
WordPressに対してトータルで様々なセキュリティ機能を提供するのが「All In One WP Security & Firewall」です。プラグイン名からわかるように、Firewallを導入することもできます。スパムコメントのブロック機能もあり、管理画面からWhoisでドメイン調査をすることもできます。プラグインのダッシュボードから現在どの程度セキュリティ対策が施されているのか、わかりやすく数値で把握できるようになっています。
主な機能
各種設定ファイルのバックアップ
「.htaccess」や「wp-config.php」などのファイルをバックアップできます。
ログインユーザー名の変更
「admin」ユーザーなどのユーザー名を変更できます。
データベースのテーブルのプリフィックスを変更できます。
デフォルトのテーブルプリフィックス「wp_」などを後から変更できます。
WordPressの各種ディレクトリやファイルに対するパーミッションの設定
WordPressのインストールディレクトリや、「wp-admin」ディレクトリに対してプラグインが推奨するパーミションに変更することができます。
PHPファイルの編集を無効化
管理画面から設定できるテーマファイルなどのPHPファイルエディタ機能を無効にできます。
ブラックリストの設定
特定のIPアドレスやユーザーエージェントを持つクライアントからのアクセスを制限します。
ブルートフォースアタックの防御
ログインページURLを変更できます。
右クリックやテキストのコピーの禁止
WordPressのサイトに対して、右クリックのメニューを非表示にしたり、テキストのコピーを無効化したりできます。
セキュリティ診断なら「Wordfence Security」
プラグインの特徴
現状のWordPressのサイトがどの程度セキュリティ対策が施されているのかチェックすることができます。「Scan」メニューから「START NEW SCAN」をクリックするセキュリティ診断できます。プラグインを有効化すると、WordPressからログイン通知のメールが送られてくるようになります。
主な機能
セキュリティ診断
インストールされたWordPressに対して多角的なスキャンして、セキュリティ診断を行います。
Firewall機能
ホワイトリストやSQLインジェクション対策など様々な項目に対してWeb Application Firewallを設定することができます。フィルタリングルールを自動で学習するモードもあります。
ブロック機能
IPアドレスやユーザーエージェント、リファラーなどの情報をもとにしてアクセスブロック機能を提供します。アクセスブロックされると以下のような画面が表示されます。
ライブトラフィック機能
リアルタイムでロボットや人間などの属性別にアクセス情報を確認できます。
高度な対策なら「iThemes Security」
プラグインの特徴
WordPressに対して様々な項目からセキュリティ対策できるのが「iThemes Security」プラグインです。各セキュリティ対策項目は管理画面上でパネル状にレイアウトされており、プラグインのように個別に有効化・無効化できるようになっているので直感的で使いやすいです。管理画面が一部日本語に対応しているのもうれしいですね。
主な機能
セキュリティチェック
推奨されている機能や設定を使用しているか確認します。
グローバル設定
iThemes Security の機能を制御する基本的な構成を設定します。
Notification Center
ファイルの変更やユーザーのロックアウトに関するメール通知の設定ができます。
404の検出
自動的に悪意あるユーザーからページ周辺のスヌーピング(情報の傍受)をブロックします。
退席中モード
スケジュールによって WordPress のダッシュボードアクセスを無効にします。
禁止ユーザー
サイトへのアクセスを特定の IP アドレスとユーザーエージェントでブロックします。
データベースのバックアップ
サイトのデータベースバックアップを作成します。バックアップは、手動かスケジュールの指定により作成することが可能です。
ファイル変更の検出
予期しないファイルの変更などサイトの監視を行います。
ファイルのパーミッション
サイトの主要な領域にあるファイルとディレクトリのパーミッションを一覧表示します。
ローカルのブルートフォース保護
サイトにランダムでログイン情報を推測しようとする攻撃からサイトを保護します。
ネットワーク・ブルートフォース保護
インターネット上の悪意ある者に対して報告と保護を行うネットワークサイトに参加しましょう。
SSL
ブラウザとサーバ間の安全な通信を保証するために SSL の使用を構成します。
強力なパスワードの実施
WordPress のパスワードメータで評価される強力なパスワードの使用をユーザーへ強制します。
システムの微調整
このサイトのサーバ設定を変更することで、セキュリティの向上をはかる高度な設定です。
WordPress のソルト(暗号化する際に付与されるデータ)
WordPress サイトのセキュリティ強化で使用するシークレットキーを更新します。
WordPress の微調整
WordPress のデフォルトの動作を変更することで、セキュリティの向上をはかる高度な設定です。
基本的な対策のみであれば「BulletProof Security」
プラグインの特徴
WordPressに基本的なセキュリティ機能を追加できるプラグインです。管理画面はすべて英語で書かれているので、使いこなすのは大変ですが、スキン機能を使用することで、管理画面の配色をカスタマイズできるのが特徴的です。カスタマイズの内容によっては、.htaccessファイルを大きく書き換えることがあるので、キャッシュ系のプラグインとの併用は要注意です。
主な機能
アイドル状態のアカウントのログアウト
一定時間操作のないアカウントを強制ログアウトさせることができます。
.htaccessファイルの設定
.htaccessファイルのバックアップや変更ができます。
セキュリティスキャン
WordPressにマルウェアが含まれているかどうかスキャンできます。
メンテナンスモードのカスタマイズ
任意のIPアドレスからのアクセスに対してメンテナンスモードの画面を表示することができます。
CAPTCHA機能の追加
ログイン画面にCAPTCHA機能を追加できます。
データベースのバックアップ機能
バックアップ作業をジョブとして登録することができます。手動でバックアップとるだけでなく、スケジュールを組むことで定期的に自動バックアップできます。
2段階認証の導入なら「Google Authenticator」
サイトGoogle Authenticator
サイトGoogle 認証システム
「Google Authenticator」の特徴
Googleの2段階認証機能をWordPressに追加するプラグインです。2段階認証とはIDとパスワードによる通常の保護に加えて、セキュリティコードを追加することでより安全にWordPressにログインすることができる仕組みです。これにより、もしWordPressのIDとログインが漏洩してしまっても、サイトに対する不正アクセスを防御することができます。
最初にWordPressに「Google Authenticator」プラグインをインストールした後、シークレットキーを生成します。そうするとQRコードが発行されるので、それをスマートフォンアプリで読み取ります。スマートフォンアプリは、
- iPhoneアプリ:Google Authenticator
- Androidアプリ:Google 認証システム
というアプリケーション名です。ストアから検索してあらかじめインストールしておきましょう。アプリケーションを起動すると、以下のように6桁の数字が表示されます。
WordPressにログインするときに、IDとパスワードに加えて、この6桁の数字を入力することで、WordPressにログインできるようになります。
どれを利用すると良いの?
ここまで6つのプラグイン・ツールを紹介いたしましたが、「実際どれを利用すると良いの?」と思うかとも多いかと思います。
そこで独断と偏見でオススメさせて頂きますと、筆者のおすすめは、『使いやすい国産プラグインなら「SiteGuard WP Plugin」』です!
まず国産のプラグインであるということで、日本語対応のためわかりやすい!というのが一番のポイントです。
さらに「Google Authenticator」を組み合わせて2段階認証を導入すると、より強固なセキュリティを実現できます。
プラグインを導入して不具合が出たときの対処法
WordPressにプラグインをインストールすると不具合が発生することがあります。
特に今回紹介したセキュリティプラグインは不正なアクセスを防御するという性質上、設定にミスがあると正当なユーザーのアクセスもブロックしてしまうということが考えられます。
例えばログインページのファイル名(wp-login.php)を変更したけど、変更後のファイル名を忘れてしまったときなどは、ログイン画面を表示させることすらできなくなります。あるいは.htaccessの記述がWordPressの動作環境と相性が悪いと、403エラーなどが発生するかもしれません。
もしそのような事になってしまったら、悪影響を及ぼしているプラグインを強制的に無効化するという方法で一時的に解決させることができます。WordPressをインストールしているサーバにFTPなどでログインして、不具合のあるプラグインのディレクトリ名を一時的にリネームすることでプラグインを無効化することができます。お試しください。
まとめ
世界中に存在するホームページのうち29%のサイトがWordPressで作られているそうです。そのため不正アクセスやのっとりの対象になる可能性も非常に高いといえるでしょう。
今回紹介したプラグインはどれもWordPressのセキュリティを高めるものばかりです。
それぞれがとても便利なプラグインですが、似たような機能を持つものが多いので、同時に動作させると機能が競合して正常に動作しない可能性があります。もし導入を検討しているのでしたら、必ず1つずつ個別にインストール・有効化して検証してください。
セキュリティ対策に「100%」はありませんが、何もしないと0%です。
今回紹介したプラグインはすべて無料で利用できるものですので、ぜひ利用してセキュリティを高めてWordPressを利用しましょう。