セキュリティ系プラグイン「XO Security」と「 BBQ Firewall」の組み合わせが最高
セキュリティ対策とユーザビリティ(利便性)はトレードオフです。
あまりにセキュリティをガッシリ強化してしまうと、ログインのたびに通知が来たり、何度もパスワードを求められたりと使い勝手は良くありません。
逆に手を抜きすぎると、不正アクセスや改ざんといったリスクが伴います。
セキュリティ系プラグインで有名な「Wordfenc」も試してみましたが、設定がとにかくややこしい。
今回は自分の中で最適解というべきセキュリティ系プラグインが決まりましたので、ご紹介したいと思います。
この記事がおすすめの人
- 最低限のセキュリティ対策はしたい
- 難しい設定は苦手
- 日本語が良い
「XO Security」 と「 BBQ Firewall」をインストール
難しい話は無しにして、「XO Security」 と「 BBQ Firewall」をインストールし有効化します。
- XO Security→ログイン系セキュリティ
- BBQ Firewall→ファイアウォール機能
この2つでセキュリティ対策はとりあえずOKと言えるでしょう。
設定不要!「BBQ Firewall」
こちらは、有効化するだけで不正な攻撃をブロックしてくれるというものです。
主には、SQLインジェクション(データベース不正操作)やXSS(ページ脆弱性攻撃)など。
- 設定項目は無し
- データベースを変更しない
- .htaccessに記述しない
- 軽量で他プラグインと競合しない
神プラグインです。
日本語対応!「XO Security」
こちらは、ログイン系のセキュリティを強化できるプラグインとなっています。
- ログイン画面に日本語入力を追加
- ログイン試行回数制限の設定
- メールアドレスでのログイン無効
- スパムコメントをブロック
などなど、どのような設定をしたか「ステータス」で一目でわかるという優れたプラグインです。
設定方法は以下で説明します。
「XO Security」の設定
必要な箇所だけ設定します。
ログイン
ログイン ID の種類 | ユーザー名のみ |
ログインエラーメッセージ | 簡略化(何がエラーかを隠す) |
CAPTCHA | ひらがな |
ログインIDはユーザー名のみに絞り、メールアドレスが漏れた場合でのログイン試行を防ぎます。
また「ひらがな」を追加したことで、海外からのAIボットによる不正ログインは高い確率で防げるようになります。
設定しなかった項目について
試行回数制限をしないのは、「エックスサーバー」ですでに同じ機能が備わっているため不要としました。
※デフォルトで「ON(有効)」になっています。
エックスサーバー以外、もしくは細かく設定したい場合はプラグイン側で設定しても良いかもしれません。
また、「ログインページの変更」は特に必要ないと考えています。
入り口を変更するよりも、強固なパスワードで対策した方がセキュリティ的に強力とされているからです。
ログインURLが何かしらのトラブルで分からなくなった場合、復旧が結構めんどくさいからという理由もあります。
コメント
CAPTCHA | 無効 |
スパム保護フィルター | なし |
スパムコメント | ブロックする |
ボット保護チェックボックス | ON |
一旦チェックボックスのみで対策して、スパムコメントが来るようであれば必要に応じて有効化します。
デフォルトでインストールされている「Akismet Anti-Spam (アンチスパム)」は機能がかぶるので、アンインストールしてもOKです。
XML-RPC
XML-RPC の無効化 (ブルートフォースアタック対策) | なし |
XML-RPC ピンバックの無効化 (DDoS攻撃対策) | ON |
XML-RPCは、スマホアプリから記事をリモート投稿できるなどWordPressを外部からコントロールできる(リモート操作)機能です。
無効化することでブルートフォースアタック対策はできるのですが、以下のデメリットが発生します。
- XML-RPC を使っている一部プラグインが動かなくなる
- 今後XML-RPCを使った便利機能が追加された時に利用できなくなる
そのため、DDoS攻撃対策であるピンバックのみ無効化「ON」にしました。
REST API
REST APIは、「ContactForm7」など一部のプラグインなどでも使われているため、むやみに無効化するのはNGです。
ユーザー情報が特定されないように、以下の2つのみ設定(無効化)します。
- /wp/v2/users
- /wp/v2/users/(?P<id>[\d]+)
設定しないとユーザー情報が分かってしまう
URLの末尾に「/wp-json/wp/v2/users」もしくは「/?rest_route=/wp/v2/users」をつけてアクセスしてみると、ログインユーザー名が分かってしまいます。
ユーザー名を特定されてしまうと、あとはパスワードで総当たり攻撃される可能性があるので、こちらの設定で対策しておくことをおすすめします。
秘匿
「投稿者アーカイブの無効化」をONにします。
投稿者アーカイブページ無効化することで、ログインユーザー名を知られないようにすることができます。
SWELLの公式プラグインSEO SIMPLE PACKで、「著者」のアーカイブページは使用しないに設定している場合はこちらの設定は不要です。
設定しないとユーザー情報が分かってしまう
URLの末尾に「/?author=1」でアクセスすると、著者のページが表示され、ログインユーザー名がURLに表示されてしまいます。
こちらも同様、ユーザー名が特定されると、パスワードで総当たり攻撃される可能性があるので、対策しておくことをおすすめします。
環境
ここも特にいじりません。
設定は自分のサイト環境に応じて
設定に関して細かく解説はしませんでしたが、今回ご紹介した部分だけでも設定しておくことで必要最低限のセキュリティ対策は出来たのではないかと思っています。
繰り返しますが、セキュリティ対策とユーザビリティ(利便性)はトレードオフです。
快適にサイト運営するためにも、自分の納得できるポイントを探してみて下さい。
以上、セキュリティ系のプラグイン「XO Security」と「 BBQ Firewall」のご紹介でした。
おすすめWEBスクール
WEB制作やWEBデザインを学びたいなら、SNSでも話題の「デイトラ」がおすすめ!
どのコースも10万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。
\ クリックしてジャンプ! /
お気軽にコメントどうぞ