WordPressのセキュリティ対策(プラグイン)

プラグインを使ったWordPressのセキュリティ対策をします。
使いたかった機能から候補のプラグインは以下の2つに絞りました。
SiteGuard WP Plugin – EG Secure Solutions
All In One WP Security & Firewall(AIOWPS)
たった1日ですが吟味した結果、使いやすそうなSiteGuard WP Plugin を使うことにしました。純国産として定評のやつです。

今回対応したこと

使いたかった機能

  • ログインページのURLを変更
    • WordPressのデフォルト「/wp-login.php」ではアクセスできなくする。プラグインのデフォルト「/login_<5桁の乱数>」よりもっと見つけづらくしたかったので変更しました。
  • ユーザ名の漏洩防止
    • 投稿者アーカイブを使って登録されているユーザ名が特定されないようにする(”/?author=n” でユーザ名がURL上に表れて特定されないようにする)
  • PingBack機能を無効化する
    • DDoS攻撃の踏み台としてPingBack機能が悪用されないようにする。
  • アカウントロック
    • 連続してログイン失敗した場合、一時的にログインできないようにする。
  • ログイン失敗時のメッセージ共通化
    • ログインに失敗した際に表示するメッセージからユーザ名が登録されているか、パスワードのみの不一致だったのかが分からないようにする。

せっかくだから使った機能

  • CAPTCHA
    • ログインページに動的に生成される画像に表示された内容を入力させて認証時の要素として使う機能。(コメント投稿も)
  • ログイン通知
    • ログインが成功する度に、登録したメールアドレス宛にメールで通知を行う。
  • 更新通知
    • WordPress本体、プラグイン、テーマの更新がある場合、登録したメールアドレス宛にメールで通知を行う。

今回はここまで。他にも確認したいことややっておきたいことがあるので、次回はその辺をやろうと思います。ただ、どこまでやってるかを開けっ広げにするのもどうかと思うので投稿はしないかもしれないです。

WordPressのセキュリティ対策(WP本体)

セキュリティ対策に有効なプラグインがありますが、その前に最低限やっておきたいWordPress 本体のセキュリティ対策をしておきます。
※WordPress のバージョン:5.8.2(2021年12月20日時点の最新版)

今回対応したこと

WordPressを最新版に更新

[ダッシュボード] > [更新] の現在のバージョンのリンク「再確認してください」をクリック。最新版だったので最終チェック日時が更新されただけでした。

WordPressの自動更新の有効化

[ダッシュボード] > [更新] に”このサイトは WordPress の新しいバージョンごとに自動的に最新の状態に保たれます” と表示されていたのでデフォルトで有効になっているようです。

その下に「メンテナンスリリースとセキュリティリリースのみの自動更新に切り替えます」というリンクがあったので試しにクリックしてみました。すると、”メンテナンスリリースとセキュリティリリースのみで自動的に最新の状態に保たれます” に表示が変わったので、その下のリンク「WordPress のすべての新しいバージョンに対する自動更新を有効にします」をクリックして元に戻しておきました。

プラグインとテーマを最新版に更新

[ダッシュボード] > [更新] に”〜はすべて最新版です” と表示されてたので、今回は何も更新しませんでした。

ユーザ名、パスワードの複雑化

ユーザ名は、直前の投稿「ブログ開設作業」でも書きましたが、ログイン時に入力するユーザ名とブログ上に表示するユーザ名を別にすることができるので、ログインに使うユーザ名は推測が困難な文字列にしておきました。これで、ユーザ名を固定したパスワードのブルートフォース攻撃が簡単に行われないようにしました。(投稿者アーカイブによるユーザ名の特定を防ぐ方法はプラグインで対応します)

パスワードは、新たにパスワードマネージャで生成した英数字記号混在の30桁以上の文字列を設定しました。

不要なユーザの削除

このブログは自分一人でしか使わないので、ユーザは1人だけしか登録されていない状態にしておきます。

今回のWordPress本体のセキュリティ対策は以上としておきます。次回はプラグインを使ったセキュリティ対策をします。

参考