【AWS】【Lightsail】【WordPress】ログインページを隠蔽する【404 NOT FOUNDでハマった】

IT関連
スポンサーリンク

こんばんわ、とろこてんです。

今回は、AWSのLightsailのWordPressでログインページを隠蔽する方法を紹介します。

本記事は、以下の方が対象です。

  • AWSのLightsailのWordPressを構築した直後
  • 「SiteGuard」を使ってログインページを変更しようとしたら、上手くいかなかった (>_<)

なぜ隠蔽するのか

WordPressを構築した直後ですと、

「http://サイトURL/wp-login.php」

で、管理者用のログイン画面が表示されます。

この仕組みは、サイト管理者にとっては都合が良いけども、もし悪意を持った人が居た場合に管理者用のURLが推測される事になるので、極力変更したいところですね。

※2段階認証やログイン回数制限を設ける等、様々な対処方法がありますが、管理者用のURLが隠蔽されていれば、そもそも攻撃を受けるリスクが軽減できるので、他の対処と合わせて実施したい内容ですね。

どうやって隠蔽するか

WordPressのプラグインがありますので、それを導入すればOKです。

有名どころとして「SiteGuard WP Plugin」があります。

本プラグインは、サイトの防御(ログインページ変更、画像認証等)を上げる事が出来る優れたセキュリティツールで、様々なサイトや動画で紹介されています。

ただ、LightSailのWordPressの場合だと・・・

※Lightsailの場合、この状態でログアウトしてはいけません!!(その後、ログイン不可になります)

↓「プラグイン」を有効にすると、ログインページURL(赤枠)が変更された旨が表示されますが・・・

いざクリックすると・・・

「404 NOT FOUND」

となって、ログインページにアクセスできなくなります・・・orz

原因は何なの?

原因はLightsailのWordPressだからです。

と書くと、ざっくりすぎるので補足すると、

「SiteGuard WP Plugin」では、ログインページの変更に「.htaccess」の設定値を変更する事で実現しています。

ただ、LightsailのWordPressの場合、「.htaccess」を用いていないので、上手くいかない、という訳です。

(※)この辺の話は、前提としているWebサーバが異なっているから発生している話で、「.htaccess」はApache Webサーバを利用している場合に有効ですが、Lightsailではnginxを使用しており、「.htaccess」を利用しないので、上手くいかないという事のようですね。

WPS Hide Loginを導入

調べたら「WPS Hide Login」というWordPressのプラグインがあるので、それを導入する事で対応可能です。

という訳で、ここからが本題みたいな感じですねw

SiteGuardの設定

「SiteGuard」を導入している場合には、ログインページ変更の機能をOFFにします。

WPS Hide Loginをインストール

管理メニューからプラグインのインストールで行えます。

インストール後、有効にします。

WPS Hide Loginの設定

管理者メニューの、「設定>一般」を選ぶと、右ペインの下に「WPS Hide Login」の項目が表示されるはずです。

「Login url」を、好きな文字列(ログインする際のパス)を指定します。

終わりに

対象のサーバ構成(今回のLightsail、Xサーバ等の他のサービス)によって、多少の手順が異なる部分はありましたが、プラグインだけで、これほど簡単に機能を実現できた事に驚きです!

WordPressとプラグインを組み合わせると、今まで大変だと思っていた事も、案外どうにかなるのかもしれませんね(^ω^)

この内容が参考になれば幸いです。

コメント

タイトルとURLをコピーしました