WordPressのセキュリティ対策が簡単にできるプラグイン4選

加藤さん

WordPressのセキュリティ対策でおすすめのプラグインを教えてください

こんにちは、リュウセイです。

あなたはWordPressのセキュリティ対策をちゃんとやっていますか?

WordPressって結構セキュリティ面が脆弱なんですよね。世界で最も使われているCMSだけあって、常にハッカーから狙われています。

「セキュリティ対策」と聞くと何だか初心者には難しそうなイメージがありますが、プラグインを導入するだけで意外と簡単に対策できますよ。

僕はWordPressブログを2年運営していますが、ブログを始めた当初からセキュリティ対策は色々とやってきました。

そのおかげで、今に至るまで大きな被害は受けていません。ぜひあなたにも安全にWordPressブログを運営してほしいので、初心者でも出来るセキュリティ対策についてご紹介していきますね。

WordPressのセキュリティ対策が簡単にできるプラグイン4選

初心者でも簡単にセキュリティ対策ができるプラグインは次の4つです。

  • Google Authenticator
    ログインを2段階認証にする
  • SiteGuard WP Plugin
    幅広くセキュリティ対策ができる
  • Really Simple SSL
    簡単にSSL化が出来る
  • Akismet Anti-Spam
    スパムコメントを駆逐する

順番に見ていきましょう。

ログインに2段階認証を導入する「Google Authenticator」

WordPressのログインは「ユーザー名」と「パスワード」が必要ですが、Google Authenticatorを有効化すると「Google認証コード」が追加されます。

認証コードはスマホにインストールしたAuthenticatorの専用アプリで取得するので、スマホを奪われない限り不正ログインされる心配はありません。

導入方法については、以下の通り。

①Google AuthenticatorのWordPressプラグインをダウンロードする(上記の画像をクリックするとZIPファイルをダウンロードできます)
②WordPressダッシュボードの「プラグイン」→「新規追加」からプラグインのZIPファイルをアップロードする
③ダッシュボードの「設定」から「Google Authenticator」に移動して、「Authenticator」の欄にチェックを入れて「変更を保存」をクリック
④スマホにAuthenticatorアプリをインストールして、QRコードを読み取る

以下のリンクをスマホで開いて、Authenticatorアプリをインストールしてください。

⑤Authenticatorアプリを起動して、下にスクロールすると「+」ボタンがあるのでタップ
⑥「QRコードをスキャン」をタップ
⑦QRコードを読み取ると設定が保存される
⑧Authenticatorアプリに表示される6桁の認証コードをWordPressのAuthenticatorに入力して、「認証コードを確認」をクリックすると設定は完了
⑨後はログイン時にAuthenticatorアプリで生成される認証コードを入力するだけ

以上です。

ちょっと工程が多くて面倒くさいですよね。僕も画像を用意するの面倒くさかったです。

面倒くさいですが、設定する価値は大いにあるので必ずやっておきましょう。これをやっておくだけでセキュリティ対策はかなり万全になりますから。

ただ、導入手順を読んでお分かりの通り「スマホが手元にないとWordPressにログインできなくなる」という弱点があります。

一度ログインすればしばらくはログイン状態が続きますが、いつかは切れるので、スマホはできるだけ手元に置いておくようにしましょう。としか言えないですね。

幅広くセキュリティ対策が出来る「SiteGuard WP Plugin」

様々なセキュリティ対策ができる万能プラグインです。

具体的には、以下の通り。

  • 管理ページへのアクセス制限
  • ログインページのURL変更
  • ログインページ等に画像認証を追加
  • ログイン詳細エラーメッセージの無効化(特定防止)
  • 機械的なログインをブロック
  • ログインを知らせるメールの送信
  • フェールワンス(必ず一回はログインを失敗させる)
  • XMLRPC防御(DDoS攻撃やブルーフォース攻撃を防ぐ)
  • ユーザー名漏えい防御
  • 更新通知を送信
  • WAFチューイングサポート

分からないところは飛ばしてOK。要はこのプラグインを入れておけば安心安全だということです。

個人的には、個人サイトにここまでの機能はいらないかなと思っており、僕はGoogle Authenticatorだけで対策しています。後は手動で出来る対策をちょっとしているだけですね(※後述します)。

ただ、「ログインURLの変更」はかなり大事なことです。と言うのも、WordPressの初期ログインURLは

  • https://xxx.com/login/
  • https://xxx.com/admin/
  • https://xxx.com/wp-admin/
  • https://xxx.com/wp-login.php

