Publicly exposed Firebase Database
公開されている Firebase Database
説明
Firebaseは、リアルタイムデータベースを含むさまざまなツールやサービスを開発者に提供するモバイルおよびWebアプリケーション開発プラットフォームです。Firebaseデータベースがパブリックに公開されている場合、認証や承認なしに誰でもデータベースに保存されているデータにアクセスし、操作できることを意味します。
Firebaseデータベースをパブリックに公開することによるセキュリティ上の影響は深刻であり、以下のセキュリティリスクにつながる可能性があります。
- 不正アクセス:認証や承認なしに誰でもデータベース内のデータにアクセスできるため、データベースに保存されている機密情報が許可されていないユーザーによってアクセスされる可能性があります。
- データの改ざん:攻撃者はデータベース内のデータを変更、追加、または削除することができ、データの損失や不正確なデータをもたらし、アプリケーションやビジネスに深刻な結果をもたらす可能性があります。
- 情報漏洩:攻撃者は、パスワード、個人情報、財務データなど、データベースに保存されている可能性のある機密情報にアクセスできます。
- 悪意のある攻撃:攻撃者は、Firebaseデータベースに接続されているアプリケーションの脆弱性を悪用するために、インジェクション攻撃、クロスサイトスクリプティング(XSS)、その他の種類の攻撃など、さまざまな悪意のある攻撃を仕掛けることができます。
- 評判の低下:機密情報が公開された場合、顧客間の信頼と信用の失墜につながり、ビジネスの評判に重大な影響を与える可能性があります。
Firebaseデータベースがパブリックに公開されているかどうかを確認するには、以下のcurlコマンドを使用できます。
curl -X GET 'https://<project-id>.firebaseio.com/.json'
<project-id>を確認したいFirebaseプロジェクトのIDに置き換えてください。このコマンドは、FirebaseデータベースのルートノードをJSON形式で取得しようとします。
Firebaseデータベースがパブリックに公開されている場合、認証や承認なしでデータを取得できるはずです。
データベースが安全で適切に構成されている場合は、データへのアクセスが承認されていないことを示すエラーメッセージが表示されます。
推奨事項
Firebaseデータベースを非公開にするには、以下の技術的な手順に従うことができます。
-
Firebase Authenticationの有効化:Firebase Authenticationを使用すると、ユーザーを認証し、データベースへのアクセスを制御できます。Firebase Authenticationを使用して、電子メールとパスワード、Google、Facebookなどのさまざまなプロバイダを使用してユーザーを認証できます。
-
Firebase Security Rulesの構成:Firebase Security Rulesを使用すると、データへのアクセス方法、およびデータベースに対して読み取りまたは書き込みを行うことができるユーザーを定義できます。ユーザー認証とデータベース内の特定のデータパスに基づいてルールを定義できます。
リンク
標準
- PCI_STANDARDS:
- REQ_2_2
- REQ_6_3
- REQ_6_4
- REQ_7_2
- REQ_11_3
- SOC2_CONTROLS:
- CC_2_1
- CC_3_4
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5