【SSS】無駄機能被り抹殺!おすすめWordPressセキュリティプラグイン

効果的なプラグインの組み合わせ

数多のセキュリティプラグインをテストした結果、強力なのに速度を犠牲にせず、競合しないと謳っているプラグインを無駄なく効果的に利用する方法を提案する。

追加するプラグインならほぼ設定不要が多く、管理のしやすさも抜群だ。

同時に解決する問題
  • Wordfence(ワードフェンス)AIOWPSなどを使用中だが、ちゃんと設定していない
  • SiteGuardなどのログイン防御のみで、ファイアウォールを入れていない
  • セキュリティプラグインを入れたはいいが、機能が被っている気がする
  • そもそも何を入れるべきなのかわからない

入れてしまえばずっと管理をしなくていいという幻想はセキュリティ的に無理があるので、最低限の管理とカンニング設定ができる人のみやるといい。

スポンサーリンク

なぜ効果的なのか

機能被りを抑えた強力な組み合わせと、足りない部分を補う使い方を意識。

さらに、これから紹介する無料版BBQ(ブロックバッドクエリ)プラグインの中に、まず有料でしかお目にかかれない貴重なSQLインジェクション(SQLi)とクロスサイトスクリプティング(XSS)対策+αが入っていたから。

この2つは最も重大なウェブアプリケーションリスクトップ10、通称OWASP(オワスプ)Top 10で述べられている大人気の攻撃だ。

参考OWASP Top Ten

そして、Wordfenceと双璧をなすAll In One WP Security & FirewallAIOWPS)に提供されているファイアウォールの一部は実はBBQ作者が提供したもので、BBQに統合されている。

さらには軽量・競合しない・設定不要と、人気のWordfenceと併用されることもちゃんと想定されていて、追加の保護をいとも簡単に実装可能だ。

まるですべてのSQLi・XSSに対応するかのように述べているが、セキュリティであるかぎり完璧は存在しないので、ここで錯覚を破壊して現実に突き落としておく。

BBQの実力

実力は以下の画像参照。

有料版でブロック数を確認できるが、最近は突如加速して何も考えずに導入した方が良い気がしてきた。

7月11日までのブロック数
まだ普通だった7月11日
11月7日までのブロック数
久しぶりに見たらドン引き
ぷっぷ
ぷっぷ

急に攻撃増えすぎてドン引き( Ꙭ)

なんと、プラグインである必要もないという、とにかく夢のような何にでもあう魔法のファイアウォールを、ここではとびきりの組み合わせを考えて併用していこう。

スポンサーリンク

とびきりの組み合わせを環境と相談

やりすぎセキュリティでしか紹介されていない、とびきりの組み合わせを試してみるといい。

「すべてのパターンの常時管理」は非現実的なため、最初から「完全に競合しない」とは述べない。ただ、追加するプラグイン側(2段階認証以外)は競合しないことを強く述べているので、ほぼほぼ問題ないはずだ。

Nginx(エンジンエックス)ではない方はほぼ問題ないので、次の組み合わせ早見表まで読み飛ばそう。


魅力的な組み合わせでも、自分の環境と合わなければ意味がない。

とくに、Nginxのレンタルサーバーは基本.htaccessが使えないため、自分がどのようなサーバータイプを使用しているかは確認しよう。

エックスサーバーのように、Nginxでも.htaccessが使えるタイプは、Apache(アパッチ)やLiteSpeed(ライトスピード)と同じように使える。

.htaccessを使うプラグインは以下で、当サイトはNginx環境ではなく詳しくはわからないが、使えるものは()内参考。

  • Wordfence(問題なしの模様。むしろ低確率でLiteSpeedに問題あり)
  • AIOWPS(Nginxのさくらのレンタルサーバで普通に紹介されているので問題ないかも?)
  • Sucuri(バックドア対策のPHP実行阻止が.htaccess記述)
    • マルウェア(ウイルス)スキャンや削除できない履歴は使用可
  • SiteGuard(ログインページ変更で使用)

これから紹介するBBQ・XO Security(総当たり攻撃対策)・MalCare(ファイアウォール)・2段階認証は.htaccess使用。

組み合わせ早見表

サーバーが標準以上の方向け。

