こんにちは!今回は、Bubbleの有料プランと統合されたFluskの概要を紹介していきます。
Fluskは、Bubbleアプリのセキュリティ強化を目的としたツールで、セキュリティチェックの自動化やデータ漏洩の防止など多様なサポートを提供します。2024年10月のBubbleConで発表されたFluskとBubbleの統合は、開発者にとって大きなニュースでした。そして、2024年11月についにFluskの機能がBubbleの全ての有料プランで利用可能となり、アプリの安全性向上がより手軽になりました。
過去のFluskに関する記事では、セキュリティ監査やモニタリング機能の概要を紹介しましたが、本記事では、2024年11月の発表に基づきBubbleの有料プランごとに利用できるFlusk(Ver. 2.4)の機能、導入手順、実際のチェックの結果等を紹介していきます。アプリのセキュリティ管理でお困りの方や、Fluskの導入を検討している方はぜひご参考ください!
▼2024年10月のBubbleConで発表されたニュースの記事
▼Fluskの過去記事
1. Flusk
1.1. 概要
Fluskは、Bubbleのセキュリティ監査とモニタリングに特化したツールで、セキュリティチェックの自動化やエラーのモニタリングなどの機能を備えています。
2024年11月末、Bubbleの全ての有料プランでFluskの機能が利用できるようになりました。有料プランに含まれる機能は下記の通りです。
- プライバシーとデータ保護…アプリ内のデータ保護を強化するための詳細なアクセス制御を可能にします。機密データを守るため、データベース漏洩のリスクを軽減する仕組みが組み込まれています。
- アプリのプライバシー管理…テストバージョンやSwaggerドキュメントなどのプライバシーを守るための機能を提供します。不正な埋め込みを防ぐIframe制限も備わっており、アプリ全体のセキュリティが向上します。
- APIセキュリティ…APIのトークンとパラメータを検証することで、不正なアクセスや脆弱性を防ぎます。これにより、アプリのAPI通信が安全に保たれます。
1.2. 料金プラン
Bubbleの既存の有料プランにFluskが含まれる形で利用できるようになりました。利用できる機能はプランによって異なりますが、最も料金が安いStarterプランでは下記を利用することができます。
- Security test(5回/月まで、Basic security checks項目のみ)
- AIによる脆弱性チェック
プランごとの利用可能機能詳細は料金表をご確認ください。
ちなみに、Agencyプランのアカウントで作成したアプリではFluskを追加料金なしで利用することができます。これで開発工程におけるセキュリティに関するステップを大幅に削減することができますね。
なお、Monitoring機能は現在Teamプラン以上でのみ利用できるようになっています。
2. Fluskの利用開始方法
それでは、Bubbleの有料プランに統合されたFluskの利用開始手順を紹介します。
2.1. ログイン
Fluskのアカウントがまだない場合、Bubbleアカウントにログインした状態で、下記のURLからFluskのログイン画面を開き「Continue with Bubble」をクリックします(GoogleサインアップでBubbleを利用している場合は、再度Google認証を要求されます)。
Fluskのアカウントが既にある場合、Bubbleで認証後に既存のFluskアカウントをBubbleアカウントに紐づけることができます。必要に応じて紐づけてください。
2.2. 初期設定
次の画面から初期設定画面が表示されます。まずは「Select an app」で、Fluskを利用したアプリを選択して「Continue」をクリックします。
次に、「Choose access level」でFluskのBubbleアプリへのアクセスレベルを選択します。Monitoring機能が必要な場合はCollaboratorを、不要な場合はNo accessを選択してください。今回は「Select collaborator」をクリックします。
次のステップはAccess levelでCollaboratorを選択した場合に表示されます。FluskをCollaboratorとしてBubbleアプリに追加します。FluskのコラボレーターEメールアドレスが表示されるので、このアドレスをBubbleアプリのSettingsタブ>Collaboration>Invite a user欄にメールアドレスを入力してInviteをクリックします。なお、追加されたFluskは共同作業者の数には含まれないということです。
Fluskに戻り、Security Scanが完了するまで待ちます。
Security Scanが完了したらメールが届くということなので、メールが届くまで待ちます。完了までは数時間かかることもあるようです。完了時には「Security test finished on APP-NAME (APP-NAMEのセキュリティテストが終了しました)」という件名のメールが届きます。
Fluskの初期設定画面でも、「SCAN COMPLETE」と表示されていれば完了です。「Review security scan」をクリックするとDashboardに遷移します。
2.3. Dashboard
Dashboardに遷移します。最初はオンボーディングの内容が表示されています。この画面でFluskの機能にアクセスできます。
ちなみに、オンボーディング終了後のDashboardは下記のようになっています。
3. Fluskの機能
ここでは、プランごとに利用できる機能を紹介していきます。Fluskの基本的な使用方法等は過去の紹介記事をご参考ください。
また、Fluskに関する細かいFAQ等は下記からご確認ください。
3.1. プラン別利用可能機能
下記が詳細なプラン別利用可能機能の一覧です。
3.2. Starterプラン
まずはStarterプランで利用できる機能を紹介していきます。
3.2.1. セキュリティテスト
3.2.1.1. 概要
セキュリティテストは、BubbleのEditorやDataな20もの項目でテストを実行してくれる機能で、さらに結果を重要度に応じてランク付けして「Issues Explorer」で報告してくれます。
テストの項目はプライバシーとデータセキュリティ、ユーザーとアカウントのセキュリティ、APIとトークンのセキュリティからなっています。
- プライバシーとデータ…プライバシールールの定義や公開機密フィールド、ページアクセス保護、APIコネクタのセンシティブパラメータ等
- ユーザーとアカウント…パスワードポリシー、テストバージョンの保護、コラボレータ等
- APIとトークン…Bubble内部APIトークン、GoogleマップAPIトークン
上記の項目が「Basic security checks」と「Advanced security checks」に分かれていて、Starterプランでは上部の「Basic security checks」の項目をテストすることができます。
3.2.1.2. 実施手順
3.2.1.2.1. 評価基準の設定
テスト実施前に、ページとデータに対して評価基準となる機密レベルを設定しておきます。機密レベルは「Sensitive」と「Safe」の2つがあり、個人情報等の機密情報を含む場合は「Sensitive」、それ以外は「Safe」を設定します。
設定はナビゲーション>Accuracy>Page rating / Database ratingから行ってください。
Databaseは、Fieldごとに機密レベルを設定することができます。
※手順参考:過去記事
3.2.1.2.2. 実施
Issues Exproler左上の「Run a new test」からSecurity testを実行することができます。アプリを更新したタイミング等で実施してください。
ただし、Starterプランでは1ヶ月に5回までしか実施できないのでご注意くださいね。
3.2.1.3. テスト結果
Issues Explorerでは、検出された問題や脆弱性が表示され、項目を開くと対応ボタンや問題点の概要を確認できます。
Issues Explorerの詳しい見方は過去の記事をご参考ください。
3.3. Growthプラン以上の機能
次に、Growthプラン以上で利用できる機能を紹介していきます。
3.3.1. Growthプラン
Growthプランでは、セキュリティテストの実施回数上限がなくなり、「Advanced security checks」が可能になります。「Advanced security checks」の項目は下記の通りです。
「Advanced security checks」の項目では、「Basic security checks」の項目と比べてより高度で詳細な観点からチェックを行うことができます。
個人・財務情報などの機密データを扱うアプリや高トラフィックが予想されAPI不正利用などの外部攻撃が増加するリスクがあるアプリ、GDPR等のデータ保護規則に準拠する必要があるアプリ等の場合は、「Advanced security checks」項目に対応しているGrowthプランをご検討ください。
3.3.2. Teamプラン
Teamプランでは、自動・スケジュールテストの実施や、デプロイに関する機能の利用が可能になります。
- Automated security tests…自動テストの実施
- Scheduled security tests…定期テストのスケジューリング
- Deployment webhooks…デプロイが発生時の通知の送信
- Deploy on schedule…デプロイのスケジュール設定・実行
- Deploy when nobody is live…アクティブユーザーがいないときにデプロイを実行
- Alerting…セキュリティ上の問題やデプロイに関する通知の送信
特に面白いのは「Deploy when Nobody is Live」で、この機能では指定の24時間の間でアクティブユーザーがいない深夜帯やアクセスが低い時間帯を自動検出して安全にデプロイできるようになります。
Security testを事前に設定したスケジュール通りに実施する場合は、ナビゲーション>Tools>Scheduled testから実施するスケジュールを設定します。
また、Teamプランをご利用中のアプリではMonitoring機能(Beta版)を利用することができるそうなので、気になる方はBubble Teamに連絡してみてください。
3.3.3. Enterpriseプラン
Enterpriseプランでは、セキュリティ証明書とPDF形式のレポートを作成することができます。
- Security certificate & PDF…セキュリティ証明書の作成とPDF出力
セキュリティ証明書はアプリのセキュリティ状態を証明するFlusk によって承認された公式文書です。セキュリティレポートは最新のテストの結果で、全体的なセキュリティ スコア、対象バージョン、対処済みのセキュリティ ポイント等が確認できます。
ナビゲーション>Certificates & Exportsから出力できます。
なお、セキュリティレポートの生成数は1ヶ月に3つまでという上限が設定されています。
詳しくは
4. 無料機能:Privacy rules checker
いずれの有料プランを利用していなくても利用できるFluskの無料機能「Privacy rules checker」をご紹介します。
4.1. 概要
Privacy rules checkerは、データ漏洩から保護し最適なプライバシールールが設定できているかを確認する機能です。FluskのDashboardから無料で利用できます。
各Data typeに設定されたEveryone else (default permissions)
のPrivacy ruleに基づき誰でもアクセスできるデータにアクセスし、漏洩リスクをチェックします。
ちなみに、Privacy ruleについてはSecurity testのBasic security checks>Privacy rules definitionでもチェックできますね。どちらもPrivacy ruleに関する機能・項目ですが、Privacy rules definitionではPrivacy ruleが設定されているか(存在しているか)をチェックしするもので、Privacy rules checkerはPrivacy ruleが適切に設定されているかをチェックするものという違いがあります。
4.2. 実施手順
Dashboardのナビゲーション>Privacy Rules Checkerをクリックすると新しいタブでPrivacy Rules Checkerが開き、Dashboardで表示していたアプリについてチェックが開始されます。
タブ移動後、「Progress」に表示されている手順でチェックが完了すると、下部に結果が表示されます。
4.3. チェック結果
チェックの結果は「AI Predict」と「Results details」で表示されます。「AI Predict」では、チェックの結果に基づき予測される脆弱性をAIが提案します。警告文はThe "name" field contains sensitive data as it may reveal the product's identity, violating consumer's privacy and breaking laws on consumer protection.
と表示されています。
この警告文によると、AIがData type Product
のField Name
を機密性の高いFieldと判断したが適切なPrivacy ruleが設定されていなかったため、漏洩リスクの可能性があると指摘されています。
また、下部の「Result details」では、Fluskも閲覧できるPrivacy ruleが設定されているFieldの中身が表示されています。例えば、Data type Product
では、Data type特有のFieldのうちName
Fieldのみを閲覧可能に設定しています。このFieldからデータ漏洩の可能性があるとして、右上に「12 + LEAKS」と表示されていますね。
上記のように、Privacy rules checkerでは、データ漏洩リスクを視覚的に確認できるという特徴があります。
5. まとめ
Bubbleの有料プランに統合されたFluskでは、アプリのセキュリティを総合的にチェックすることができます。料金が最も安いStarterプランでも基本的な項目をチェックすることができ、GrowthやTeamプラン以上ではより高度なSecurity testやデプロイ管理機能が利用できます。
アプリの規模が大きくなったり重要な情報を扱うようになると、セキュリティを開発者の自分だけで管理するのは難しくなりますよね。そんなときこそ、Fluskが頼れるパートナーになってくれるはずです。
Fluskがどんなものか試してみたい方は、まず無料の「Privacy rule checker」からチェックしてみてくださいね!