wordpress プラグイン 「site guard」でログインできない。ログイン後も404エラーが出た場合の対処法

パソコン・スマホ

サイトのセキュリティに欠かせないWordPlessのプラグイン「site gurad」。

設定も簡単で初心者が扱いやすいとして評判のプラグインですが、一歩間違うとサイトにログインできなくなることがあります。ログインURLは合っているのにログインできない。ログインできたとしてもページを移動すると404エラーが返される・・。

先ほど久しぶりに当サイトにログインしようとしたら上記のトラブルが発生し、数時間程対応に追われました。

同じトラブルに巻き込まれた方が私以外にもいらっしゃるのではないでしょうか。この記事ではそんなトラブルの対応方法についてまとめていきたいと思います。

site guardプラグインとは

サイトを作成したら一番初めにインストールすべきプラグインとして紹介される「site guard」。

日本国産のセキュリティプラグインのため、日本語で表示されていて初心者でも簡単に設定することができるのが特徴です。

【site guardの主な機能】
1.ログインページ変更
2.ログインロック・アラート
3.画像認証
4.管理ページのアクセス制限
5.ログイン履歴の確認

不正なログインから守ることに特化したプラグインと言えるでしょう。

1.ログインページの変更

このログインページの変更だけでも強いセキュリティ対策になります。WordPressで作られたサイトはログインページに簡単に辿りつけるため、対策なしではかなり危険です。

site guardを導入することでログインページを変更でき、ログイン画面に辿りつくことを困難にします。

ただ、このログインページの変更こそがログインできなくなるというトラブルに巻き込まれる原因の一つです。詳細は後述します。

site guardによって変更された通常とは違うログインURL
通常とは違う変更されたログインURL

上図のように通常のログインURLから5桁数字のランダムURLに変更されます。

2.ログインロック・アラート

ログインロックの設定画面
ログインロックの設定画面

ログインロックは、アカウントID・パスワードの不一致などによって数回ログインに失敗した場合に、しばらくの間ログインできなくなる機能です。

設定画面からロックがかかるまでの失敗回数、ログイン入力できるまでの時間を設定することができます。

ログインアラートは、誰からログインしようとした時に任意のメールアドレスに通知してくれる機能です。

不正ログインを即知ることができるので大惨事になる前に早めの対策が打てるようになります。

3.画像認証

画像認証はログインするときに従来のID・パスワードと別に画像認証(表示された文字を入力)を追加する機能です。

これにより不正ログインに対するセキュリティをさらに強化することができます。

ログイン時の画像認証画面
ログイン時の画像認証

4.管理ページのアクセス制限

管理ページのアクセス制限とは、管理ページへ通常とは違うIPアドレスから入ろうとした場合、404エラーページを返して不正ログインを防ぐものです。

登録されていないIPアドレスからアクセスがあると404エラーが表示される
登録されていないIPアドレスからアクセスがあると404エラーが表示される

5.ログイン履歴の確認

ログイン履歴では、ログイン日時、ログインに対して失敗か成功か、ログイン名、ログインしたIPアドレス、どこからログインしたのかなどを確認することができます。

自分の身に覚えのない名前やIPアドレスなどがあれば要注意ということになります。

site guardでログインできない理由

site guardでログインできない理由としてよくあるのが次の2つのとおりです。

1.変更されたログインURLが解らない。
2.管理ページのアクセス制限をしてしまったために404エラーが表示されるようになった。

特によくあるのが1のパターン。ちなみに今回私のは2の方でした。

1.変更されたログインURLが解らない。

まずは変更されたログインURLが解らない(忘れた)、若しくは変更されたこと自体知らないというパターンです。

後者のパターンは冒頭でも述べたように、初心者お勧めのセキュリティプラグインであり、プラグインのお勧め記事では必ずと言ってよいほど紹介されているので、初心者の方がよく内容を確認せずインストールし、有効化したところURLが変わったことに気づかないという流れです。

この問題の解決方法は2通りありまして、一つはメールアドレスで確認する方法です。プラグイン導入後ログインURLが変更されるとメールアドレスが届き、その中に新しいURLが載っているので確認することができます。

二つ目は.htaccessファイルで確認する方法です。圧倒的にメールで確認する方法が簡単で早いですが、メールが届いてない、削除して確認できなくなったなどの場合にはこちらの対応になるかと思います。

.htaccessファイルで確認する方法(mixhostの場合)

