本文へ移動Lockpick
ドキュメント

管理画面がインターネット上に公開されている

読了 2 分

誰でもアクセスできるサインインページ、管理画面、データ接続に特別な注意が必要な理由。

多くのサイトには、あなたしか使うべきでない部分があります。管理画面、ダッシュボード、アプリがデータベースを読むための接続などです。それらがサイトと同じ公開アドレスにあると、誰でもそれらを見つけられます。

到達できること自体は問題ではありません。問題は、到達できるものが、相手が誰かを確かめずに応答してしまうときに始まります。

スキャンが確認する内容

  • サインインせずにレコードを返すデータ接続。データベースのテーブルや、非公開であるべきユーザー一覧などです。
  • サインインしている場合と同様に、サインインなしでも一部のリクエストに応答する API。
  • 開発者向けのツール(API の操作を一覧にした公開リストや、クエリエクスプローラーなど)が、公開中のサイトで有効のままになっていること。
  • ページ上のスクリプトから見えてしまうサインイン用の Cookie。

これらは、Supabase や Firebase のようなサービスで素早く作られたアプリでよく見つかります。そうしたアプリでは、開発中はアクセスルールが開いた状態で始まり、忘れられやすいためです。

対処方法

アプリが使うすべてのデータソースのアクセスルールを確認し、それぞれがサインイン済みで許可された人にだけ応答するようにしてください。公開中のサイトでは、開発者向けツールをオフにしてください。可能であれば、管理画面を追加のサインインの背後に置くか、チームだけが使うアドレスに置いてください。

スキャンは、どのリクエストに対して何が応答したかを、送ったリクエストとともに伝えます。そのため、開発者は同じ確認を繰り返せます。

このページは役に立ちましたか?

このページの内容