となっているので、もし初期値から変更していない場合だと簡単にログイン画面まで到達されてしまうからです。

ログイン画面にまでいければ、後はユーザ名とパスワードを特定するだけになるので、ログインURLは初期のものから変更しておくのが望ましいです。

SiteGuard WP Pluginの設定方法については、公式サイトにてご確認ください。

使用方法 – WebセキュリティのEGセキュアソリューションズ

有効化するだけで簡単にSSL化が出来る「Really Simple SSL」

SSL化とは「通信の暗号化」であり、第三者によるハッキングを防ぎます。

「SSL化ってどうやるの?」が正直なところだと思いますが、やり方は以下の2つがあります。

  • サーバー側でSSL設定を行う
  • SSLプラグイン「Really Simple SSL」を使う

SSL設定には「SSL証明書」が必要ですが、これは有料と無料があるので、今あなたが契約しているサーバーのSSLプランを確認してみてください。

例えば大手レンタルサーバーであるエックスサーバーでは「無料独自SSL」というのがあり、サーバー契約と同時にSSL証明書も無料で発行してくれます。

基本はサーバー側の操作でSSL対応させていきますが、やり方は分からないという場合は、SSLプラグイン「Really Simple SSL」を使いましょう。

SSL証明書さえ発行されていれば、「Really Simple SSL」をインストールして有効化するだけでSSL対応できます。

余談ですが、SSLに対応していないサイトは通信内容が第三者にダダ漏れなので、くれぐれも未SSLサイトでクレジットカードなどの個人情報は入力しないようにしましょう。

大手通販サイトならどこもかしこもSSL対応しているので安心ですが、SSL対応は義務ではないので、SSL対応していない個人サイトなんてザラにありますからね。

SSLしていないと「保護されていない通信」という表記がアドレスバーに出るので、これで見分けることができます。

SSL対応していないサイト例

スパムコメントを排除する「Akismet Anti-Spam」

サイトを運営していると、スパムコメントが頻繁に送られてきます。スパムコメントとは「サイト内容に全く関係のない悪質なコメント」のことですね。

よくあるのが、詐欺サイトのURLを貼り付けたコメントを送ってくる例で、大体が英語です。

奴らは自動ツールを使って無作為にスパムコメントを送ってくる詐欺業者です。これを貼り付けられると、読者にとっても鬱陶しいし、検索エンジンからのサイト評価も落ちる可能性があるのです。

そんな糞みたいなスパムコメントを排除するのが「Akismet Anti-Spam」。

これを入れておくだけでスパムコメントから完全に身を守ることができます。

インストールして有効化するだけでOKなので、絶対に入れておきましょう。

プラグイン無しで出来るセキュリティ対策

ここまで4つのプラグインをご紹介しましたが、「Really Simple SSL」はサーバー側でSSL設定できれば要らないので、

  • Google Authenticator
  • SiteGuard WP Plugin
  • Akismet Anti-Spam

上記の2~3つは確定で入れることをおすすめします。

それを前提として、次はプラグイン無しで出来るセキュリティ対策についてご紹介していきますね。

ログインURLを変更する

ログインURLはデフォルトのものから変更するのが望ましいです。ログインURLを書き換えるにはプラグインを使うのが手っ取り早いですが、プラグイン無しでもできます。

ただ、初心者向けの方法ではないのであしからず。手順は以下の通りです。

  1. ログイン用のPHPファイルを作成する
  2. 「functions.php」を編集する
  3. 新しいログインURLでログインできるか確認する

順番に見ていきましょう。

①ログイン用のPHPファイルを作成する

例えば「https://xxx.com/new-login-url.php」というログインURLにしたい場合は、「new-login-url.php」の名前でPHPファイルを作成します。

そのPHPファイルに以下のコードを記述してください。

<?php
define( 'LOGIN_CHANGE', sha1( 'keyword' ) );
require_once './wp-login.php';
?>

コード2行目の「keyword」には、あなたの好きなワードを入れましょう。適当にhappyとかでもいいです。

PHPファイルが出来上がったら、FTPソフトを使ってサーバーにアップロードしましょう。またはレンタルサーバーの管理画面からアップロードしても同じことです。

②「functions.php」を編集する

functions.phpはテーマファイルの中でも特に重要なファイルなので、編集前は必ずバックアップを取ってきましょう。バックアップには「UpdraftPlus」がおすすめです。

バックアップを取ったら、functions.phpに以下のコードを追記してください。一番下に追記する形でOKです。

