カテゴリー
plugin Synology WordPress

[WordPress] スパム・コメント対策にreCaptchaプラグイン – 更に、「Statify」/ 「SiteGuard WP」でログイン画面の守りを固める – セキュリティ対策△

[WordPress] スパム・コメント対策にreCaptchaプラグイン – 更に、「Statify」/ 「SiteGuard WP」でログイン画面の守りを固める – セキュリティ対策△

-ID4929 [2021/09/17]

スポンサーリンク: ID6183593457

はじめに

自前NASにWordPressを導入してblogを発信していることを前提にしています。Synology NAS/Routerには、それぞれのマシンのログインや、Synologyが独自で提供する各種サーバーの守りは、それぞれのOS (DSM/SRM)で完結できます。しかし、WordPressは独自に守る必要があります。そのために、WordPressのためのプラグインが存在しています。

これまで、たとえば、スパム・コメントの対策には、「Throws SPAM Away」にお世話になっていました。その役割も、僕の知識も変化・発展したことで、reCaptchaなるGoogleが提供するセキュリティ対策へと移行しています。更に、冒頭で述べたように、WordPress自体を守るために、新たなプラグインとして「Statify」、「SiteGuard WP」を更に導入しました。

注) Throwは野球でいう「スローイング」のスロー、投げるの意。

スポンサーリンク
  • オムロン BY50S用パック by Amazon ID:22171
  • オムロン BY50S by Amazon ID22170
  • Synology 高機能無線ルーター 800Mbps + 1,733Mbps(11a/b/g/n/ac対応) 高セキュリティ VPN Plus対応 RT2600ac by Amazon ID24327
  • エレコム LANケーブル CAT6A 5m 爪折れ防止コネクタ ホワイト LD-GPA/WH5 by Amazon ID24327

試したプラグイン

スポンサーリンク
by Rakuten ID:15895

reCAPTCHAで試したのは、2つ。一つ目の「reCAPTCHA in WP comments form」は、コメントの送信ができなかったので使えず、使えたのは2つ目の「reCaptcha by BestWebSoft」を稼働させることにした。

  • reCAPTCHA in WP comments form
    • 8ヶ月前のupdateで、互換性テストがされておらず、結果的には、コメントの送信ができなかったため、使用できなかった。
  • reCaptcha by BestWebSoft
    • Pro版もあり、メンテナンスはされています。Pro版でない無料版のまま使用することにした

スポンサーリンク: ID4219953367

プラグイン

reCAPTCHA in WP comments form

reCaptcha by BestWebSoft

reCaptcha by BestWebSoft

Throws SPAM Away

日本語が含まれないコメントは、強制的にコメント送信しても廃棄するプラグインです。現在は使用していません。

Statify

Statifyの機能

「Statify」は、サイトのアクセス数をカウントしてくれるプラグインです。純粋なページへのアクセスに関して「Google Analytics」は、詳細なレポートを示してくれます。Statifyを導入する意義を確認するためにStatifyとの比較をしたところ、結果が異なっていました。Statifyでは、/login/へのアクセスがカウントされていたのに、Google Analyticsではカウントされていなかったのです。

/login/へのアクセスは、私が知らないアクセスでした。不正なアクセスを試みているものと判断できました。Statifyをインストールして約半日の集計で、すごい勢いでアクセス数が増えるのが観察されました。その反日での結果、/login/のアクセス数は、200を超えました(下図に205とある項目)。少し愕然としました。そんなにアクセスを試みるハッカーがいるものだと。「Statify」を、セキュリティ対策プラグインとして採用することにしました。

わかったこと

  • Google Analyticsは、善意の第三者がページを閲覧することを前提にしたページモニタリング・ツールである。すなわち、Statifyがカウントするログインページのカウントはない。
  • Statifyは、アクセスした数を実直にカウントしてくれる。すなわち、ログインページのカウントもしてくれるので、セキュリティ対策としてのモニタリング・プラグインとして使用が可能と判断した。

スポンサーリンク: ID6183593457

SiteGuard WP

SiteGuardの機能

Statifyが示した愕然する程のログイン画面への多数のアクセス数、この結果を受けて調べました。デフォルトのログイン・リンクは変更すべきなのです。プラグインを使用せずに、PHPファイルにコードを加える方法でも可能なのですが、30行から50行程度のコード追加が必要です。メンテナンスが大変そうなので、プラグインで対応することにしました。

「SiteGuard WP」は、デフォルトである/login/を、安易に想像できないパーマ・リンクに設定する機能を持っています。SiterGuard WPをインストールした途端、即時に/login/をランダムな数で修正するので、当然ですが、その瞬間から/login/へのアクセスの増加は無くなりました。変更後のパーマ・リンクのアクセスのカウントもモニターされていません。「SiteGuard WP」を、セキュリティ対策プラグインとして採用することにしました。

上記の機能と説明について、以下に捕捉します。

  • ログインページ変更
    • /login/のデフォルトから変更
  • 画像認証
    • bot対策です。かな文字を画像として表示して、それを入力するように促す機能

以上のSiteGuardによるログイン・ページの変更だけで不正ログインを試みる事例は、一時期極端に減少しました。しかし、運用開始から1週間後の夜中から今日の朝方にかけて約8時間程度で、3つのIPアドレスからの3,000回以上で、WordPressログイン画面に対してアタックを受けました。このログは、SiteGuardの「ログイン履歴」からわかったことです(下図参照)。Google Analyticsではカウントされ無いものです。

  • XMLRPC防御
    • XMLRPC (XML形式のデータを使いHTTPの通信、RPC: remote procedure call)は、WordPressが開発された当時が実装されているログインしたりリモート制御したりするときに使用する通信機能の1つですが、現在ではREST APIというものに置き換えられています。
    • XMLRPCには全弱性があるため無効にすべきです。
    • XMLRPCにある1つの機能であるピンバック機能のみを無効化するか、XMLRPC全体を無効にするか、いずれかを選ぶことができます。

