wordpressのログインURLを変更するWPS Hide Login

eyecatch WordPress
この記事は約11分で読めます。

備忘録_69 / wordpress_29

4552回

何か、最近この数字がヤバイことになっています。
不気味な事に日に日にカウント数が増していっております。ネットの片隅でささやかに営まれるオフトゥンブログですが、最近では来客者数も増えており、月に2~3名ぐらいの方が私のサイトを訪れて下さるようになりました。本当に有り難い事です。
ですが、ちょっと待って下さい。そちらは私専用のログインページです!お客様にお見せするページではありません!このままでは侵入されるのも時間の問題です。
さて…一体どうしましょうか…。

セキュリティ

セキュリティAPIについて ①

reCAPTCHA
[図_2]

[図_2]
Google reCAPTCHA の画面

現在、当ウェブサイトでは不正なトラフィックを検出するAPIに、jetpack securityGoogle reCAPTCHA v3の両方を用いて怪しげな接続をダブルブロックしております。
そのreCAPTCHAの方ですが、不審なアクセスがなんと、91万ですと!ブロッケンJr.の90万パワーを越えているではないですか!月 数名のお客様をお招きする為に、招かれざる客が何万人も来てしまうわけですか…。

唐突な出だしですが、jetpack securityreCAPTCHAそれぞれの詳しい説明はこちらのページからご覧下さい。

先に執筆投稿した、jetpack securityreCAPTCHAの回について幾つか説明を忘れていた箇所があります。まずはその補足説明になりますが、二つのセキュリティウェアの違いです。どちらも不正な接続をブロックする機能に違いはありません。しかし、そのセキュリティ方式に違いがあります。

1⃣ Jetpack security
世界中に7000万人のWordPressのユーザーがいます。WordPress本社に置かれた中央サーバーで情報を共有することにより統計データから攻撃者を割り出します。末端サーバーのサイトヘルス状態を常にモニタリングしているため、サイトのどの箇所が狙われているかまで細かく熟知しています。多数のサーバーを使用する分散型の総当たり攻撃に効果を発揮します。

2⃣ reCAPTCHA v3
reCAPTCHA v3 は予め人間らしい挙動パターンをAIに学習させておき、その経験則に照らし合わせて人間かbotかを判断します。人間らしくない、即ち botと疑わしき者をブロックしてくれます。だったのですが、最近 reCAPTCHA v3 を破るbotプログラムが登場し猛威を振るっています。

両者にはセキュリティ方式に違いがあるため、2つ同時に実装すればより良い効果を期待できます。間に余計なプロセスが入る為、デメリットとして多少ではありますがwebページの表示スピードの低下が起こります。

reCAPTCHAが誤判定を起こした時の対処法

WPログイン画面
[図_3]

[図_3]
wordpress管理者ログイン画面

こちらはwordpressの管理者ログイン画面です。通常ならこのURLは、当ブログサイトのメインライターである私にしか用の無いwebページですが…攻撃者もまたこのwebページに用があるようです。

要するに攻撃者はこのログインフォームから侵入しようと試みます。

ログインエラー画面
[図_4]

[図_4]
ログインエラー画面

今回の様に不正アクセスが頻発するとセキュリティAPIの反応が非常にシビアになり、管理者本人ですらログインを拒否されるようになります。
鉄壁のガードは本当に有難いのですが、この状態は誰も中に入れない事を意味します。
ランサムウェアに乗っ取られた時と同じ状態ですので、これは本当に焦ります。

入力画面
[図_5]

[図_5]
パスワード入力画面

reCAPTCHAv3 にブロックされてしまった時の対処方法ですが、通常だと予めブラウザにパスワードを記憶させるオートコンプリート機能を使ってログインすると思いますが、こちらを使わずにパスワードを全て手打ちします。
reCAPTCHA は人間らしさを計測しておりますから、もたつきながらキーボードから手打ちしている挙動を間違いなく人間と判別します。

また、全てを手打ちせずとも下二桁くらいをバックスペースキーで消して、キーボードから再入力すれば通ると思います。しかし、キーロガーと言うハッキング手法もあり、個人的に手打ち入力もあまり安全では無いと思っております。

代表的なハッカーの攻撃手法

攻撃者はコンピューターへの侵入を目的として仕掛けてくるわけですが、そのバリエーションを簡単に説明します。

