こんにちは、うにです!
AWSのLightsailというサービスでブログを運営しているのですが、
Webサーバのログを見ていると、海外からのスパムやらサイバー攻撃と思われるアクセスが時々あるんですよね。
セキュリティ対策ちゃんとしないとな~…と思って、
有名どころのプラグイン「SiteGuard」から「ログインURL変更」を有効にしてみました。
そのときはログイン情報が保持されていたので全く問題なかったのですが、
数日経って自動的にログアウトされ、「/wp-admin」のWordpressログイン画面は「404エラー」に…
あれ?変更後のログインURL、覚えてない…。
ということで、本記事ではAWS Lightsail環境のWordpressブログで、SiteGuardの機能によってログインURLがわからなくなってしまった時の対処方法をご紹介します。
という方のご参考になりますと幸いです!
AWS Lightsail+SiteGuard 試したけどうまくいかなかった方法
SiteGuardからの通知メールを見つける
まず、「SiteGuardでログインURL変更を有効にしたときの通知メールを探す」という解決法。
「ログインURL変更」を設定完了すると、SiteGuard WP Pluginから自動配信で
WordPress: Login page URL was changed
のメールが配信されるというのです。
そこにログインURLが記載されていると。
これで見つかったら解決なのですが、
うにの場合はろくに確認せず消してしまったのか、どれだけ探しても見つからず…。
う、迂闊~!!
htaccessの記述変更
さらに、よく推奨されているのが「htaccessの記述を変更する」、という解決法。
htaccessはWebサーバーソフトウェアApacheの設定ファイルに該当するもので、
WordPress関係でちょっとWebサーバ側の設定をしたいとなるとすぐ「htaccessを書き換えましょう!」という話がでてきます。
ただこれ、AWS Lightsail環境のクセのある部分なのですが、
AWSLightsail環境はBitnamiという仮想環境(?)を使っていて、ユーザがhtaccessを直接触れない形になっているようです。
別途相当するファイルがあったり、htaccessを有効化する方法もあるようですが、
中身を理解せずに触るにはコアな部分なので、あまり気軽にはいじりたくないところです。
AWS Lightsail+SiteGuardでログインURLを復活できた方法
で、もっと簡単に、htaccessを弄らなくても解決可能な方法がありました。
AWS Lightsail環境でもpluginなら簡単に触れるので、一度強制的にSiteGuardを無効化してしまおうという方法です。
手順は以下の通り。
SiteGuardプラグインを一時的に無効化する方法
SiteGuardを一時的に無効化する
AWSにログインし、AWS Lightsailのインスタンスを選択。
SSHでサーバに接続します。
新しいウインドウでCLIがひらくので、
cd /bitnami/wordpress/wp-content/plugins/
を入力してEnter。pluginsフォルダに移動します。つづけて
sudo mv siteguard siteguard_renamed
で一時的にsiteguardのパスを変更し、SiteGuardを無効化します。
ここまでできたらCLIのウインドウは開いたまま、別ウインドウに移動します。
wp-adminでログインできるようになるので、ログインする
別ウインドウでWordpressの「/wp-admin」のURLを開くと、ログイン画面が復活しています!
ログイン情報を入力してログインします。
この時点ではWordPress管理画面のメニューから「SiteGuard」は消えています。
SiteGuardを再度有効化する
CLIのウインドウに戻って、
sudo mv siteguard_renamed siteguard
を実行し、元のパスにsiteguardを戻します。これでSiteGuardが再度有効になりました。
WordPress管理画面のウインドウを更新すると、SiteGuardのメニューが復活していることが分かります。
管理画面からログインURL変更を無効化する
あとはSiteGuard>ログインページ変更 で「無効」を選択すればOKです。
解決後、ログインURLを再度変更しておく
これで、「自分のWebサイトに永久にログインできない…」という恐ろしい事態は回避できました!
とはいえ、デフォルトのログインURLを晒しておくのはセキュリティ的によろしくない。
WordPressは開設時のデフォルトのログインURLが「/wp-admin」なので、
そのまま運用されているサイトばかりを狙ってログインを仕掛けてくるような攻撃者がいるそうです。
今回いろいろ調べてSiteguardはどうやらAWS Lightsail環境と相性が悪そうだと思われたので、
別プラグイン「WPS Hide Login」を使うことにしました。
今度はログインURLを覚えておくのを忘れずに!
まとめ
本記事ではAWS Lightsail環境のWordpressブログで、SiteGuardの機能によってログインURLがわからなくなってしまった時の対処方法をご紹介しました!
プラグインって便利ですが、何も考えずに適当に設定してしまうとこんな落とし穴もあるのですね…。
無事に復旧出来てよかったです。
本記事がAWS LightSail+SiteGuard環境でお困りの方の参考になりますと幸いです!
最後までお読みいただき、ありがとうございました♪