管理画面の URL を /admin にしない:「サービス名+推測できない英数字」の決まり
管理画面の URL が /admin のままだと、決まった URL を片っ端から試す仕組みに真っ先に狙われます。自社アプリの管理画面を「サービス名+推測できないランダムな英数字」に変え、Google ログインの制限はそのまま残した決まりと、URL の覚え方を書きます。

管理画面の URL は、/admin のような推測しやすい名前にせず、「サービス名+推測できないランダムな英数字」にしています。/admin は、決まった URL を片っ端から開いて回る仕組みに真っ先に試されるからです。ただし URL を隠すのは鍵の代わりではないので、登録した運営者だけが Google でログインできる仕組みは、そのまま残しています。
接客の録音アプリ(TalkLens)には、私たち運営者だけが使う管理画面があります。最初、その URL は /admin でした。本番で使い始める前に、オーナーの指示で、これを「サービス名+推測できないランダムな英数字」の URL に変えました。
そして、これからほかのアプリの管理画面を作る時も、同じ決まりで URL を付けることにしました。この記事は、その決まりと、作った URL をどう覚えているかの記録です。
管理画面の URL が /admin だと、真っ先に試される
インターネットには、サイトの弱いところを探して、決まった URL を片っ端から開いて回る仕組みが動いています。/admin、/manage、/console のような URL は、どのサイトでも真っ先に試されます。

決まり:「サービス名+推測できない英数字」

サービス名を付けるのは、1つのサーバーの中で複数のアプリの管理画面を動かしているからです。どのアプリの管理画面かが、URL の頭で分かります。ランダムな英数字の部分は、推測されたら意味がないので、決まった言葉や日付は使いません。
この記事の中でも、実際の URL は書いていません。書いた時点で、推測できない意味が無くなるからです。


作った URL は、iPhone の「パスワード」アプリに保存する
推測できない URL は、自分でも覚えられません。そこで、作った URL は、iPhone の「パスワード」アプリに、サイト名と一緒に保存して覚えることにしました。


管理画面を作る時に、あわせて決めたこと
URL のほかにも、管理画面には次の決まりを付けています。

- 運営者は、アプリの利用者とは別の仕組みで管理し、アプリのログインでは管理画面に入れない
- ログインしていない人には、ログインの画面以外は何も返さない(件数や組織の名前などの一部も出さない)
- 運営者のログイン、拒否、閲覧は、すべて記録に残す
- 管理画面は、原則として見るだけにする。書き換えは、必要なものだけに絞る
まとめ

- 管理画面の URL を /admin のような推測しやすいものにしない
- 「サービス名+推測できないランダムな英数字」にし、ランダムな部分はアプリごとに作る
- URL を隠すのは、ログインの仕組みに重ねる、もう1枚の守り
- 作った URL は、iPhone の「パスワード」アプリにサイト名と一緒に保存する
この記事は、AI(Claude)の支援を受けて作成し、筆者が内容を確認しています。