レンタルサーバーがmixhostの場合の.htaccessファイル確認方法です。今回はFTPソフトを使用せず直接サーバーでの確認方法です。

1.mixhostのコントロールパネルにログインします。

mixhostコントロールパネルログイン画面

2.コントロールパネルにログインしたら、ファイルからファイルマネージャーをクリックします。

コントロールパネルのファイルマネージャーをクリックしよう
コントロールパネルのファイルマネージャーをクリックしよう

3.ファイルマネージャーを開いたら画面左側のファイル一覧にあるpublic_htmlをクリックします。

4.public_htmlフォルダの中にサイト名が表示されたフォルダがあるのでクリックします。

5.サイトフォルダの中に.htaccessがあるので選択してダウンロードをします。

6.PCの保存先へダウンロードされるので.htaccessを開いてみましょう。site guardの記述がありますのでlogin_○○○○○と書かれた部分を探しましょう。これでURLが分かるはずです。

.htaccessファイルを開いた画面

⑦あとはhttps://サイトURL/login_○○○○○ と○の部分に先ほどの数字を入力すればログイン画面に進むことができます。

site guardでログイン画面が分からなくなったらメールアドレスから確認するか、.htaccessから確認するかどちらかになります。

2.管理ページのアクセス制限をしてしまったために404エラーが表示されるようになった。

続いて2のトラブルに関してです。今回私にあったトラブルはこちらの方で、正しいURLでログインしても404エラーが返されて、どうすることもできなかったので大変困りました。

結果このトラブルに遭う原因としては、QUIC.cloudを導入したことが原因でした。(mixhostサーバーを使用している人に多いトラブルかもしれません。)

そもそも管理ページアクセス制限とは下記のような機能です。

管理ページ(/wp-admin/以降)に対する攻撃から防御するための機能です。ログインが行われていない接続元IPアドレスに対して、管理ページのアクセスを、404(Not Found)で返します。ログインすると、接続元IPアドレスが記録され、当該ページのアクセスを許可します。24時間以上ログインが行われない接続元IPアドレスは、順次削除されます。この機能を除外するURL(/wp-admin/以降)を指定することができます。

site guardプラグイン掲載文より

つまり通常は自宅でサイトを動かしていて、この時は自宅のIPアドレスでログイン。外出先(喫茶店)などでサイトにログインしたら別のIPアドレスになります。こういった場合に404エラーを返し不正ログインを防ぐという機能です。

QUIC.cloudは都度IPアドレスが変わるという仕様を持っているがために、例え自宅でログインしても404エラーが返されるというのが今回のトラブルの原因でした。

管理ページのアクセス制限を解除する方法

このトラブルの解決方法は、そもそも管理ページにログインすることすらできないため、先ほどの.htaccessファイルからプラグインの設定を削除する方法しかありません。

前述した.htaccessダウンロードまでは同じです。

今回は.htaccessファイルを直接触ることになるので取り扱いには十分注意しましょう。最悪サイトが動かせなくなるなど別のトラブルが発生します。

①今回はプラグインの設定を削除しますので、下図の青枠の部分を全て削除します。

htaccessファイルを開いた画面

②削除した.htaccessファイルをサーバーへアップロードします。この時に注意しないといけないのがファイル名の前に「.」を付けることです。「htaccess」から「.htaccess」にしてからアップロードします。

アップロードはサーバーのコントロールパネルにログインし、public_html、サイト名フォルダからアップロードを選択し行います。

上記内容が正しく行われれば、通常のログイン方法、サイトのURLの末尾に/login/、/admin/、または /wp-login.phpでできると思います。

ログイン後は一度site guardプラグインを削除しましょう。再度プラグインをインストールし、設定を済ませたら『管理ページへのアクセス制限』は外します。これを行わないとまた同じトラブルになります。

補足になりますが、site guardプラグインをインストールしようとすると「既にファイルが存在します」というメッセージエラー表示される場合があります。

この場合は再度サーバーのpublic_html、サイト名フォルダにありますwp-contentフォルダ→pluginsフォルダ→site guardフォルダを削除してからインストールを行えば大丈夫です。

最後に・・・

site guardでログインできない場合の対策方法についてでした。

問題がログインURLが分からないのか、404エラーが返されるのかで対処方法が異なってきます。

site guardは大変扱いやすく便利なプラグインですが、上記の様なトラブルに遭うこともありますので注意が必要です。