総合セキュリティにプラス
  • WordfenceやAIOWPS
  • BBQ
  • 2段階認証(Wordfenceには付属)

弱小サーバー向け総合セキュリティごっこ。

軽量・競合しにくいものと併用
  • XO Security(ログインセキュリティ)
  • MalCare(スキャン付きファイアウォール)
  • BBQ(ファイアウォール)
  • 2段階認証

総合セキュリティにはスキャン(AIOWPSはマルウェアスキャンがない)・ファイアウォール・総当たり攻撃対策の3つが基本含まれているので、BBQでファイアウォールは被っているが、スキャン系と総当たり攻撃対策を別途入れる必要はない。

XML-RPCの無効化に関して

人気攻撃対象のXML-RPCを無効化している方は多いかもしれないが、WordfenceとXO Securityは明確に無効化しないまま総当たり対策で対応可能と述べているし、以下のプラグインはXML-RPC検証サービスを利用した結果、「ログイン失敗扱い」にした。

※XML-RPC検証はメチャメチャ探したら見つかったので、褒めるべき。

  • AIOWPS
  • Sucuri
  • MalCare(マルケア)
  • SiteGuard WP Plugin

つまり、この記事で述べたすべてが失敗扱い=ロック対象にしたので、述べるまでもなく対応しているのが当たり前だったようだ。

ぷっぷ
ぷっぷ

これでJetpackやスマホ投稿が使えるし、突如XML-RPCを使う機能が増えたりしても乗り遅れないね!

追記:2019年8月30日

WordfenceにもXML-RPC無効化機能が追加されていた。ログイン試行回数で仕事をしているため当サイト的には重要視していないが、一応Login Security Settings(ログインセキュリティ設定)で紹介している。

2段階認証の扱い

2段階認証は効果テキメンすぎるので、当サイトではベタ褒め。

有料総合セキュリティにほぼ付いてくるため、無限にお金があるなら不要。

追記:2019年8月30日

Wordfenceの2段階認証が無料化したため、miniOrange不要になった。

Wordfence主軸

2020年:現最強構成

99%まず間違いなくWordfence主軸がおすすめ。重いといってもエックスサーバー・mixhostレベルならスキャン程度のごく一部の時間であり(それでも体感なし)、常時重いのはロリポップレベルの弱小サーバーだろう。

エックスサーバー・mixhost・カラフルボックス(480円のBOX1プランはどうなるか知らない)・さくらのレンタルサーバ・ConoHa WINGのような、月額1,000円を取られそうなところのこと。

WordfenceはBBQ公式でも述べられている想定された組み合わせなので、何かあったら真っ先に対応されるはず。

すでにインストール済みなら、せっかくある設定を見直すだけで底上げができる。

といいつつ、当サイトはあろうことかセキュリティを落とし、軽量設定版も紹介。

2段階認証認証が無料化したことにより、もうこの組み合わせは他の追随を許さない。

Wordfenceを使うなら他の組み合わせを見てもしょうがないので、何も入れなくてもWordPressは安全まで読み飛ばし推奨。

All In One WP Security & Firewall(AIOWPS)主軸

Wordfenceの重さが気になったり、相性が悪い場合の定番乗り換え先。

できれば「Wordfenceが本当にダメなのか」をきちんとテストすることを勧める。

こちらにはマルウェア(ウイルス)スキャンが付いていないので、その部分は無料版MalCare(マルケア)にやらせよう(記事で述べている)。

そして、BBQとAIOWPSのファイアウォールはモロ被りなのをお忘れなく。

厳密にいうとBBQとAIOWPSに搭載されている6Gファイアウォールは、若干違うのでうまく機能する。効果が薄くなるのは否定できないが、その場合は買い切りのBBQ PROを検討するといい。

非常に機能が多いとはいえ不要部分も多いので(名前も長い)、こちらも見直し推奨。

Sucuri Security主軸

追記:2020年1月19日

Wordfenceに突き放されて現時点で全くオススメできないため、軽量かつ.htaccessに記述しない組み合わせ(弱小サーバー用)まで読み飛ばし推奨。

軽量とは述べられていないが、重いとも噂されないWordfenceより先に検討すべき有料ファイアウォール会社のプラグインを使い、総合セキュリティと同じような保護範囲を目指せる方法。