1⃣ 総当たり攻撃(ブルートフォースアタック)
パスワードや暗号を総当たりで割り出す方法です。自転車のチェーンロックの番号を忘れてしまった事は無いでしょうか?暗証番号が数字4桁の場合「0000」から「9999」まで1万通りのパターンがあります。こちらを「0000」「0001」「0002」…「9999」まで順番に試行していくと必ず開きますよね。人の手で行うとウンザリするほど大変ですが、それを実行するのは疲れ知らずのコンピューターです。延々と実行し続ければいつかは必ず開く事になります。
総当たり攻撃はハッキングで最もよく使われるメジャーな手法です。その理由はお手軽だからです。以下3⃣以降にハードな手法の例もいくつか挙げましたが、比較してみると少ない労力でそれなりの成果を得られる事が分ります。

2⃣ 辞書攻撃(ディクショナリアタック)
皆さんはどのようにしてパスワードや暗証番号を管理しているでしょうか?ネット社会になり便利な世の中になった反面、どこのサイトにログインするにしてもパスワードが要求されます。あれ、あのパスワード何だっけ?いざ使う時にどうしてもパスワードを思い出せない事があると思います。あるあるですが、パスワードを忘れないように「Apple」「hiroshi」「watasidesu」など分かり易い単語をつい用いてしまいます。いかにもパスワードに好んで使われそうな単語や人名を予め大量に用意して置き、順番にログインを試行する方式を辞書攻撃と言います。この手法も総当たり攻撃の一種のため、特に区別されない事が多いです。

3⃣ セキュリティホールを突く
WordPress、Linux CentoOS、データーベース、仮想専用サーバーの基幹システムのプログラムの盲点を突いてセキュリティを破る手法です。全世界にWordPressを使っているユーザーは7000万人、CentOSのユーザーは10億人いるようですが、プログラムの盲点を見つけ出し破る事が出来れば広範囲に及ぶ多大な損害が発生します。ハッカーは大変な労力を要しますがそれに見合う成果を得る事になります。しかし大勢のエンジニア達の目を掻い潜り攻撃を仕掛ける事は至難の業です。

4⃣ RSA暗号方式をクラッキングする。
現在インターネットで使われているパスワード(情報通信暗号)はRSA暗号方式と呼ばれる暗号アルゴリズムを採用しています。こちらはアメリカのクレイ数学研究所によって2000年に発表され、100万ドルの懸賞金がかけられた数学上の七つの未解決問題・ミレニアム懸賞問題の一つである「P≠NP予想」解き明かせば割ることが可能です。ですが、もしこの根本を割る事が出来たらもはやスーパーハッカ―どころではなく超々一流の天才数学者です。問題を解けたら一応100万ドル(1億5千万円)もらえる事になっていますが、こんなはした金貰わなくてもビットコインから銀行預金、ウォールストリートまでありとあらゆる富を1人で総取り出来ます。それは一夜にして世界経済が成り立たなくなるという事を意味します。つまり「P≠NP予想」は誰にも解けないという前提で成り立っています。ご安心ください、仮にミレニアム問題が解かれてしまったとしても「楕円曲線暗号」「格子暗号」といった代替暗号モデルも既に用意されております。

5⃣ 米国国家安全保障局のスパコンの処理能力を超えるコンピュータを用意する。
RSA暗号方式ではパスワードの桁数を長くすればするほど強度が高まるわけですが、鍵の最長サイズには制限が設けられております。一般人が使う程度のコンピュータの演算能力では割る事が不可能で、かつ、米国国家安全保障局(NSA)のスパコンで割る事が可能な程度の長さにしてあります。つまりNSAのスパコンと同等ないしそれを超える演算能力を持つコンピュータを使えばパスワードを割る事が可能です。しかしその様な高性能なコンピューターを持っていたらアメリカ合衆国大統領に成り代わり、全世界を統べる独裁者に成れるでしょう。

一例を挙げた物の他にも多種多様な攻撃手法が存在します。話が長くなりましたがとにかく1⃣2⃣総当たり攻撃にだけ気を付けていれば良いです。それ以外3⃣4⃣5⃣のハッキング攻撃については個人で対処する事は難しいです。そもそも論になりますが、このお布団ブログを乗っ取ったところで攻撃者はなんの益があるでしょうか?例えばこのサイトには隠しフォルダがあり、たんまりとお金になるマル秘情報が隠してある!…などという事は当然考えられません。大企業のコーポレートサイトを狙うならまだ分りますが、個人ブログを狙ったところで何一つお金に繋がる物はありません。
しかし攻撃者が狙うのは、それなりの理由があるからです。攻撃者の目的はお布団ブログのwebサイトではなく、月額ワンコインの仮想専用サーバーです。残念ながら当webサイトの情報には全く価値がありません😢 攻撃者は仮想専用サーバーを乗っ取り、それを踏み台にしてさらに高度なハッキング3⃣を仕掛ける足掛かりとして利用します。コンピューターは疲れを知りませんから、一たび総当たり攻撃を始めるとパスワードを解き明かすまでずっと演算をし続けます。しかしそこにはデメリットもあります。パスワード解析には物凄いCPUパワー消費します。もしも自分の家のパソコンをフルパワーで24時間フル稼働させていたら目玉が飛び出るほど高額な電気代の請求書が来てしまいますよね。つまり、総当たり攻撃を仕掛けてくるコンピューターもまたハッカーに乗っ取られてしまったサーバーの中の一台なのです。

