SWELLの購入やWordPressへのインストールがまだの方は以下の記事を参考に導入できます。

こちらの記事で完了すること
- 購入
- 会員登録
- Discordコミュニティ登録
- WordPressへのインストール(親テーマと子テーマ)
- ユーザー認証
- 使わないテーマの削除
では、本題に入ります。

SWELLの購入やWordPressへのインストールがまだの方は以下の記事を参考に導入できます。

こちらの記事で完了すること
では、本題に入ります。

WordPressでブログを開設した(したい)んだけど、ハッカーから狙われやすいって聞いて心配です。安心してブログ運営を行えるようにセキュリティ強化(対策)する方法があれば教えてほしいです。
こういった悩みにお答えします。
本記事で解決できること
是非、最後までご覧ください。
WordPressは、不具合の修正やセキュリティ面で問題が発生した場合にはアップデートされるようになっています。
にも関わらずアップデートせずに放置しているのはサイトを危険に晒しているようなものです。
放置せずに常に最新の状態を保つようにしましょう。
テーマを最新の状態に保つ必要性については「WordPressを最新の状態に保つ」と同様です。
また、僕はテーマに「SWELL」を使用しており、公式サイトに動作必須環境が記載されています。
これからテーマの導入をする(考えている)方は必ず要件を満たす環境を用意してからテーマを導入しましょう。


プラグインを最新の状態に保つ必要性については「WordPressを最新の状態に保つ」と同様です。
インストール時に確認しておく項目


「詳細情報」にはもっと細かい項目が記載されています。


「詳細情報」からだと下記の2項目まで確認することができます。


また、テーマによって、相性が良いプラグインと悪いプラグインがあると思いますので合わせて確認しておくと良いと思います。




WordPressが求める要件の中でPHPバージョン7.4以上となっていますが、2022年11月28日にサポートは終了しています。
サポートが終了しているということはセキュリティ上の脆弱性や、最新バージョンのPHPで修正されているバグに晒される可能性があります。
そのため僕は2023年11月26日までサポートされているPHP8.0.25を使用しています。


読者の設定順
攻撃者の関門順
「Wordfence Security」というセキュリティ系プラグインを導入してreCAPTCHA v3を設置します。
下記画像の赤枠がreCAPTCHA v3です。


「Wordfence Security」では、reCAPTCHA v3以外にも様々なセキュリティ設定が行えます。
「Wordfence Security」で行えるセキュリティ設定
「ファイアウォール」とは
外部ネットワークからの攻撃や不正なアクセスから自分たちのネットワークやコンピュータを守るための「防火壁」です。
「reCAPTCHA v3」とは
「チェックを入れたり(私はロボットではありません)、画像による診断を行わず」にロボットか人間かを自動で判断してくれます。
「ブルートフォースアタック(総当たり攻撃)」とは
ハッカーがクローラーを使いログインページで手あたり次第にユーザー名またはメールアドレスやパスワードを入力してログインを試みることです。
参考記事:「Wordfence Security」の設定方法【SWELL】




手順①で既に設定済みだと思います。


詳しくは、「Wordfence Security」の設定方法【SWELL】で解説していますが、スマホに表示される6桁の数字を入力することでようやく管理画面に入ることができます。
この6桁の数字は30秒ごとに変わっていく仕組みとなっており突破するのは相当難儀なはずです。
まずは下記をご覧ください。
wp-login.phpwordpress-login.php下記画像は「ググっても(自分しか)分からないURL」でログインページにアクセスしています。


ググっても(自分しか)分からないURLにすることでログインページにすら辿り着けない可能性もありますのでこの時点で外部からの攻撃を防ぐことができます。
参考記事:WordPressのログインURLをプラグインなしで変更する方法


下記画像がBasic認証が表示されている場面になります。


「ググっても(自分しか)分からないURL」を突き止められたとしてもBasic認証を破らなければログインページへは辿り着けません。
参考記事:WordPressのログイン画面にプラグインなしでBasic認証を設定