このプラグインはSucuriの調査結果のもと、下の画像「感染傾向」上位のBackdoor(バックドア)とMalware(マルウェア)に対抗する機能を、うまいこと仕込んでいる。

感染傾向

出典:Hacked Website Report 2017 Statistics | Sucuri

PHP実行を防ぐバックドア対策が.htaccess記述のため、Nginxはこの部分を使えないと思われるが、マルウェアスキャンと削除できない変更履歴、その他ブラックリスト確認などおまけも付いているので、それほど気にならないはずだ。

軽量かつ.htaccessに記述しない組み合わせ(弱小サーバー用)

管理しやすく、上記3つの組み合わせと同じくらい魅力的な「.htaccessに一切記述しない」ことを重視した組み合わせ。

Wordfenceに耐えられないロリポップレベルの弱小サーバーにとてもおすすめ。

ライト(月額250円~)・スタンダードプラン(月額500円~)がおそらく重い。

この辺は検索で調べると出てくるので、Wordfenceを試す必要はないだろう。

ちなみに、ロリポップ公式は普通に脆弱性注意喚起でWordfenceを推奨しているので、一応使えないということではない。

逆に、ハイスピードプラン(月額1,000円~)はWordfence主軸を試すべし。

おそらくダントツで軽量だが、軽量目的レベルは妥協してWordfence主軸推奨。

この組み合わせは総合セキュリティ系のように、スキャン・ファイアウォール・総当たり攻撃対策の三点セットを意識した。MalCare(マルケア)とXO Securityはどちらか1つでいいが、両方使うのもアリ。

  • BBQ(設定不要のファイアウォール)
  • MalCare(設定不要のクラウド型軽量ファイアウォール+マルウェアスキャン)
  • XO Security(総当たり攻撃+貴重なログイン失敗数ダッシュボード表示+激レア遅延)
  • 2段階認証

スキャンはどちらかというと「侵入された後の話」なので、必要ないと感じたらMalCareではできない設定をXO Securityでするといい。

よく使われているSiteGuardとソックリだが、こちらは.htaccess記述なし&Nginxで使えるため、今から使うなら同じ国産のこちらを推奨。

REST API無効も付いており、ユーザー名隠しのEdit Author Slugも節約できるし、素晴らしいのがダッシュボードログイン失敗数を表示するのはWordfenceとコレだけ

なお、当サイトはユーザー名隠しを捨てた。

プラグインの数が気になった方はいるはずなので、次に真実をお話する。

スポンサーリンク

何も入れなくてもWordPressは安全

「やりすぎセキュリティというサイト名なのに何を言っているんだ。今までのは茶番か? このやろう!」

オラァ( っ・∀・)≡⊃ ゚∀゚)・∵.

と、思われるかもしれないが、最初から危険なものじゃないことを感じているはずだ。

以下のWordfenceの調査画像でわかるとおり、セキュリティプラグインと引き換えに、新たな脆弱性(弱点)が増える抽選も獲得している。

WordPressはどのように侵害されたかリスト

出典:How Attackers Gain Access to WordPress Sites(Wordfence)
  1. plugin(プラグインの脆弱性55.9%:入れなければ最強)
  2. brute force(総当たり16.1%:攻撃中重いだろうがパスワードで対応可)
  3. core(WordPress本体)
  4. theme(WordPressテーマ:セキュリティ専門家協力はGenesis Framework・Diviくらい?)
  5. hosting(レンタルサーバー:サービス側のファイアウォールが重要)

というような攻撃対象ランキングで、上記説明のとおりプラグイン以外の手段でも対応可。

さらに、本体は10%ないし、上2つだけで70%以上を占めているため、この2つに気をつけるだけで事実上のセキュリティ対策。

よく言われている「古いプラグインを使わず、すぐに更新する」というのはコレのせいだ。

いきなり乗っ取られるサービスなんてものは、最初からサービスとして成り立たないはずなのだ。それが不要な理由の根拠。

ぷっぷ
ぷっぷ

そもそも、オープンソースってセキュリティ系最強メリットだよ! 世界中の現役ガチ勢が、企業じゃなしえない数の暴力で確認するからね!

それでも当サイトがプラグインを入れているのは以下の理由。

自分の知らない攻撃、例えば初心者の頃にログインページに総当たり攻撃を仕掛けられた際の、自分の挙動を想像してみるといい。

