今回はセキュリティを強化してくれるプラグインを設定していきます。対策プラグインにもいろいろありますが、僕がよく使用する『Wordfence Security』をインストールし、設定していきます。
Wordfence Securityのインストール

ダッシュボードのサイドメニューからプラグイン→新規追加をクリックします。

- 検索窓にWordfence Securityと入力
- 表示されたWordfence Securityプラグインの今すぐインストールをクリック

インストールできたら有効化をクリックしてプラグインをアクティブにします。
Wordfence Securityのライセンス登録
次にWordfence Securityを使用するためのライセンスを登録します。無料ですのでご安心ください。

GET YOUR WORDFENCE LISENSEをクリックします。

有料版の案内が表示されますが不要です。Get a Free Licenseをクリックします。

「Are you sure you want delayed protection?」と聞かれますがI’m OK waiting 30 days for protection from new threats.をクリックします。

- メールアドレスを入力
- YESを選択
- チェックを入れる
- Registerをクリック

入力しなくていいのでメールボックスを確認しましょう。

メールボックスを確認してInstall My License Automaticallyをクリックします。

WordPressサイトが開きますのでライセンスインストールをクリックします。

無料版のライセンス登録が完了しました。続けてダッシュボードへをクリックしてセキュリティの設定をしていきます。
Wordfence Securityの設定

サイドメニューのWordfence Securityからダッシュボードを開きます。最初はチュートリアルが表示されますが閉じてOKです。

必須ではありませんが邪魔なので通知を非表示にします。自動アップデートは便利ですが、クライアントサイトの制作を考えるとバグのリスクもあるので無効にしておきましょう。

ファイアウォールとはハッキングなどの不正アクセスからサイトを守る機能のことです。ファイアウォールを管理をクリックして必要な設定をします。

WORDFENCE ファイアウォールの最適化をクリックします。

最適化させるとファイアウォールが1週間の学習モードに入ります。これは
- 安全なサイトにするための保護方法
- 読者やユーザーと悪質なハッキングプログラム
といった情報を見分ける方法を自動的に学習するものです。このとき万が一、自動学習が間違ってユーザーを弾いてしまうなどの状態になったときに元に戻せるよう、学習前のデータを保存しておきます。
.HTACCESSをダウンロードをクリックし、管理しやすい場所に保存しておきましょう。

.htaccessを保存したら次へをクリックします。

インストール成功が表示されればOKです。学習モードに入ります。
WordPressのバージョンを非表示にする
次に現在のWordPressのバージョン情報が漏れてしまわないように非表示にする設定をします。
これだけを聞くと「なんのために?それ必要なの?」と思うかもしれませんが超重要です。前回の講座で話しましたが、WordPressは世界シェアダントツ1位のCMSですので、そのぶんハッキングの攻略情報も多いです。
WordPressはバージョンごとにハッキング方法・攻撃コードが違いますので、バージョンがわかってしまうとそれだけで攻略の壁が低くなります。必ず非表示にさせましょう。

サイドメニューのWordfenceからすべてのオプションを開き、Wordfenceの一般的なオプションをクリックします。

- WordPressのバージョンを隠すにチェックをいれる
- 変更を保存をクリック
そのほかはデフォルトのままでOKです。
通知メールの設定
次に自分への通知メールの設定をします。サイトを運営しアクセスが増えてくれると、当然攻撃の回数も増えます。
そのためあまりにも細かな通知は邪魔にもなるので必要最低限の設定にします。

サイドメニューのWordfenceからすべてのオプションを開き、通知メールの設定の項目をクリックします。