// WordPressの管理画面ログインURLを変更する
define( 'LOGIN_CHANGE_PAGE', 'wp-test-login.php' );
add_action( 'login_init', 'login_change_init' );
add_filter( 'site_url', 'login_change_site_url', 10, 4 );
add_filter( 'wp_redirect', 'login_change_wp_redirect', 10, 2 );

// 指定以外のログインURLは403エラーにする
if ( ! function_exists( 'login_change_init' ) ) {
  function login_change_init() {
    if ( !defined( 'LOGIN_CHANGE' ) || sha1( 'keyword' ) != LOGIN_CHANGE ) {
      status_header( 403 );
      exit;
    }
  }
}

// ログイン済みか新設のログインURLの場合はwp-login.phpを置き換える
if ( ! function_exists( 'login_change_site_url' ) ) {
  function login_change_site_url( $url, $path, $orig_scheme, $blog_id ) {
    if ( $path == 'wp-login.php' &&
      ( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false ) )
      $url = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $url );
    return $url;
  }
}

// ログアウト時のリダイレクト先の設定
if ( ! function_exists( 'login_change_wp_redirect' ) ) {
  function login_change_wp_redirect( $location, $status ) {
    if ( strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false )
      $location = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $location );
    return $location;
  }
}

上記コードの2行目

define( 'LOGIN_CHANGE_PAGE', 'wp-test-login.php' );

の「wp-test-login.php」は、①で作成したファイル名で置き換えてください。

そして10行目

if ( !defined( 'LOGIN_CHANGE' ) || sha1( 'keyword' ) != LOGIN_CHANGE ) {

の「keyword」は、同じく①で指定したkeywordを入れましょう。このkeywordが、ログイン用PHPファイルとfunctions.phpを結びつけるキーワードになります。

このfunctions.phpへの書き込みにより、①で作成したログインURL以外でのログインをシャットアウト(403エラー)できます。

これで下準備は全て完了ですね。

③新しいログインURLでログインできるか確認する

①で作成したログインPHPのファイル名がログインURLになるので、ちゃんとそのURLでログインできるか、およびそれ以外のログインURLでのアクセスをシャットアウトできているかを確認しましょう。

指定のログインURLでのみログイン画面にアクセスできた場合は、無事に成功です。お疲れ様でした。

メタ情報を非表示にする

メタ情報にはログイン画面へのリンクが貼られているので、必ず非表示にしておきましょう。せっかくログインURLを変更しても、これでは意味がありませんからね。

ウィジェットからメタ情報のパーツを外せばOKです。ログインURLはスプレッドシートなどにメモをしておきましょう。

ログインパスワードを難しいパターンにする

WordPressに限らずですが、ログインパスワードは難しいパターンのものを使うようにしましょう。

パスワードの生成におすすめなツールはLUFTTOOLS|パスワード生成です。

①強度を「最強」、文字数を「12文字」、個数を「50個」に設定
②「生成」ボタンを押すと下にパスワードが生成されるので、好きなものを選ぶ

WordPressのログインパスワードを変更する手順は以下の通り。

①ダッシュボードの「ユーザー」を開き、ログインで使用しているユーザー名をクリック
②新しいパスワードを設定→セッションのログアウト→プロフィールを更新で完了

パスワードはつい自分が覚えやすいものに設定しがちですが、そうなるとパスワードの強度は自ずと低くなりがちです。パスワードの覚えやすさと強度はトレードオフなので、ブラウザにパスワードを記憶させるかメモを取るようにしていきましょう。

定期的に更新する

WordPressやテーマおよびプラグインは定期的にアップデートするようにしましょう。

更新があるとダッシュボードに通知がされるので、更新通知がきたらなるべく早く更新するのがいいですね。

ただ、WordPressのアップデートは少し癖があって、時々バグが発生します。基本的にはすぐアップデートしていいのですが、バグが怖い場合は修正版が出るまで待機するか、「WP Rollback」でバージョンを巻き戻しましょう。

なぜ定期的に更新した方がいいかと言うと、古いバージョンのまま放置しておくとセキュリティホールが発生するからです。

そのセキュリティホールもサイトへの不正アクセスに繋がりかねないので、アップデートが配信されたらすぐに更新するのが望ましいということですね。

定期的にログインする

定期的にログインすることは、上で書いたバージョンの更新のためにも重要ですし、サイトに不審なところは無いかチェックするためにも重要なことです。

ここで書いたセキュリティ対策を実装していれば、そうそう不正ログインなどの被害はないと思いますが、最低でも一ヶ月に一回はログインするのがいいですね。

それでは、以上です。
ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です