ログインURLアドレスの変更方法

先にも述べたように個人で対処できるハッキング攻撃は総当たり攻撃だけです。その総当たり攻撃とはwebサイトのパスワード入力フォームを狙う攻撃手法です。何としても管理者ログインフォームを死守する以外に道はありません。

SiteGuard WP
WPS Hide Login

発想の転換になりますが、wordpressはログインURLアドレスを変える事が出来ます。こちらも総当たり攻撃を未然に防ぐ(攻撃させない)有効なセキュリティ手段になります。

デフォルトの設定で、wordpressのログインURLは、
http://ホスト名/wp-login.php/ となっております。こちらを任意のスラッグ(名前)に変更出来るプラグインを2つほどご紹介させて頂きます。

1⃣ SiteGuard WP Plugin
有名なセキュリティ会社EGセキュアが開発している国産プラグインです。ログインURLの変更の他、画像認証、アクセス制限、フェールワンス等のセキュア機能が盛りだくさんです。その信頼性、知名度から特に人気があります。
公式webサイト

2⃣ WPS Hide Login
シンプル・イズ・ベスト。機能はWordPressのログインURLの変更、それだけですが、有効インストール数は断トツのトップです。付加価値機能を重視しない方にお勧めです。
公式webサイト

ユーザー数 7000万人を誇るwordpressで作成された全てのサイトは一律に、wp-login.phpから始まります。攻撃者にしてみれば狙う場所は既に特定出来ている事になります。これは危険な状態ですから、まずは管理者ログインURLを変更します。

WPS Hide Login

wps_hide_login banner
ダッシュボードメニュー
[図_8]

[図_8]
ダッシュボードメニュー画面

高機能なプラグインを実装し過ぎるとwebページがもっさり重くなる事もあり、今回は WPS Hide Login を選択しました。以下、使い方の説明です。

ダッシュボードメニューより、
[設定] → [WPS Hide Login] をクリックします。

HideLogin設定
[図_9]

[図_9]
設定画面

ログインURLを任意の文字列に変更できます。当然、意味のある単語よりも無意味な文字の羅列の方がセキュリティが上がります。少なくとも辞書攻撃は無効になります。
リダイレクトURLを変更できます。デフォルトで[404]になっていますが、このままで構いません。
最後に忘れずに [変更を保存] して下さい。

WPSHLログイン画面
[図_10]

[図_10]
wordpress管理者ログイン画面

この様に、ログインURLが変更されます。ログインURLは忘れずにメモして置きましょう。忘れてしまうとログイン出来なくなります。

最悪、ログインURLを割り出す為に自分自身のサイトに総当たり攻撃を仕掛けるなんてお馬鹿な事になりかねません。

winscp
[図_11]

[図_11]
WinSCPコンソール画面

もしも、ド・忘れてしまった場合ですが、その時はWinSCPを使い仮想専用サーバーにアクセスをして直接ファイル操作を行います。
wp-content → plugins に移動します。
wp-hide-login のフォルダを別の名前にリネームするか、pliginsフォルダから別のフォルダに移動します。

以上の操作によりWPS Hide Loginプラグインが機能しなくなり、デフォルト設定のログインURL(/wp-login)に戻ります。wordpress管理画面より再度URLを設定仕直して下さい。これはreCAPTCHAにも有効です。もしもログインの際にreCAPTCHAに弾かれてログインできない場合も同様にして対処します。

セキュリティAPIについて ②

reCAPTCHA設定
[図_12]

[図_12]
reCAPTCHA設定画面

最後は再び、reCAPTCHAの補足説明になります。フォーム設定は全ての項目にチェックを入れて下さい。
ログインフォームも同様ですが、攻撃者は全ての入力フォームを同時に狙ってきます。

私たちwordpressユーザーにしてみれば、[パスワード紛失フォーム]や[パスワードリセットフォーム]は管理画面にあり、一度ログインしてからでないと設定画面に触れる事は出来ません。ならば特に必要無いのでは?
と一見そう思えてしまいますが、違います。wordpressのデフォルトの設定ではこれらのディレクトリを直接狙えてしまいます。そもそも攻撃者はブラウザを使っていません。ですから、攻撃に晒されるリスクはどの入力フォームも同じだったりします。

今回は以上です。ありがとうございました。

Eyecatch image:Sam Williams / Pixabay,adobe tutorial sample / adobe.com