WordPress のセキュリティ対策の本命、Wordfence の使い方です。
Wordfence とは
WordPress を保護するセキュリティソフトで無料でも利用できます。
有料版を使えばリアルタイム保護などセキュリティが充実します。
セキュリティプラグインに求める信頼性としては、400万回以上のインストールとレビューの高い評価から確認できます。
メリット
特筆すべきはエンドポイント ファイアウォールです。
レンタルサーバーにアンチウイルスソフトを導入できたらいいのに。って思っている方にぴったりで、拡張保護機能を使えばすべての PHP リクエストは、実行前にファイアウォールによって処理されます。
クラウド型のファイアウォールが主要な WordPress のプラグインの中では頭一つ飛び抜けていると思います。
デメリット
エンドポイント保護による代償としては、サーバーのリソースを利用します。
筆者が利用している限りでは、エックスサーバーや mixhost クラスの処理能力のあるレンタルサーバーでは処理が重たいと感じたことはありません。
また、処理が重たいと感じた場合はしょぼいサーバー用設定もある親切仕様です。
主な機能
- ファイアウォール:WordPress コア、プラグイン、およびテーマを攻撃から保護します。
- マルウェアスキャン:悪意のあるアクセスを検出してマルウェアの侵入をブロックします。
- ログインセキュリティ:ブルートフォース保護、XMLRPC 保護、自動化された攻撃をブロックする reCAPTCHA、IP アクセス制御など、不正なログインを門前払いします。
- 二要素認証:安全なサービスの標準要件になっている二要素認証を無料版で利用できます。
説明書
このページを順番に進めば基本的な設定が完了します。
さらに詳細な情報が必要な場合はわかりやすいマニュアルが用意されているので、そちらで確認してください。
Wordfence の導入方法
WordPress にファイアーウォールプラグインをインストールします。
Wordfence Security は WordPress プラグインディレクトリから自動でインストールできます。
インストールして有効化すると Wordfence Security が起動して
- セキュリティアラートを送信するメールアドレスの入力
- メーリングリスト参加の可否
- 利用規約や契約、プライバシーポリシーのチェック
の必要事項を記載して[次へ]を押します。
有料版のプレミアムライセンスキーの入力画面です。無料版を利用するので[いいえ、結構です]を押します。
有料版と無料版の違い
- Wordfence Premium:有料版 は年1万円程度の料金で、リアルタイムのファイアウォール ルール、マルウェア シグネチャ、国のブロックを取得し、動的に更新される IP ブロックリストを使用して 40,000 を超える悪意のある IP をブロックします。プレミアムカスタマーサポートが含まれています。
- Wordfence Free:無料版は、サイトを安全に保つために必要な基本的なツールで攻撃をブロックします。ファイアウォール ルールとマルウェア シグネチャは 30日間の遅延があります。
Wordfence の設定方法
Wordfence が起動します。
上部通知にある「サイトをできるだけ安全にするために、Wordfence Web アプリケーションファイアウォールを最適化する時間を取ってください。」の[設定するにはここをクリック]を押します。
Wordfence ファイアウォールの最適化が開きます。
- サーバーの構成が分かっている場合はプルダウンから選択してください。(分からない場合はそのままでOK)
- .htaccess や .user.ini ファイルをダウンロードしてください。最適化に失敗した場合に置き換えると元に戻せます。
- ファイルのダウンロードなど準備が完了したら次へボタンが有効になります。[次へ]を押して設定を完了します。
Wordfence の使い方
Wordfence は有効化するだけで自動的にファイアウォールやマルウェアスキャンなどの機能を最適化するので、特に設定をする必要がありません。
学習モード
Wordfence は最初の1週間、学習モードに入ります。
学習モード期間中にユーザーの利用方法を学習し、正当な訪問者と不正なスパマーをファイアウォールに通すかを理解します。
学習モードが終わった後に、訪問者をブロックしたり、スパマーをブロックしなかったり、通常運営でエラーが出る場合は、再度学習モードをかけることによって改善する場合があります。
WordPress ダッシュボード左メニューから [Wordfence]内[ダッシュボード]を押します。
Wordfence のダッシュボード画面の[ファイアウォール]内[ファイアウォールを管理]を押します。
ファイアウォールのオプション画面が開くので、[ファイアウォールの基本オプション]内[Web アプリケーション ファイアウォールの状態]から学習モードの切替ができます。
- 有効で保護中
- 学習モード
- 無効
状態を切り替えた場合は右上の[変更を保存]を押します。
学習モード中に下記のような利用をすると、正当な利用方法として登録されます。
- 投稿やページを書いて公開する
- テーマのスタイルを変更する
- プラグインの設定を変更する
- ウィジェットの追加または削除
- コメントを書く、または管理する
- 他のプラグインのすべての機能を使用する
テーマやプラグイン、ユーザなどを新規インストールして複数のアクションがブロックされたり、一部の機能が動作しないエラーがでる場合は、再度学習モードをかけることによって許可されるべき利用方法として登録されます。
学習モードを手動でオンにすると、次の時自動的に有効化で日付を設定しないと有効期限が切れません。
忘れないように学習期間を設定するか、手動による有効で保護中を設定してファイアウォールの保護をしてください。
スキャン
Wordfence のスキャンを利用すれば WordPress サイト上のファイルを調べて、ハッカーがインストールした悪意のあるコード、バックドア、およびシェルを見つけます。また、既知の悪意のある URL と既知の感染パターンをスキャンします。
スキャンを使えばマルウェアなどを見つけてくれます。
スキャン方法
WordPress ダッシュボード左メニューの[Wordfence]内[スキャン]を押します。
スキャン画面が開くので[新しいスキャンを開始する]を押すとスキャンが始まります。
スキャン設定
[スキャンオプションとスケジューリング]を押すとスキャンの管理画面が開きます。
スキャンオプションとスケジューリング
問題やこだわりがなければ初期値でスキャンすれば良いと思います。スキルがともなえば詳細な設定をしてください。
- スキャンのスケジューリング
- スキャンタイプの基本オプション
- 基本設定
- パフォーマンスオプション
- 高度なスキャンオプション
スキャンタイプの基本オプション
利用するスキャンタイプにチェックを入れて、右上の[変更を保存]で確定して、スキャンしてください。
- 限定スキャン:メモリが少ないなどしょぼいサーバー用。標準スキャンができない場合に利用してください。
- 標準スキャン:普段使いは標準スキャンでどうぞ。
- 高感度:ハッキングされた可能性がある場合に試してください。しっかり調べるので誤検出する可能性があります。
- カスタムスキャン:一般オプションがこのサイト用にカスタマイズされている場合、自動的に選択されます。
日本語化
現在の Wordfence はインストールすれば日本語化されています。
詳細な設定方法が利用できるので、英語など他言語で表示されている場合は再インストールするなどして日本語化した方が使いやすいです。
メール
メールアドレスの変更や通知メールの頻度を変更できます。
メールアドレスの変更方法
WordPress ダッシュボード左メニューの[Wordfence]内[すべての設定]を押します。
すべての設定画面が開くので[Wordfence の全般設定]内[Wordfence の一般的なオプション]の[アラートメールの送信先]でメールアドレスを変更して[変更を保存]を押して確定します。
通知メールの設定
アラートメールの送信方法を選択できます。
WordPress ダッシュボード左メニューの[Wordfence]内[すべての設定]を押します。
すべての設定画面が開くので[Wordfence の全般設定]内[通知メールの設定]で
- 通知して欲しい項目に[チェック]入れて
- 不要な項目の[チェック]を外して
[変更を保存]を押して確定します。
IP ブロック方法
WordPress ダッシュボード左メニューの[Wordfence]内[ファイアウォール]を押します。
IP アドレス
ファイアウォール画面が開くので[ブロック]タブ内[ブロックルールの作成]の[ブロックタイプ]から[IP アドレス]を選択して
- ブロックする IP アドレス
- ブロック理由
を入力して[この IP アドレスをブロック]を押します。
国別
使いたい機能ですが有料になります。ブロックタイプの国別を利用したい場合はプレミアムへアップグレードしてください。
カスタムパターン
カスタムパターンは
- IP アドレス 範囲
- ホスト名
- ブラウザー ユーザーエージェント
- リファラー
など条件設定ができます。
条件を入力後ブロック理由を記入して[このパターンに一致する訪問者をブロック]を押します。
ブロックの解除方法
サイトに関する現在のブロックから
- ブロック解除
- 永続化する
- すべての IP をエクスポート
できます。
リアルタイムトラフィック
Wordfence ライブトラフィック は、ユーザーのログイン、クラッキングの試み、Wordfence ファイアウォールでブロックされたリクエストなど、サイト上で何が起こっているかをリアルタイムで確認できます。
WordPress ダッシュボード左メニューの[Wordfence]内[ツール]を押します。
ツール画面が開くので[リアルタイムトラフィック]タブを選択するとトラフィックを確認できます。
全ての記録を展開すると
- ブロック IP
- WHOIS を実行する
- 最近のトラフィックを見る
- ファイアウォール許可リストにパラメータを追加
等の操作が可能です。
2段階認証
Wordfence Login Security は「あなたの知っていること(パスワード)」と「所有しているもの(スマートフォンなどの端末)」を利用した、2要素認証を利用します。
2要素認証にはワンタイムパスコードが必要です。
Google Authenticator や Microsoft Authenticator などの認証アプリケーションを使用して固有コードを生成してください。
筆者は Android の認証アプリ、Authy を使用しています。
WordPress ダッシュボード左メニューの[Wordfence]内[Login Security]を押します。
Two-Factor Authentication 画面が開くので、Android 端末の Authy アプリでQRコードを読み取ります。
二要素認証を有効にする方法
Android 端末の Authy アプリを起動して新しいエントリを登録します。
右上の[︙]押します。
メニューが開くので[Add Acount]を押します。
[Scan QR Code]を押して WordPress の「Wordfence Login Security」ページに表示されている QRコードを読み取ります。
Search logo by app に欲しいロゴのヒントを入力するとロゴを呼び出せます。
ロゴを選択したら[CONTINUE]を押します。
Account Nickname でアカウントに名前を付けます。
Enter Account Nickname の入力欄にわかりやすい名前を付けて[Save]を押します。
token が表示されます。
Authy で表示されたトークンを「Wordfence Login Security」ページに入力して[ACTIVATE]を押します。
「Download Recovery Code」が表示されるので[ダウンロード]を押します。
デバイスを紛失した場合はリカバリーコードを使用できます。ファイルを印刷または保存して安全な場所に保管してください。
2要素認証が利用可能になりました。
- DEACTIVE:を押すと2要素認証を停止できます。
- GENERATE NEW CODE:を押すとリカバリーコードを作成できます。
2要素認証のログイン方法
WordPess のログイン画面で[ユーザー名またはメールアドレス]と[パスワード]を入力して[ログイン]を押します。
2FA 入力画面が開くので端末の認証アプリケーションに表示されている 2FA CODE(ワンタイムパスコード)を入力して[Login]を押すと、2要素認証でログインできます。
毎回2要素認証がしんどい時の対処法
WordPress ダッシュボード左メニューの[Wordfence]内[Login Security]を押します。
上部の[Settings]タブを選択して「Allow remembering device for 30 days」に[チェック]をいれます。
設定を変更したら[SAVE]を押して確定してください。
有効にすると、2FA が有効になっているユーザーは、デバイスごとに 30日に 1回だけコードの入力を求めるように選択できます。
自分メモ
Wordfence を利用する際にハマった場所の備忘録です。
Wordfence のインストールの注意点
お試しでインストールする場合は、データベースもバックアップをとっておきます。
データベースを多く利用するプラグインですが、アンインストールしてもデータベースは削除されません。
この仕様により Wordfence を再インストールした時に以前利用していたデータをそのまま使えます。
Wordfence を今後使わないとか、まっさらから運用し直したい場合
データベースを削除する方法です。
WordPress ダッシュボード左メニューの[Wordfence]内[すべての設定]を押します。
すべての設定ページの[Wordfence の全般設定]内[Wordfence の一般的なオプション]内[無効化時に Wordfence のテーブルとデータを削除する]にチェックを入れて右上の[変更を保存]を押します。
すると、無効化時に Wordfence のテーブルとデータを削除するのでアンインストールしてください。
再インストールの注意点
再インストール時に必要なデータは、「Wordfence ライセンス」と「メールアドレス」
Wordfence ライセンスキーの記録場所は、すべての設定ページの[Wordfence の全般設定]内[Wordfence ライセンス]内[ライセンスキー]に記録されています。
Wordfence ファイアウォールの最適化がうまくいかない場合
ファイルをダウンロードした後に[次へ]ボタンが押せない状態でした。そんな場合は
問題には切り分けが必要です。
- サーバーに新規 WordPress をインストールして Wordfence を有効化すると全てスムーズに最適化もスキャンも問題なく完了しました。サーバーに問題なし。
- サーバーに問題が無いことがわかったら、プラグインの競合が怪しいので他のプラグインを無効化して試してみる。
- それでもだめなら、WordPress のクリーンインストールを試してください。
手動構成の方法
[手動構成]を選択して[次へ]を押します。
手動インストールの手順が表示されるので理解できたら[閉じる]を押します。
必要なファイルが作成されました。以下のコードを php.ini に挿入して、インストールを完了します:
auto_prepend_file = ‘/home/サーバーID/example.com/public_html/wordfence-waf.php’
SiteGround へのインストールや、複数のサイトで1つの php.ini を共有する場合など、別のセットアップ手順の詳細は、ドキュメント (新しいタブで開きます) に記載されています。
Xサーバーの設定方法
サーバーパネルにログインして PHP の[php.ini設定]を押します。
ドメイン選択画面で該当ドメインを[選択する]押します。
php.ini設定画面が開くので[php.ini直接編集]タブを選択。
「php.ini設定内容」から auto_prepend_file =
の記述を見つけて指定されていた、auto_prepend_file = '/home/サーバーID/example.com/public_html/wordfence-waf.php'
に書き換えます。
[確認画面に進む]を押します。
確認画面で記述に問題が無ければ[確定する]を押すと php.ini の編集が完了します。
Wodfence ファイアウォール最適化の場所
サーバーの設定が反映されているか確認します。
Wordfence のダッシュボードを開きます。ファイアウォール内[ファイアウォールを管理]を押します。
ファイアウォールのオプション画面が開きます。保護レベルでボタンが「拡張プロテクトを解除する」になっていれば、保護モードが有効になっているので成功です。
保護レベルから拡張保護機能の切替ができます。
レート制限
初期値では無制限ですが、不審なアクセスが連続する場合は制限するように設定します。
WordPress ダッシュボード左メニューの[Wordfence]内[すべての設定]を押します。
すべての設定画面が開くので[ファイアウォールのオプション]内[レート制限]で変更できます。
Wordfence のマニュアルで確認した数値
- 誰かのリクエスト数が超過:[分当たり 120]にて[それを制限]
- クローラーのページビューが超過:[分当たり 120]にて[それを制限]
- クローラーのページが見つからない (404) が超過:[分当たり 30~15]にて[それをブロック]
- 人間のページビューが超過:[分当たり 120]にて[それを制限]
- 人間のページが見つからない (404s) が超過:[分当たり 30~15]にて[それをブロック]
筆者の設定値
BBQ Firewall のインストール
さらにセキュリティを強化するために、BBQ Firewall もインストールする。
まとめ
Wordfence の設定方法でした。
非常にアクセスの多いサイトや現在大量のアタックを受けているサイト以外なら、無料版で事足りてしまうほど機能が充実しています。
2段階認証も導入して大事なサイトのセキュリティを重厚にしてください。
コメント