| Wordfence が自動更新されたらメールで知らせる | |
| ⚫︎ | Wordfence が自動更新されたらメールで知らせる |
| Wordfence Web アプリケーションファイアウォールがオフになっている場合にメールで通知する | |
| ⚫︎ | この深刻度レベル以上のスキャン結果を通知する |
| IP アドレスがブロックされたら通知する | |
| ログインがロックアウトされたら通知する | |
| 漏えいしたパスワードの使用によりログインがブロックされたら通知する | |
| ⚫︎ | 有効なユーザーに対して「パスワード紛失」フォームが使用されたらアラートする |
| 管理者権限のある人がサインインしたときにアラートする | |
| ⚫︎ | 管理者以外のユーザーがサインインしたときにアラートする |
| ⚫︎ | サイトで検出された攻撃が大幅に増加したらアラートする |
ブルートフォース保護の設定
次にブルートフォース保護の設定をします。ブルートフォースとはハッカーがプログラミングしたクローラーで、手当たり次第にユーザーIDやパスワードを入力してログインしようとすることです。
わかりやすいIDや短いパスワードを使用すると簡単に突破されてしまいます。この回数などを制限するためにブルートフォース保護の設定をします。

サイドメニューのWordfenceからすべてのオプションを開き、ブルートフォース保護の項目をクリックします。

回数などは任意ですが、このとおりの設定で問題ないはずです。
| 何回ログインに失敗するとロックアウトされるか | 10回 |
|---|---|
| 何回パスワードを忘れたらロックアウトするか | 10回 |
| どの期間の失敗をカウントするか | 1時間 |
| ユーザーをロックアウトする期間 | 1時間 |
ユーザーIDの漏洩保護の設定
次にユーザーIDの漏洩防止についてです。

ブルートフォース保護の設定画面をそのまま下にスクロールすると
- WordPress のログインエラーで有効なユーザーを表示させないようにする
- ‘/?author=N’ スキャン、oEmbed API、WordPress REST API および WordPress XML サイトマップによるユーザー名の発見を防ぐ
という項目があります。
デフォルトでチェックが入っているはずですが、ここは必ずチェックを入れてください。よくわからないと思いますので、役割を解説します。
ログインエラー時のID非表示設定

ログインページでログインに失敗したとしても、ユーザーIDがあっているとご丁寧に「(ユーザーID)のパスワードが間違っています」と表示されてしまいます。

チェックを入れることで非表示にできます。
author情報の非表示設定
もうひとつはauthorの漏洩防止です。

自分のサイトを開き、トップページのURLの後ろに
(URL)/?author=1となるようにコピペしてみてください。

するとなんとログイン時に使用するユーザーIDが表示されてしまいます。これを防ぐための設定になります。

プラグインで設定すると非表示にできます。
ログインページにreCAPTCHAを設定する
最後にログインページにreCAPTCHAを設定します。reCAPTCHAとは、ログインページやお問い合わせページからサイトに侵入しようとするクローラーからサイトを守るためのサービスです。
このreCAPTCHAにはクローラー(機械)と人間を区別する機能があり、V1、V2、V3とバージョンがあります。
V1

V2


V3

reCAPTCHAというと聞き馴染みはないかもしれませんがこれを見たら「あー、これのことか」と思うんじゃないでしょうか。
V1とV2はテキストを読ませたり、写真から選択させたりして「人間に実動作」をさせますがV3はマウスポインタやページのスクロールといった動きから人間か人間じゃないかを自動で判断します。
このreCAPTCHAの設定は少し面倒なのですが、Wordfence Securityであればかんたんに設定できます。

まずこちらのリンクからreCAPTCHAのサイトにアクセスします。

画面右上の+アイコンをクリックします。

| ラベル | ドメインを入力 |
|---|---|
| reCAPTCHAタイプ | v3を選択 |
| ドメイン | ドメインを入力 |
サブドメイン、サブディレクトリであっても、ルートドメインを入力して設定すればOKです。

認証用のキーが発行されます。WordPress側の設定で使用しますので画面は閉じずにいてください。

サイドメニューのWordfenceからログインセキュリティを開き、設定のタブを開きます。


ログインページ右下にreCAPTCHAにアイコンが表示されればOkです。
WordPressのセキュリティ対策は必須ですのできちんと設定しておきましょう。
今回は以上となります。お疲れさまでした。