[WordPress] マルチサイトのセキュリティ②:All in One WP Securityの3つの基本対策

技術メモ

マルチサイト対応の無料プラグイン

先に紹介したInvisible reCaptcha導入で、マルチサイトのボット対策はできましたが、WordPressのログインURLの変更といった根本的な対策まではできません。シングルサイトの場合はSiteGuardという優れた無料のセキュリティプラグインがありますが、残念ながらマルチサイトには対応していないので対象外となります。

マルチサイト対応の無料セキュリティプラグインとしては、All in One WP Securityが挙げられます。ただこちらはInvisible reCaptchaの時と違って、ネットワーク内の各サイトで個別に設定が必要になります。抱えているサイト数が多い場合はちょっと手間かも知れませんが、それでも導入して損はないです。

各サイトの設定の手間が最小限で済むように、2-3の設定に絞って紹介します。

All in One WP Securityの有効化

マルチサイトの「サイトネットワーク管理>プラグイン」で All in One WP Securityをインストールし、「サイトネットワークで有効化」します。すると、All in One WP Securityがサイトネットワークに属する各サイト側で個別に有効化されます。

サイトネットワーク側でAll in One WP Securityを有効化

「参加サイト>任意のサイト>ダッシュボード」で各サイトの管理画面に行くと、左メニューに「WP セキュリティ」という項目が増えているのが分かります。以下の画面は親サイトのWPセキュリティのダッシュボードです。

サイト側に「WPセキュリティ」が出現

設定1:ファイアーウォール設定(親サイト)

ひとつめはファイアーウォール設定で、これはマルチサイトの親サイト側でのみ設定可能です。.htaccessに特別なコードを挿入することでサイトネットワーク全体を保護する機能をONにします。

①親サイトの管理画面で「WP セキュリティ>ファイアーウォール」を開きます。(子サイトにはこのメニューは表示されません)
②「基本的なファイアウォール保護を有効化」をチェックしてください。とりあえずそれ以外は設定不要です。
③画面下までいき「基本ファイアーウォール設定を保存」します。

ファイアーウォール設定(親サイトのみ)

設定2:ログインページURLを変更(各サイト毎)

次はWordPressのログインURLの変更です。これはネットワークに属するサイト毎に個別に設定する必要があります。(今回は親サイトの例ですが、子サイトすべてに同様の設定を行ってください)

①「WP セキュリティ>総当たり攻撃」を開くと、デフォルトで「ログインページの名称を変更」タブが開きます。
②「ログインページの名前変更機能を有効化」をチェックし、その下のログインURLに任意の文字列をセット。
③「設定を保存」すると、wp-login/、wp-admin/へのアクセスができなくなります。

この設定を行ったら、必ず新しいログインURLをメモ(またはブックマーク)しておくこと!全サイト分について控えることをおすすめします。

各サイト毎にログイン画面のURL変更

※SiteGuardとの違い:SiteGuardでのログイン画面変更はIP識別なので、自宅のWifi使ってればどのブラウザ(デバイス)からでもwp-admin/でアクセス可能でした。しかしAll in One WP Securityのログイン画面変更はブラウザ単位でセッションの有無が識別されるため、例えばChromeでセッションがあればwp-admin/でアクセスできますが、FireFoxで未ログインなら弾かれます。

設定3:ログイン画面にCaptchaを設置(親サイト)

これはログイン画面に簡単な「問題」を表示してボットを防ぐ機能です。Invisible reCaptchaが導入済みであれば無理に設定する必要はないですが、ログインの敷居を高くしておくに越したことはありません。これも親サイトでのみ設定できる項目になります。

①親サイトの管理画面で「WP セキュリティ>総当たり攻撃>ログインCaptcha」を開いて、以下の3つ全部をチェックします。(てっぺんにGoogle reCaptcha設定もありますが、これはv2用なので飛ばします。やるならInvisible reCaptchaの記事で解説したとおり、v3を導入したほうが良いです。)
・ログインページで CAPTCHA を有効化 ☑
・パスワード再設定フォームで CAPTCHA を有効化 ☑
・カスタムログインフォームで CAPTCHA を有効化 ☑
②「設定を保存」すると、ログイン画面に「19+3=」みたいな計算問題が出現し、ボットが不正ログインできなくなります。

キャプチャ設定(親サイトのみ)

実際のログイン画面はこのような状態になり、簡単な計算問題が表示されます。(ログインが少し手間ではありますが、reCaptcha v3と共存させることができるところはSiteGuardのひらがな認証と似ています。)

ログイン画面に計算問題が表示される

All in One WP Securityの注意点

以上、マルチサイトでやっておきたいベーシックな設定を3つ紹介しました。
実際には、All in One WP Securityはもっと高度なセキュリティ設定ができるのですが、自分が施した設定のメリット/デメリットを把握しているのでなければ無闇に設定しないほうが安全です。

例えばネット情報で「ログイン画面のIP制限はやっておいたほうがいい」というアドバイスがあります。固定IPを使っている環境(企業など)では確かにその通りかも知れません。しかし、ほとんどの個人宅のプロバイダ回線は動的IPを使ってます。動的IPに対してIP制限をかけると一見うまく動作するでしょうが、忘れたころに停電などでモデムが再起動になった瞬間にIPが変更になってWordPressにログイン出来なくなります。そういったリスクを想像できないうちは、あまり高度な設定に手を出さないほうが良いと思います。

とりあえず、ここに紹介した対策をやっておくだけでも、丸腰のマルチサイトよりはだいぶ安全になりますので、試してみてください。

にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村「Webサイト構築」ランキング参加中です。ポチッと応援お願いします♪

コメント

この記事へのコメントはありません。

CAPTCHA


naochka

長年IT業界でWeb+デザインをやってました。いまはWordPress中心です。やや技術的な話が多いですが、なぜか世界中あちこち放浪してた関係でたまに想い出を綴ってたりもします。 Wall Street Journalを読む会の英語ナビゲーターやってます。(実は帰国子女)

最近の記事

  1. 第10回 Wall Street Journalを読む会:こんなに市場が冷えても金融破綻が起きていない理由とは?

  2. [名刺デザイン] 旅するカレー:美味しさ伝えるショップカード (実物紹介)

  3. [WordPress] マルチサイトのセキュリティ②:All in One WP Securityの3つの基本対策

  4. [WordPress] マルチサイトのセキュリティ①:reCaptcha v3でボット(スパム)対策

  5. Google Analytics(GA4)でQRコードからのアクセスを計測する方法

次回のWSJ会開催@Peatix

カテゴリー

アーカイブ

TOP