ここでは合わせて下記の設定も行います。
何はともあれ、まずはログイン認証をメールアドレスのみ通す作業を行っていきます。


下記のコードを子テーマのfunctions.phpに追加します。
# ログイン認証をメールアドレスだけ通す。
function email_login($user, $username, $password) {
$user = get_user_by('email',$username);
if(!empty($user->user_login)) {
$username = $user->user_login;
} else {
$username = '';
}
return wp_authenticate_username_password(null, $username, $password);
}
add_filter('authenticate', 'email_login', 20, 3);
# ログインページのエラーメッセージを変更。
function hide_login_error_message(){
return 'ユーザー名またはメールアドレスもしくはパスワードが正しくありません。';
}
add_filter('login_errors', 'hide_login_error_message');
これでログイン認証をメールアドレスのみ通すようになりました。


なぜメールアドレスのみを通すようにしたのか
ユーザー名はバレやすく、何も行っていなければ下記の5パターンから知られてしまう可能性があります。
パターン①〜④に関しては、アクセスしたページのどこからにユーザー名が表示されているはずで、パターン⑤に関しては、参考記事を用意しました。
このようにユーザー名はバレやすいので、ログイン認証をメールアドレスのみ通すようにしました。
そして、ここからさらに手を加えていきます。
ログイン認証をメールアドレスのみ許可したメールアドレスを変更する。
下記記事を参考にすることでワードプレスの管理画面以外からでもメールアドレスを変更することができます。


例えばgmailではユーザー名には文字数6〜30文字以内で、英字(小文字)と数字、ピリオド(.)しか使えませんが、これを利用してrh.40v9zfi2x79sks.d6j6hj1k2wqk@gmail.comのように実在しないメールアドレスを作成することでセキュリティ強化が期待できます。
補足
管理者メールアドレス:WordPress側からの送り先
場所:管理画面メニューの「設定」 > 「一般」内
メール(必須):ログイン用のメールアドレス
場所:管理画面メニューの「ユーザー」 > 「プロフィール」内
以上より、管理者メールアドレスは変更しておりませんので、WordPressからのメールが届かなくなることはありません。
エラーメッセージの変更
下記のコードを子テーマのfunctions.phpに追加します。
# ログインページのエラーメッセージを変更。
function hide_login_error_message(){
return 'ユーザー名またはメールアドレスもしくはパスワードが正しくありません。';
}
add_filter('login_errors', 'hide_login_error_message');
すると「ユーザー名またはメールアドレスもしくはパスワードが正しくありません。」と表示されるようになります。


このように「ログイン認証をメールアドレスのみ通す」「エラーメッセージを変更して正解・不正解を特定されないようにする」ことで、ログインページの突破が難儀なはずです。
これからの段階を全て突破しなければ管理画面に入ることはできないため、個人的には難攻不落だと思っています(自画自賛ですが、、、笑)。


ただ、運営者も管理画面に入る手間は増えますが、被害に遭った時(後)の「精神的ショックやその後の対応」を考えるとセキュリティ強化をしすぎて悪いことはないと思いますし、Clipyというツールを使うことでストレスなく管理画面に入ることもできます。
最後に僕のClipyを使ったログイン方法を紹介して終わりにします。
Clipyを使ったログイン方法
スニペット作成手順
hrdyuic.comhrdyuic.com/wp-login.php上記の手順①〜③を繰り返して、下記画像の赤枠内を用意しています。


後は順にペーストしていくだけで管理画面に入ることができます。 ※2FA Code(二段階認証のこと)のみ6桁の数字の入力が必要です。
バックアップ&復元ともに簡単に(素早く)行えるプラグインが◎
該当するプラグインを下記に貼っておきます。
参考記事:バックアッププラグイン「UpdraftPlus」の使い方と復元方法


参考記事:All-in-One WP Migrationの使い方と容量を上げる方法


今回は以上です。


この記事が気に入ったら
フォローしてね!