WordPressのxmlrpc.php詳細ガイド(xmlrpc.phpとは、セキュリティリスク、無効にする方法)- kinsta –

https://kinsta.com/jp/blog/xmlrpc-php/

ロックは完璧

以下の図は、ログ画面の一部です。内容を確認してみると、3つのIPアドレスからの不正なログインアタックが記録されているのが分かりました。下図の例では、3回失敗した後は、ロックされる設定にしているため、その後のアクセスはロックされているのが分かります。

次の対策

念の為、危険なIPアドレスを知った後の処置です。自前のSynology NASまたはSynology RouterがGeteになっているなら、ファイアウォールの設定をしておきます。完全に「出禁」に設定してしまうのです。

Synology NAS/Routerの場合は、下図を参考にして、以下の通りで設定します。

  1. コントロールパネル (Synology Routerの場合; ネットワークセンター)→ セキュリティ → ファイアウォール (タグ)
  2. ファイアウォール プロファイル → 規則の編集
  3. 「作成」をクリック
    • 全てのポート
    • 特定IP → ソースIP → 単一ホスト(を設定)
    • 拒否
  4. OKで登録

以上の手順で、危険と思われるIPアドレスをファイアウォールに登録しました。しばらくは、この方法で運用して様子を見てみます。

スポンサーリンク: ID4219953367

まとめ

コメントのスパム対策から始めたこの記事でしたが、それではサイトの守りはままならないことがわかってきました。AMPプラグインとの相性の問題から、一部のページの守りには、reCaptcha を使えています。しかし、ログイン・ページの守りは、これまでは不十分でした。純粋にアクセス数をカウントする「Statify」プラグインの導入をきっかけに、「SiteGuard WP」プラグインと併用することで、ログイン・ページの守りを強固なものにすることができます。確認された危険なIPアドレスはファイアウォールに拒否リストとして登録します。しばらくは、この運用で様子を見てみます。

編集履歴

2019/12/25,はりきり(Mr)
2021/01/07,追記(Statify, SiteGuard WPをセキュリティ対策プラグインとして採用)
2021/01/23,追記(WPへの不正アクセス試行を発見し対処する方法)
2021/09/17,追記(XMLRPC防御について),文言整備
スポンサーリンク
  • 【Amazon.co.jp 限定】HP USBメモリ 128GB USB 3.1 スライド式 金属製 HPFD796L-128 GJP by Amazon - ID 24751
  • 3Dプリンター ダヴィンチ Jr. 1.0(造形サイズ15×15×15cm) - 環境に優しい土に返るPLAフィラメント - ダビンチ Jr. 1.0 XYZプリンティングジャパン by AMAZON ID21513
  • 3Dプリンター|ダヴィンチ1.0 pro|オートキャリブレーション機能付|オープンフィラメント可|ABS対応|造形サイズ20×20×20cm|レーザー刻印機能拡張可|積層ピッチ0.02mm~|3F1AWXJP00F - XYZプリンティングジャパン by AMAZON ID21511
  • ABS使用可 造形サイズ175×175×175mm オープンフィラメント可 オートキャリブレーション機能付き レーザー刻印機能拡張可 金属系PLA拡張可 3FJSPXJP00G - ダビンチ Jr.Pro X+ XYZプリンティングジャパン by AMAZON ID21509
  • zedela 5-in-1 USB-Cハブ【3ポート5Gbps by Amazon - ID 24751
スポンサーリンク

用語の解説、関連タグ付き投稿の抽出

Google

[WordPress] Google Adsense導入 – 必要な手順とセッティング – 広告プラグインを選ぶ – 運用の実際 – ID9539 [2021/01/04]
[WordPress] Google AdSense登録の手順 △ID8940 [2020/08/24]
検索[する] – 色んな検索サイト – (プロテイン、図や写真、Googleトレンド、IPアドレス) – ID23 [2021/01/26]

reCAPTCHA

WordPress

[WordPress] 2020年初心者によるWordPressを構築し快適に運用するための必須プラグイン一覧 (2020/03/10現在) – ID10673
[WordPress] Google Adsense導入 – 必要な手順とセッティング – 広告プラグインを選ぶ – 運用の実際 – ID9539 [2021/01/04]
[WordPress] Google AdSense登録の手順 △ID8940 [2020/08/24]
[WordPress] アバターを作る方法 – Gravatar – ID8936 [2020/02/09]
[WordPress] 初期設定でblogサイトに作ってしまったサブディレクトリを外す方法 – Google AdSenseには、サブディレクトリは不要 – △ID8814

スパム

[WordPress] SPAM Management – Throws SPAM away プラグイン – スパムコメントの排除 – △ID4016

セキュリティ

[Synology] NASのセキュリティを強化する方法のリンク
[Synology] RT2600ac – Threat Prevention ユーティリティで重大度が高いパケットのドロップ設定、ポリシー設定でローカルネットワークを守る – △[2021/05/15]
[Synology] Router / SRM 1.2.3-8017 Update 3にUpdateされた時から、RT2600acを守っているThreat Preventionからの警告e-mail連絡がなくなった件 – ID2861
スポンサーリンク ID 7130582967

- 以下のツールに敬意を示します -
Support to AMP (Accelerated Mobile Pages) by official AMP plugin for WordPress, and compatible powered by
Post viewing : Flex Posts - Widget and Gutenberg Block