本文へスキップ
totonoe.tech

セキュリティを整える

中級

ログイン画面の守りを整える。

= ID が見えても入られない守り方

⚖ このページは自分のサイトを守る人のための防御教育です。模擬サイトの中で流れを体験し、確かめるのは自分(自社)が管理するサイトだけにしてください。他人のサイトに許可なく試す行為は、不正アクセス禁止法などに触れるおそれがあります。

ID が見えると、何が起きるか(模擬サイト)

架空のサイト example.jp での出来事です。実在のサイトには何も送りません。守りを切り替えて、1手ずつ進めてください。

この会社のパスワード
守り(入れたものにチェック)

数字は教材用の仮定です。試せる速さは1秒に10回、「よくある文字列の一覧」は10,000個、一致するのは120番目としています。

模擬ブラウザ

 

    回数制限で、どれだけ時間が延びるか

    ログイン画面に1回ずつ試される場合の、最後の1つまで試し切る時間の目安です(1秒に10回・制限は5回失敗で15分ロック)。

    試される範囲制限なし制限あり
    よく使われる文字列の一覧(1万個)約17分約21日
    数字だけ8桁約116日約571年
    英小文字だけ8文字約662年約119万年
    英数字(大小)10文字・ランダム約27億年約4.8兆年
    英数字(大小)16文字・ランダム1京年以上1京年以上

    読み方: 回数制限は「時間を延ばす」ものです。一覧に載る短いパスワードは、制限があっても時間の問題です。長くてランダムなら、制限が無くても現実的ではなくなります。どちらも要り、2段階認証がその保険になります。パスワードの強さも確かめてください。

    自分のサイトで確かめる

    リンクを作るだけで、totonoe からサイトへは何も送りません。リンクはあなたのブラウザが新しいタブで開きます。

    自分(自社)が管理するサイトだけで確かめてください。他人のサイトに使うのはやめてください。
    自分のサイトのドメイン 例: example.jp(https:// は付けても付けなくても構いません)

    結果の読み方

    • /?author=1 を開いて、アドレスが /author/◯◯/ に変わったら、◯◯ は「投稿者スラッグ」です。既定ではログイン名から作られるので、ログイン名と同じことが多くあります。トップのままなら、塞がっている可能性があります(投稿が無いユーザーは転送されません)。
    • /wp-json/wp/v2/users は、投稿のあるユーザーの id・name・slug などが JSON で出ます。slug がログイン名と同じなら、ID が見えています。
    • 404 や、中身が空の []、認証を求める応答なら、塞がっている可能性があります。別の入口が残っていないかも、セキュリティ担当と見ておきます。
    • 見えてしまったら、表示名をログイン名と同じにしないこと、パスワードを長くすること、下の対策を入れることです。

    やることと設定を書き出す

    あなたのサイトの状況に答えると、やることの一覧と設定例が出ます。貼る前に、必ずファイルのバックアップを取ってください。

    サイトの状況 選んだ内容はこのページの中だけで使います

      サイトの守りのヘッダー(.htaccess)

      ログインとは別に、サイト全体の守りとして付けられるヘッダーです。Header always set を使うので、mod_headers が有効な Apache が前提です。選ぶと、貼る文面ができます。

      他のサイトの中に表示されるのを防ぐ
      Referrer-Policy

      一度出すと、max-age の間は取り消せません。まず5分で試します。

      CSP は壊しやすいので、止めずに報告するだけの Report-Only で試してから整えます。

        WordPress 以外のログイン画面も点検する

        社内システム・会員サイト・クラウドサービスの管理画面など。答えると、点数とやることが出ます。

        自分の管理するログイン画面 「わからない」は安全とみなさず、まず確かめることに入れます

        関連するツール

        出典・時点(2026年11月時点)

        • WordPress 公式「Brute Force Attacks」:長く使い回さないパスワード、2段階認証(本体には付属しない)、回数制限、XML-RPC、IP 制限(wp-login.php と xmlrpc.php に限る)、admin という名前を避ける
        • WordPress 公式「Hardening WordPress」:admin のような推測されやすい名前を避ける、強いパスワード、2段階認証、管理画面の保護
        • rest_endpoints フィルタ:利用できる REST API の入口の配列を書き換えるフィルタ(4.4.0 から)
        • REST API Handbook「Users」:既定の応答は id・name・url・description・link・slug・avatar_urls・meta(username や email は編集用の文脈のみ)
        • WP_REST_Users_Controller・redirect_canonical()・wp_insert_user():権限が無いとき投稿のあるユーザーに限る処理、?author=数字(投稿者に投稿が1件以上あるとき)が /author/スラッグ/ へ転送される処理、スラッグの既定がログイン名から作る URL 向けの文字列であること(ソースコードの記述)
        • SiteGuard WP Plugin(ログインロック・ログインページ名の変更・CAPTCHA・管理ページの IP フィルタ・XML-RPC の防御・Author クエリのブロックなどが説明に載っています)/Limit Login Attempts Reloaded(既定では WordPress は無制限にログインを試せること、ログイン試行の制限・2段階認証などが説明に載っています)
        • MDN Web Docs:Strict-Transport-Security・CSP Report-Only・X-Frame-Options・Referrer-Policy
        • 模擬サイトの名前・ユーザー・数字はすべて架空です。回数制限の所要時間は、1秒に10回試せるという仮定の計算です。

        このツールについて

        「ID は外から見える。だからパスワードは長く・使い回さず・できれば回数制限を」——その理由を、架空のサイトで1手ずつ確かめます。自社サイトで確かめる手順と、設定例、守りのヘッダーの作成まで。入力は外に出ません。

        ID は外から見えることがある前提で、長く使い回さないパスワード・回数制限・2段階認証のどこで止まるかを架空のサイトで確かめ、自社サイトの確認手順と設定例を出します。入力は外に出ません。

        主な機能

        • 架空サイトで、ID が見える入口から入られるまでを1手ずつ体験
        • 回数制限・2段階認証・ID 漏れ塞ぎを切り替えて、止まる所を確認
        • 回数制限で総当たりの時間がどれだけ延びるかを数字で表示
        • 自分のドメインから確認用リンクを作成(サイトへは通信しない)
        • functions.php・.htaccess の設定例と、守りのヘッダーの生成(コピー付き)

        よくある質問

        Q. /?author=1 を付けるとなぜユーザー名が分かるのですか。

        A. WordPress は、投稿のあるユーザーを ?author=番号 で指定すると、そのユーザーの投稿者ページ(/author/◯◯/)へ転送します。◯◯は投稿者スラッグで、既定ではログイン名から作られるため、ログイン名と同じことが多くあります。

        Q. ID が見えるだけで、入られてしまうのですか。

        A. ID が見えること自体は入られることではありません。ただし、パスワードだけを当てればよい状態になります。パスワードが短い・使い回しだと破られやすいので、長くして使い回さず、回数制限や2段階認証を重ねます。

        Q. 回数制限があればパスワードは短くてもよいですか。

        A. よくありません。回数制限は試す速さを落とすもので、よく使われる文字列に当たるパスワードは、時間がかかっても破られます。長くてランダムなパスワードと2段階認証の組み合わせが基本です。

        Q. WordPress には最初からログインの回数制限がありますか。

        A. WordPress は、既定では何回でもログインを試せます。回数制限が要る場合は、プラグインやサーバー側の機能で足します。例として SiteGuard WP Plugin や Limit Login Attempts Reloaded があります。

        Q. このページに自分のドメインを入れると、サイトに何か送られますか。

        A. 送られません。入れたドメインから確認用のリンクを作るだけで、開くのはあなたのブラウザです。自分(自社)が管理するサイトだけで確かめてください。

        入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

        続けて整える

        totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

        運営サイト

        私たちが運営するサイト