どういった攻撃かわからない&攻撃されているのかもわからず(ここが重要)、ひたすら重くて原因を知った際の、失われた時間や想定のできない恐怖、専門用語地獄のセキュリティ知識で時間を消費しないための「保険と安心」として役に立つからだ。

プラグインに頼るか、WordPressを信じるか

判断は任せるが、以下の決断方法を参考にするといい。

  • プラグインを12個以上使用
  • どうしても使いたいプラグインの中に、2年以上更新されていないものがある
  • デザイン系のプラグインをガッツリ使用(不要最有力)
  • プラグインなしでできると知っていてプラグインを使う(多機能テーマが便利)
  • 週1でサイトを管理できない

上記に該当するならそう簡単に減らせないので、紹介した組み合わせ防御を推奨する。

プラグインが多いと「本体原因」の可能性は減っていくため、セキュリティプラグインでそれらを守る使い方を狙う。

個数は「当サイトと比較しての適当な数字」だが、とりあえず「入れるのならちゃんと(特に設定)、中途半端なら完全なしを目指す」べき。

プラグインなしの場合「更新管理」・「当然のパスワード増強」が最重要となっており、更新は基礎かつ必須事項のため、最低でも週1管理をできないならプラグインを頼ること。

ぷっぷ
ぷっぷ

当サイトはBBQや総合セキュリティ系を入れてるけど、プラグインの数は6だよーん。多機能テーマは遠回しにセキュリティ向上!

どれほどの人が最新版を使わないのかは、以下の公式を見て絶望するといい。

参照日本語 « 統計情報 — WordPress

当サイトが確認した時点で最新版(5.0)は33.9%しか存在せず、過激な言い方をすると、更新しない人達から食われてくれるので、ありがたい存在

「エラーになるから先延ばし」・「Gutenberg(グーテンベルク:ブロックエディタ)って何」という理由は利便性重視の傾向がでているので、セキュリティ重視に切り替えよう。

ちなみに、Gutenbergもデザイン系プラグイン排除に一役買い、遠回しにセキュリティ向上。

そう、多機能テーマとGutenbergがプラグイン激減の鍵なのだ。


パスワードの増強はいとも簡単にできるし、パスワード管理ソフトもついに帝王が君臨したので、知らなかったらbitwardenを使うといい。

