WordPressでファイアウォールはどのように対処するのがベストなのだろうか?
WordPressを設置すると、直ぐに悩まされるのはスパムコメント・ブルートフォースアタックではないでしょうか?
スパムコメントをブロックする為に、おなじみなのは「Akismet」ですね。
現在ではGoogleのreCAPTCHAで、ある程度ブロック出来ているようですが、スパム対策プラグインの導入はしておいた方がいいと思ってます。
「Akismet」は「沢山ブロックしてますよ。」とアナウンスはされるのですが、実際のところコメント機能を使用していないサイトには不要ですし、ブロックしたログが見れる訳でもありません。(私が知らないだけでログを取得する方法があるかもしれません)
何件ブロックしましたより、「こんなスパムがありましたよ」と報告された方が運営する側も参考になるような気がします。
それならば、スパムコメント・ブルートフォースアタック等がまとめて対処できて、ログも残してくれるファイアウォールの方が効率がいいような気がしませんか?
以前まではJetpackを使用していたのですが、スパムコメント対策は「Akismet」連携にて対処しているようなので、Jetpackの他の機能が必要でないなら導入に疑問符が・・・。
いろいろ探してみると「Wordfence」というプラグインが見つかりましたので、早速導入テストに入ってみました。
Wordfenceのリアルタイムトラフィックに注目
Wordfenceを早速導入してまました。
導入にあたって「Akismet」「jetpack」は有効にしたままですが、Wordpress6.1では問題なく機能しているようです。
左の画像はWordPressのダッシュボードに報告されるプラグインの内容ですが、それぞれ機能していますね。
AkismetとJetpackのスパムブロック数が同じなのは単にAkismetのログをJetpackがそのまま表示しているので当然ですね。
実際のスパムコメントをご覧になった方も多いと思いますが、コメントの設定を承認後表示にしておけば、後は消すだけなので私はあまり脅威を感じた事はありません。
ブルートフォースアタックに関しても、殆どが古いWordPressがインストール時に自動的に作っていた「admin」というユーザーに対しての攻撃なので、これも定期的なPW更新管理さえしておけば、あまり脅威には感じません。
注目したいのは「Wordfence」の”リアルタイムトラフィック”のログです。
「404」や「301」のエラーログが沢山ありますが、詳細で表示したログに注目して下さい。
これはテーマファイル「seotheme」の「mar.php」にアクセスしようとしたログです。
このサイトには「seotheme」というフォルダーにインストールされるテーマファイルはありませんので、当然「404」のエラーになるのですが、「seotheme」がインストールされていた場合、「mar.php」がハッカーのバックドアになる可能性があるのでは?と思いませんか?
その他にも、テーマやプラグインの脆弱性を狙った攻撃が、このログからもはっきりと認識できるのではないか!と思いますが、如何でしょうか???
悪意がなくてもネット上でWebスクレイピングをしている方はいらっしゃるので、判別する出来る知識はある程度必要だと思いますが、変なログはチェックしておきたいですよね。
全てが悪意のあるアクセスでは無いので、ご自身で判断出来ない方への導入は検討の余地があると思いますが、以下の設定をするだけでも導入するメリットがあるかもしれません。
上記はブルートフォースアタックからの保護設定です。
bot等からの攻撃を連続5回検知すると、そのIPアドレスからのログインを4時間ブロックするという設定です。(回数やブロックする時間は自由に設定できます)
また、ブログに設定されていないユーザー名でのログインは即座にロックするという機能を使って、ログからそのユーザー名をリスト化すると更に安心ですね。
スキャンでマルウェア・コンテンツの安全性を確認です。
スキャンはマルウェア感染のチェックやプラグインのアップデート・WordPressのインストールされたディレクトリに不信なファイルはディレクトリが無いか等をチェックしてくれます。
有料版へのアップグレードをしなくても、無料版でこれだけの機能が使用できる「Wordfence」はお薦めです。
コメント