Login URL
WordPressログインURL変更|
プラグインなしの手順と戻し方
ログインURLを変えると、機械的な総当たりの入口は減らせます。ただし、新しいURLを忘れると自分も入れなくなります。変える前の控えと、元へ戻す手順を先に用意してから進めてください。入れなくなったときの切り分けはログインできないときにあります。
WordPressログインURL変更の前
標準の入口は wp-login.php と、そこへ続く wp-admin です。世界中のボットがこの二つのパスを叩くので、変える意味はあります。ただし、変えるだけでは守れません。弱いパスワード、古いプラグイン、管理者の共有は残ります。URL変更は、総当たりの騒音を減らす一段であり、更新とバックアップの代わりにはなりません。
作業の前に、今の入り方を紙かパスワードマネージャへ残します。標準URL、変えたあとの予定URL、管理者のログイン名、FTPまたはファイルマネージャの場所、データベースへ入る手段です。変えた直後にログインできなくても、ファイルを戻せる状態が前提です。戻せない環境でだけプラグインを入れる、という進め方は危険です。
公開面のキャッシュ、セキュリティプラグイン、WAF、Basic認証が重なっているサイトは、変更の効果と副作用が混ざります。同じ日に全部を触らないでください。ログインURLだけ変えて、24時間は他の防御を足しません。入れなくなったときに、どれが原因か分からなくなるからです。
複数人で更新しているサイトは、新しい住所の伝え方を先に決めます。チャットの履歴に残すなら、残す場所を限定します。検索結果や、サイト内の「ログイン」リンク、会員向けの案内に標準URLが書いてあると、変更後に404が続きます。会員制のサイトは、会員用の入口と、管理者用の入口が同じプラグインで変わるかを確認します。会員まで巻き添えにすると、問い合わせがログイン不能で埋まります。
サブディレクトリにWordPressがある、wwwの有無が揺れている、httpとhttpsが混在している、という状態では、変更より先にサイトアドレスを一つに揃えます。揃えないまま入口だけ隠すと、リダイレクトの輪になります。公開面が一つのURLで開けることを、変更前の合格条件にしてください。
バックアップは、ファイルの .htaccess と、wp-config.php、データベースの一式です。ログインURL変更だけなら、.htaccess と、使うプラグインの設定が主です。それでもデータベースの控えがあると、プラグインのオプションが壊れたときに戻れます。控えは公開ディレクトリの外へ置きます。
ログインURL変更をプラグインなしで進める
プラグインなしで入口をずらす方法は、大きく二つです。サーバーの書き換えで wp-login.php を別パスへ見せる方法と、テーマや mu-plugin に小さなコードを置いてログインの住所を差し替える方法です。どちらも、失敗したときの戻しはファイルの差し戻しです。管理画面に入れなくても復旧できます。それがプラグインなしを選ぶ理由です。
コードで差し替える場合は、wp-content/mu-plugins に、サイトが止まっても読み込まれる小さなPHPを置きます。ログインのURLを返すフィルターと、標準パスへ来た人を404やホームへ返す処理をセットにします。片方だけだと、新しい住所は動くが古い住所も残る、または古い住所を閉じたが新しい住所が404、という中途半端になります。コードの中のパスは、推測されにくい文字列にします。admin や login、secret は避けます。
置いたファイルの名前と、中のパスは、サイトの担当者だけが読める場所へ控えます。コードをテーマの functions.php に書く方法は、テーマ更新で消えます。子テーマか mu-plugin に置いてください。親テーマへ直書きすると、次のテーマ更新で入口が標準に戻り、隠したつもりが露出します。
変更した直後は、今のブラウザのクッキーを消してから新しい住所を開きます。古いセッションが残ると、標準URLへ引き戻されて「変わっていない」と誤認します。別のブラウザでも開けることを確認します。確認できるまで、標準URLを閉じる処理を強くしすぎない方が安全です。先に新しい住所で入り、抜けて、もう一度入れる、までを見てから、古い住所を404にします。
wp-login.php のファイル名をサーバー上でリネームする方法は勧めません。本体の更新でファイルが戻り、残したリネーム先と二重になります。更新のたびに入口が復活し、セキュリティのつもりが逆に管理不能です。本体のファイルは触らず、手前の書き換えか、フィルターで住所だけ変えます。
会員登録や、投稿者のログイン、パスワード再設定のメールに、標準の wp-login.php が書かれることがあります。プラグインなしの差し替えでは、メール本文のリンクまで追えないことがあります。会員がいるサイトは、テスト用のユーザーで再設定メールを送り、リンク先が新しい住所かを確認します。古い住所のままだった場合は、プラグイン側の方がメールまで揃うことがあります。
htaccessでのログインURL変更
Apache系のレンタルサーバーでは、.htaccess の書き換えで入口を見せ方だけ変えられます。WordPressが書いたパーマリンク用のブロックは残し、その外側に、新しいパスを wp-login.php へ内部転送する行と、標準の wp-login.php を直接開いた人を拒否またはホームへ返す行を足します。内部転送と外部リダイレクトを混ぜると、輪になりやすいです。新しいパスは内部で実ファイルへ渡し、古いパスだけ外へ返す、という向きを揃えます。
編集は必ず控えを取ってからにします。一行の打ち間違いでサイト全体が500になります。保存した直後に公開面のトップと下層を開き、パーマリンクが生きているかを見ます。下層が404になったら、足した行ではなく、標準ブロックを壊しています。控えへ戻し、足す位置を変えてやり直します。
wp-admin を直接開いたときの扱いも決めます。ログイン前の wp-admin は、標準ではログイン画面へ送られます。入口を隠したあとも、wp-admin が標準ログインを出してしまうと、隠した意味が薄れます。wp-admin への直打ちを、新しいログインへ送るか、404にするかをセットで書きます。ただし、静的な管理用ファイルまで拒否すると、ログイン後の画面が崩れます。ログイン済みのクッキーがあるリクエストは通す、という分岐が必要です。
nginx のサーバーでは .htaccess は使われません。同じことをするなら、サーバー設定の location で書き換えます。共用レンタルで nginx なのに .htaccess だけ編集しても、何も起きません。変わらないことをプラグインの不具合だと誤解しないでください。パネルに「.htaccessを使う」と書いてあるか、サポートの案内で確認します。
WAFやCDNの手前がある場合、.htaccess の拒否より先にWAFが標準パスを通すことがあります。標準パスへのボットは減らず、自分だけ新しいパスを使う、という状態になります。隠す効果を出すなら、WAF側にも標準ログインへのルールを足します。足す前に、新しいパスがWAFでブロックされないかを確認します。管理画面用のルールが厳しすぎると、隠した入口まで403になります。
変更後は、新しいパスをブックマークし、標準パスが意図どおり404か、ホームへ戻るかを見ます。検索エンジンに新しいログインを拾わせないため、そのパスはサイトマップに入れず、noindex の応答になるかも確認します。ログイン画面まで公開のHTMLとして長い解説を置く必要はありません。
マルチサイトでは、サイトごとのログインと、ネットワーク管理の入口が分かれます。一つの.htaccessで全部を隠すと、子サイトの編集者まで404を見ます。ネットワーク管理者だけずらすのか、子サイトも同じパスにするのかを先に決め、テスト用の子サイトで確認してから本番へ写します。子サイトの数が多いか、会員が子サイトにいるなら、プラグインなしより、対象を選べるプラグインの方が事故が減ることがあります。
プラグインでのログインURL変更
プラグインで変える利点は、管理画面からパスを変えられ、メールやリダイレクトまで一式で揃いやすいことです。欠点は、そのプラグインが止まると入口が消えたり、逆に標準へ戻ったりすることです。入れる前に、止まったときの戻しを確認します。ファイルマネージャでフォルダをリネームすれば標準URLが復活するなら、復旧の手段があります。
SiteGuard は、日本語のサイトでよく使われる一式型です。ログインページ変更に加え、ログインロックや画像認証もあります。同じ画面で複数を一度に有効にすると、どれで入れなくなったか分かりません。最初はログインページ変更だけ有効にし、新しい住所で入り直してから、ロックを足します。変更したパスは、SiteGuardの設定画面と、控えたメモの両方に残します。管理画面に入れなくなったときは、プラグインフォルダのリネームが戻しです。
WPS Hide Login は、入口を隠すことに寄せた拡張です。設定したスラッグが新しいログインになります。標準の wp-login.php は404に見えます。テーマや他のセキュリティプラグインと重ねると、404の出し方や、リダイレクトの輪が起きることがあります。入れる日は、他のログイン系を増やさないでください。停止するときは、先に標準URLで入れることを確認してから削除します。削除だけ先に行うと、データベースに残った設定が中途半端に効くことがあります。
どちらを使う場合も、パスに login、admin、wp、secret、会社名だけ、は避けます。短すぎる英単語は、隠していないのと同じです。長くても、サイトの電話番号や代表者名は避けます。漏れたときの推測材料になるからです。パスを変える周期を短くしすぎると、関係者が置いていかれます。入口の変更は、担当が交代したときか、漏えいが疑われるときに行います。
プラグインの更新で設定が飛ぶことがあります。更新の前に、今のパスを控え、更新後に新しい住所で入れるかを見ます。入れないときは、フォルダをリネームして標準へ戻し、設定を入れ直します。更新と、パスの変更を同じ作業枠でやらないでください。本体更新、プラグイン更新、入口変更は日を分けます。
会員制、WooCommerce、予約のログインが、同じプラグインの隠れ方に巻き込まれるかは、テストユーザーで確認します。店のお客まで404を見たら、隠す対象が広すぎます。管理者だけずらし、お客のマイページは標準のまま、という分け方が必要なら、プラグインの文書で対象範囲を確認し、対象外ならプラグインなしの管理者専用へ切り替えます。
WordPressログインURL変更のあと
新しい住所で入れたら、すぐに投稿せず、確認だけします。ログアウトし、別ブラウザで新しい住所を開き、標準の wp-login.php が意図した応答になるかを見ます。wp-admin の直打ちも試します。ここで輪になるなら、サイトアドレスと、隠すルールが食い違っています。公開面の下層も、変更前と同じく開けるかを見ます。
パスワード再設定のメール、新規ユーザーへの通知、会員の案内に古いURLが残っていないかを見ます。残っているなら、文面を直すか、プラグイン側の置き換えを有効にします。ブラウザの補完に古い住所が残るので、関係者には「古い方は使わない」と一度伝えます。検索コンソールにログインURLを登録している例は稀ですが、サイトマップ生成系が拾っていないかだけ見ます。
セキュリティプラグインのロック回数、WAFの管理画面ルール、Basic認証が、新しいパスにも掛かっているかを確認します。隠した入口がWAFで403だと、ボットは減っても自分も入れません。新しいパスだけ通し、標準パスは拒否する、という向きを揃えます。逆向き、つまり新しいパスを拒否して標準だけ通る、は変更が無効です。
バックアップのスケジュールと、更新の担当が、新しい住所を知っているかを確認します。外部の更新代行が古いブックマークのままだと、翌月の更新が「ログインできない」で止まります。URL変更は、セキュリティの作業であると同時に、運用の連絡です。
変更の記録は、日付、手段(.htaccess / mu-plugin / SiteGuard / WPS Hide Login)、パス、戻し方の一文で足ります。記録をサイトの公開ディレクトリに置かないでください。リポジトリが公開なら、そこにも書きません。
ログインURL変更をプラグインなしで戻す
入れなくなったときの戻しは、管理画面を使いません。ファイルマネージャかFTPで、足したものを外します。.htaccess を使ったなら、控えのファイルへ戻します。控えが無いときは、足した転送と拒否の行だけを消し、WordPress標準のパーマリンクブロックは残します。保存後、標準の wp-login.php を開きます。
mu-plugin や、テーマに書いたコードなら、そのファイルをリネームするか、該当のフィルターを含むファイルを一時的に外します。テーマの functions.php を丸ごと消すと公開面が落ちます。該当の関数だけをコメントするか、そのファイルを外します。子テーマを使っているなら、親より先に子を見ます。
プラグインで変えていた場合も、戻しの第一手はフォルダのリネームです。SiteGuard なら siteguard、WPS Hide Login なら wps-hide-login のディレクトリ名を変えます。標準URLが復活したら入り、プラグインを正規に停止してから削除します。データベースに残ったオプションが邪魔をする場合は、そのプラグインの文書にある削除対象だけを消します。よく分からないテーブルを空にしないでください。
戻したあと、新しい住所のブックマークは捨てます。WAFに足した例外も、新しいパス用のものは外します。残したままだと、次に別のパスへ変えたときに例外が溜まります。標準へ戻した事実は、関係者へ同じ日に伝えます。伝えないと、隠した入口を探し続けてロックされます。
戻しても入れない場合は、URL変更以外の原因です。403、404、リダイレクト、500の切り分けへ進みます。番号の見方はログインできないときです。wp-config.php のサイトURLが食い違っている、データベースの home が別ホスト、という状態は、入口の隠しとは別に直します。
戻す作業の途中で、見知らぬPHPや、自分で置いていない管理者を見つけたら、戻しを急いで完了させず、ファイルの控えを残して点検へ切り替えてください。入口を標準に戻すことは、攻撃面を一時的に戻すことでもあります。改ざんの疑いがあるなら、標準に戻した瞬間から、パスワードとユーザーの確認がセットです。
WordPressログインURL変更の運用
一度変えたら、毎月変える必要はありません。担当の交代、漏えいの疑い、プラグインの停止で入口が露出したとき、に見直します。短い周期で変えると、控えが追いつかず、自分で403を作ります。変えるときは、この記事の「前」の節と同じ控えを取り直します。
新しい住所は、パスワードマネージャのURL欄に入れます。パスワードだけ更新してURLが古い、という状態が一番多い閉め出しです。二段階認証を使っているなら、バックアップコードの置き場も、入口の記録と同じ場所へ置きます。別々だと、入口は知っているが端末を失った、で止まります。
更新作業の外注や、税理士用の閲覧ユーザーがあるサイトは、権限ごとに入口が同じかを確認します。隠した管理者入口と、購読者のログインが別なら、案内文を分けます。同じなら、外部ユーザーへ新しい住所を渡す範囲を最小にします。渡した相手が辞めたら、パスを変えるか、そのユーザーを消します。
ログインURLを変えたことを、セキュリティ対策の完了だと思わないでください。本体とプラグインの更新、管理者の整理、バックアップの確認が残ります。入口を隠したあとに更新を止めると、隠していないサイトより危険です。ボットの騒音が減って、管理画面の警告を見なくなるからです。
Cloudflareなど手前のルールで標準ログインを止めているなら、原点のWordPress側でさらに隠す必要は薄いことがあります。二重に隠すと、障害時の切り分けが長くなります。手前で止めるか、原点でずらすか、主担当を一つにします。両方やるなら、戻し手順を一つのメモにまとめてください。
本体の自動更新が入口を戻すことは、フィルターや.htaccessで隠している限り少ないです。例外は、標準ファイルをリネームしていた場合と、セキュリティプラグインが更新で設定を初期化した場合です。自動更新の翌日に、新しい住所で一度入れる確認を、更新担当のチェックに足してください。入れないときは、その日のうちに戻し手順を実行します。放置すると、関係者が古いブックマークと新しい住所の両方を試し、ロックされます。
ログインURL変更が自分で難しいとき
新しい住所で403や輪になり、.htaccess を戻しても公開面が500、ファイル日時が自分の作業と一致しない、見知らぬ管理者が増えている、というときは、入口の問題と改ざんの切り分けが重なっています。サイト改ざん・マルウェア駆除を先に見てください。緊急対応は税別29,800円からです。人が問題かを見てから隔離と除去に入ります。
入口を隠すより、手前にWAFを置く方が向くサイトもあります。WordPressの手前設置は税別14,800円からです。更新と監視まで含めるなら、死活は全プランで24時間365日1秒単位、マルウェアの常時監視はスタンダード月額17,800円(税別)以上です。
今のログインURL、使っている手段、公開面の生死が分かれば、戻してから隠すのか、隠さず手前で止めるのかを分けて返せます。新しいパスの文字列を公開のフォームに書く必要はありません。手段の種類だけで十分です。
あわせて見る
相談
入口の戻しから先に見ます
今の手段と同じく、公開面が生きているかが分かれば、標準へ戻すのか、改ざんを疑うのかを分けます。