コメント

  1. 匿名 より:

    ぷっぷさん、早々にお返事・解説いただきまして、誠にありがとうございます。

    >>WAFはだいたい、一時的にOFFにすれば乗り切れるものです。・・・ElementorのためにOFFにするのはもったいないですね。私だったら移転を考える事案。

     →ご回答ありがとうございます。
      エックスサーバーに慣れているためできれば維持したかったのですが、やはり切替を考えていきます。

    >>※ここだけの話、エックスサーバーは大人気のセキュリティ「VPN(通信暗号化)」のアクセスをブロックしまくるので、すごくやめてほしかったりします(´ε`;)

     →確かにそうですね。
      ぷっぷさんのサイトを拝見してNordを入れているのですが、ちょいちょいブロックされます。

    >>ConoHa WINGだけ除外設定がありましたので、おいておきます。

     →こちら、代替策まで紹介いただき、ありがとうございます。
      当方でも、たまたま過去の顧客がConoHaを使用していたため、除外できた記憶がありました。
      「ならエックスサーバーもできるのでは?」と思っていたのですが、できなかったため、何とかElementorを安定使用する方法を探したりしてました。
      で、ちょうどよく(?)ハッキング被害を受けて、Wordfenceいれよう、ついでにエックスサーバーのWAFを代替できるかも?と考えてご連絡した次第です。

    とても詳しく、また、比較参照のリンクまで記載いただき、恐縮でございます。
    本当にありがとうございました。

    今後ともやりすぎセキュリティを楽しみにしております。

    • ぷっぷ より:

      がんばります( ・ω・)/

  2. わがい より:

    はじめまして。わがいと申します。

    実は先日攻撃を受けて、エックスサーバーのバックアップ機能で数日前までデータを完全に遡る、という事態になりました。
    こちらのサイトを参考に、あらためてWordfenceとBBQを入れたりしています。
    非常に詳しい記事、ありがとうございます。

    それに関連して質問させてください。

    WordfenceのWAF機能ですが、これはエックスサーバーにも同名称の機能があります。
    これは被っているので、どちらかを無効化してよいものでしょうか?

    なお、無効化OKの場合、Wordfenceを残したいと考えております。
    (WAFはElementorプラグインとの相性が悪く、、、エックスサーバーはWAFについて除外設定など細かいことができないため)

    ググってもそれらしい記事がなく、ご存知でしたら伺えますと嬉しいです。

    • ぷっぷ より:

      サーバーのWAFとWordfenceのWAFは結局同じところを防御してくれたはずなので、乗り切れるはずですが、保護階層は一つ消滅しているという認識でOKです。
      保護箇所Wordfence Webアプリケーションファイアウォール(WAF)-Wordfence
      保護箇所WAF設定 | レンタルサーバーならエックスサーバー

      • サーバーのWAF:ほぼ強制ON。軽ーいのに保護階層を増やせるスグレモノ
      • WordPressのWAF:環境による。高級なところは入れさせてもらえなかったりする(防御箇所が被っているため)

      参考ファイアウォール) とは | ソフトウェアWAFのJP-Secure
      WAFはだいたい、一時的にOFFにすれば乗り切れるものです。
      ですが、常時OFFは避けるべきですし、そもそもその会社が機能するために作った・採用したものなので(チューニング)、ElementorのためにOFFにするのはもったいないですね。
      私だったら移転を考える事案。
      ※ここだけの話、エックスサーバーは大人気のセキュリティ「VPN(通信暗号化)」のアクセスをブロックしまくるので、すごくやめてほしかったりします(´ε`;)
      参考VPN経由でWebサイトが閲覧できない原因はブラックリスト疑惑

      ちなみに、私が使っていたかつてのmixhostはmodSecurityで除外設定がいじれず。
      カラフルボックスも除外についてヒットせず。
      ConoHa WINGだけ除外設定がありましたので、おいておきます。
      参考WAFの設定をする|ConoHa WINGサポート
      ConoHaでも普通にブロックされるようなので、ブロックされたそれっぽい時刻のIPアドレスを除外すればいけるはずです。
      Elementorは海外で覇権とってるから、デフォルトで除外しておいてほしいですね(´ε`;)

  3. 匿名 より:

    Wordfenceをnginx環境下で入れるとこの表示がでて設定できないようです・・・

    「The Wordfence Web Application Firewall cannot run. The configuration files are corrupt or inaccessible by the web server, which is preventing the WAF from functioning. Please verify the web server has permission to access the configuration files. You may also try to rebuild the configuration file by clicking here. It will automatically resume normal operation when it is fixed.」

    • ぷっぷ より:

      Nginxとは書いていないので違うと思います( Ꙭ)
      一応私もNginxなのでインストールしてみましたが、特に何も出ずに使えます。
      また、Wordfenceはユーザー数が多いため、Twitterで日本人の愛用者を調べるとすぐに「Wordfence使えなーい」的なTweetが見られるはずなので、やはりNginxとは関係ないと思います。
      ※Nginxは日本だとエックスサーバーなので、やはりTweetにヒットします。
      というわけで、公式に同じ質問があったのでおいておきます。
      参考Wordfence Web Application Firewall cannot run | WordPress.org

      英文をみると「Wordfenceの書き込み権限がない」っぽいので、「パーミッション関係?」=「サーバー会社がパーミッションを制限している?」あたりが怪しいです。
      エックスサーバー利用者が多く、Twitterでも嘆きが見られないため、仮にエックスサーバーをご利用でしたら匿名さんの何らかの環境に問題がある可能性が高いです。
      ※「サーバー会社がパーミッションを制限している?」はマネージドホスティング、いわゆるビジネス向け高級管理サーバーサービスに多い印象。

  4. Ago より:

    こんにちは。

    こちらのサイトを参考にさせて頂き、セキュリティの設定を行っています。ありがとうございます。

    1 点質問があります。
    これまで、SiteGuardでログインページURLを変更していたのですが、「総合セキュリティにプラス」の、WordfenceとBBQの組み合わせにした場合、ログインページURLの変更はしない前提ということでしょうか?
    または、ほかのプラグインや自分でコードを修正するとういうことでしょうか?

    ご助言を頂けたら幸いです。

    • ぷっぷ より:

      いえ、ログインページのURL変更はアリです!
      変更することで本来見当違いなログイン情報を入力されて無駄に通信させられますが、ページが違うので入力欄がなく何もできない感じになります(多分……?ページに来ちゃってるけども)
      どちらかというと2段階認証でログインページ防御の仕事が終わっているので、サーバーに負担をかけない・いたずらにログインページで遊ばせない意味で使う感じですね。
      それとも「Wordfenceにログインページ変更機能があるのだから、SiteGuardはもしかしていらない?」ということでしたらそのとおりなので、SiteGuardは削除してプラグインを一つ減らせます∩(・∀・∩

      または、ほかのプラグインや自分でコードを修正するとういうことでしょうか?

      .htaccessを使った自分で仕込む方法かな?
      昔ベーシック認証×ログインページ変更をプラグインを使わずにやっていましたが、基本的に機能してはいるけどコードが汚いのかもコピペだからわからない・管理が面倒なのでプロのプラグインであるWordfenceに任せるのが確実だと思います。
      というわけで自分でhtaccessは極力イジらない方向を推奨。
      実際やりすぎセキュリティは今現在Nginxで、過去作成したhtaccessが機能しないのですが、結構入力してたわりにセキュリティプラグインなどの機能で乗り切っています。

      • Ago より:

        ご返答ありがとうございます!

        > 「Wordfenceにログインページ変更機能があるのだから、SiteGuardはもしかしていらない?」ということでしたら…
        有料版のWordfenceにはログインURL変更機能がついているのでしょうか?
        自分は無料版を使っているのですが、この機能は含まれていないようです。(見落としですかね。。。)

        ログインURL変更のためだけ (ログイン履歴もみれていいでのですが。) に SiteGuard を併用するのは微妙だと思い、またプラグイン同士の相性があるとのことなので、Wordfence と併用するのにおすすめのログインページ変更方法やプラグインがあれば教えて頂きたいという意味でコメントしました。

        文章が分かりづらくてすいません。。。

        もしおすすめがありましたら教えて頂けたら幸いです。

        • ぷっぷ より:

          あーごめんなさい(´ε`;) 私が勘違いしていました。
          WordfenceにはログインページURL変更は付いていませんでした。
          一応Wordfenceにログイン防御系はありますが

          前回説明したログイン項目を入力させないために他のページに飛ばしてサーバーの負担を軽減するログインページ変更の効果は期待できなさそうですね。
          reCAPTCHAがどう働くかわかりませんが…
          といっても、「ブルートフォース保護を有効にする」でロックしてしまえばログイン情報送信は数回なので大したことなく、結局はログインページ変更を導入する恩恵はほぼないので、私的にはログインページ変更は無視しちゃっていいです。
          実際、2段階認証もするかと思いますのでセキュリティ的にはまさにやりすぎセキュリティ。
          というわけで、私のWordfenceを使ったログインページを守る推奨は

          • ブルートフォース保護を有効にする
          • 2段階認証を設定する

          この保護階層2つだけで(2段階認証を入れた時点でもうログインページ守る必要ほぼないけど)、ログインページURL変更はプラグインの数を減らすという利点を取り、十分な理由なので妥協します。
          一応.htaccessに中級くらいの難易度のコードを入力すると変更できます(私はコード入力できないのでネット検索要)。
          が、今の私ならそんな管理の面倒なことはせず、.htaccessを直接イジらないプラグインで解決するスマートな方を取ります。

          • 匿名 より:

            ご返答ありがとうございます!

            >結局はログインページ変更を導入する恩恵はほぼないので、私的にはログインページ変更は無視しちゃっていいです。
            >ログインページURL変更はプラグインの数を減らすという利点を取り、十分な理由なので妥協します。

            なるほど!
            ログインページURL変更のためにプラグインいれるより、プラグインの数が減った方がメリットが多いということですね!

            ありがとうございます!
            2段階認証いれて、ログインページはそのままでいこうと思います。
            大変参考になりました(。v_v。)ペコリ

            • ぷっぷ より:

              プラグインは一応脆弱性を増やす抽選も増やすので、削減できるのであったらガンガン削除するべきです!(停止は攻撃対象残ってるのでダメー)