みなさん、こんにちは!
今回は、以前にもご紹介した Bubble のセキュリティ監査ツール「Flusk Vault」についてです。前回はオープンベータ版でのご紹介でした。
Flusk といえば、昨年の 6月に開催された Bubble Developer Summit 2023 にて、Bubble Trailblazers を受賞したことで、認知された方が多いかもしれません。Bubble からも、「彼らは Bubble チームの強力なパートナーであり、世界中のあらゆる規模のチームが Bubble をさらに構築できるようになった」と高い評価を受けていますので、ツールとしての信頼性もより向上したのではないでしょうか。
昨年末時点では、v1.3.6 だった Flusk Vault ですが、この1月に v2.0 にバージョンアップされましたので、本記事では前回のオープンベータ版から進化した Flusk Vault について、ご紹介しておきたいと思います。
- 1. Flusk Vault とは
- 2. 価格について
- 3. v2.0 の特徴
- 4. Flusk Vault のインストール
- 4.2. Flusk アプリの設定
- 5. セキュリティ監査テストの実行
- 6. モニタリング機能
- 7. まとめ
1. Flusk Vault とは
Fluskについて初めて聞いたという方向けに、前回と少し重複しますが、改めて Flusk Vault について簡単に触れておきたいと思います。
Flusk Vault は、Bubble で作成したアプリのセキュリティチェックと監査を自動で行ってくれるサービスで、使用するには Bubble アプリに Flusk をインストールして監査テストを実行します。プライバシールールや数多くのチェックポイントを確認して、アプリのセキュリティを向上させてくれるツールです。
インストールといっても、基本的にはコラボレーターに Flusk の監査用アカウントを招待して、あとは Flusk 側のダッシュボードからアプリの評価レベルなどを設定するだけで導入することができます。テスト実行などにより、WU を消費されるといったこともありません。
加えて、v2.0 では Flusk プラグインも開発されましたので、そちらを Bubble エディターの Plugins からインストールすることで、より詳細なモニタリングを実施することもできるようになりました。
2. 価格について
Flusk は基本的にアプリ毎に課金が必要になります。
執筆時点でのプランは「MPV」「Growth」「Scale」の3種類で、価格は以下のようになっています。無料のプランはありませんが、プラン加入時に1か月のトライアル期間が利用できます。
2.1. 年間契約
2.2. 4半期契約
2.3. 月契約
なお、プランに関しては、リリース開始時から何度か変更されていますので、プラン申込時に改めて確認することをおすすめします。Flusk Vault のサイトに記載されているプランや価格よりも、最新のプランについては、Flusk をインストールしたアプリのアップグレード画面から直接確認する方が確実かもしれません。
3. v2.0 の特徴
v2.0 では、以下の内容を監査してくれるようになりました。オープンベータ版の時と比べると、かなり項目も増えているようですね。また、実際の監査に掛かるジョブの実行も30%高速化したそうです。
- Page access protection issue / ページアクセス保護の問題
- Public Bubble editor issue / パブリックBubbleエディターの問題
- Unapproved collaborator issue / 承認されていないコラボレーターの問題
- Unprotected API Workflow issue / 保護されていないAPIワークフローの問題
- Default username/password combination / デフォルトのユーザー名/パスワードの組み合わせ
- Public Swagger file issue / パブリックSwaggerファイルの問題
- No password policy issue / パスワードポリシーがない問題
- No privacy rules defined issue / プライバシールールが定義されていない問題
- Public sensitive fields issue / パブリックの機密フィールドの問題
- Public sensitive parameter in API call issue / API呼び出しのパブリックな機密パラメータの問題
- Bubble API token issue / Bubble APIトークンの問題
- Public sensitive URL in API call issue / API呼び出しにおけるパブリックな機密URLの問題
- Temporary password vulnerability issue / 一時的なパスワードの脆弱性の問題
- Clear data in login action issue / ログインアクションでのデータクリアの問題
- Test version protection issue /テストバージョン保護の問題
- Data Leak issue / データ漏洩の問題
- Unsafe Google Maps API Token Issue / 安全でないGoogle Maps APIトークンの問題
- Public file uploader issue / パブリックファイルアップローダーの問題
- Public picture uploader issue / パブリック画像アップローダーの問題
- iFrame restriction issue / iFrame制限の問題
また v2.0 の大きな特徴として、モニタリング機能が強化されました。
Bubbleアプリに前述した Flusk プラグインをインストールすることで、ユーザーからもランタイムエラーを取得することができるようになり、ユーザー画面のスクリーンショットを取得することもできるそうです。 この機能によって、何が起こったのかを正確に把握することができ、問題を修正する為のコンテキストを取得することもできるため、バグ修正やリリースまでにかかるリソースの削減が実現できます。
また、Bubbleエディターからログを取得するための検索はやや複雑ですが、それらをビジュアル的に表示することで直感的に理解することができるようになったとのこと。
その他にも、ユーザーのアクティビティをモニタリングすることで、ユーザーのアクセスがないときにデプロイをスケジュールすることも可能だそうです。デプロイ時の利用ユーザーの邪魔を心配せずに、安全に自動でデプロイしてくれるのは嬉しいですね。
ちなみに、アプリは最長3年間保存、およびバックアップすることができるとのこと。
プランによって、利用できる機能には制限がありますが、開発者側の理想を盛り込んだツールになってきていますね!
4. Flusk Vault のインストール
では、ここからは最新版 Flusk Vault のインストールについて、ご紹介しておきたいと思います。
4.1. 事前準備
- セキュリティ監査を行いたい Bubble アプリを準備してください
- Flusk Vault のアカウントを作成しておいてください
4.2. Flusk アプリの設定
ダッシュボードページの「Select an application...」をクリックします。
「ADD A NEW APP」をクリックします。
「App Information」で App Name と App ID を入力して「→ Continue」をクリックします。
「Pick your access level」で「Collaborator」を選択します。
「Verify ownership」で Flusk のアカウントをコピーして、Bubble エディターで Invite します。(Flusk アカウントは agency なので、自身の Bubble アプリが Free プランでも Invite することができます。)
コラボレーターとして登録すれば、Flusk アカウントに特別な権限を付与する必要ありません。
次に「Start your trial」でプランを選択し、トライアルを開始します。
以上で、必須ステップの設定は完了です。
Flusk プラグインを Bubble アプリにインストールして、モニタリングを強化したい場合は、「ADDITIONAL SETTINGS」の「Enable data enrichment」でプラグインのインストールに進みます。
「Configure versions」では、テストを実行するブランチの設定を行うことができます。今回は Bubble の Free プランを使って動作確認していますので、Development を「Security + Monitoring」に、Live を「Ignore version」として設定しました。
「ADDITIONAL SETTINGS」の設定が完了したら、「Explore Flusk」をクリックしてダッシュボードページを表示します。
4.3. 評価レベルの設定
ここまでの設定で、セキュリティテストを Security > Issues > Run a new test から実行することもできますが、テストを実行する前に、まずは Tools & Settings から Bubble のページとデータベースの評価レベルを設定しておきましょう。この評価レベルを登録しておくことで、テストの精度を向上させることができます。
ページとデータベースと、どちらから評価しても問題ありませんが、今回の例ではページの評価から実施しています。
評価は「SENSITIVE」もしくは「SAFE」のどちらかを設定します。機密レベルが高い場合は「SENSITIVE」です。イメージとしては、誰でも見れる情報は「SAFE」、そうでない場合は「SENSITIVE」として設定していきます。
評価は複数ページを選択して一括で設定することができます。ここでは「SENSITIVE」に設定したいページを選択して「MAKE AS SENSITIVE」をクリックしました。
残りのページを選択して「SAFE」に設定しておきます。
ページ評価が完了しました。同様にデータベースに対しても評価を実施していきます。データベースはフィールド単位で評価していく必要があります。
なお上記のスクリーンショットでは、日本語文字の場合は文字化けしてしまいますが、こちらはサポートにバグレポートを提出し、現在は改善されています。
5. セキュリティ監査テストの実行
評価の設定が完了したら、Issues ページから「Run a new test」をクリックして、テストを実行します。
テストの実行中は、左メニューに進捗状況が表示されます。
テストが完了すれば、取得した Issues の詳細を確認することができますので、ドキュメントを参考に Issues を一つずつ解決していきます。
また、Flusk Vault にはプライバシールールについてテストを実施してくれる「Privacy Rules Checker」という機能もついています。Bubble において、プライバシールールはセキュリティ設定の核心的な部分ですので、こちらも是非実行してみてください。
6. モニタリング機能
モニタリング機能は、v2.0 から追加された機能です。利用には Bubble アプリに Flusk プラグインのインストールが必要ですが、エラーやバグ、ユーザーのアクティビティなどの情報が確認できるようになっています。
7. まとめ
今回は、さらに進化したセキュリティ監査ツール Flusk Vault についてご紹介しました!
バージョンアップにより、新たな監査機能と高速化されたプロセスが追加され、開発者はアプリケーションをより効率的かつ効果的に保護できるようになったのではないでしょうか。今後も Flusk の進化を期待したいですね。
それでは、ここまでお読みいただき、ありがとうございました!次回もどうぞお楽しみに~!