セルフホスト版ChatwootのためのAikido Zen
Chatwootは、セルフホスト型のカスタマーサポートプラットフォームです。ライブチャット、メール、ソーシャルメッセージングといったチャネルをまたいで顧客とのやり取りを一元管理します。
そのため、顧客との会話、連絡先情報、内部メモ、添付ファイルといった非常に機微なデータを保持していることが多くなります。
攻撃者がChatwootスタックの脆弱性を悪用すると、こうしたデータを持ち出したり、ネットワーク内部に足がかりを得たりする可能性があります。Aikido Zenは、アプリケーションコード内部で実行時によくあるWeb攻撃をブロックすることで、このリスクの低減に役立ちます。
Aikido Zenとは、なぜ重要なのか
Section titled “Aikido Zenとは、なぜ重要なのか”Aikido Zenはアプリ内ファイアウォールです。ランタイムに組み込まれ、ファイルアクセス、送信HTTP呼び出し、データベースクエリといった主要な機能にインストルメンテーションを行います。ユーザー入力がこうした機微なシンクに危険な形で到達すると、Zenは例外をスローしてその操作の実行前に停止させます。
Chatwoot管理者にとって、これが重要な理由は次のとおりです。
- Chatwootは、受信ボックス設定、会話、連絡先、添付ファイルのためにデータベース(PostgreSQL)とファイル/オブジェクトストレージに依存しています。
- カスタムコード、連携機能、周辺サービスにおけるインジェクションやパストラバーサルのバグ1つで、大量のデータが一度に流出する可能性があります。
- Chatwootはインターネットに公開されていることが多く、ボットや既知の脅威アクターの標的になりやすい対象です。
Zenは、ユーザーがプラットフォームにアクセスする方法を変えることなく、Chatwootが稼働するサーバー上に追加の安全網を設けます。
ZenによるChatwootの保護方法
Section titled “ZenによるChatwootの保護方法”悪用トラフィックの緩和
Zenにはトラフィック制御機能が含まれており、ブルートフォース攻撃のような試みを減速・ブロックし、スキャンボットによるノイズがアプリケーションロジックに到達する前に取り除くのに役立ちます。
安全でないデータベース操作のブロック
Zenは実行時にデータベースクエリを検査し、SQLインジェクションや有害なクエリ操作に見えるパターンを停止できます。これにより、カスタムコードやデータモデルと連携するサードパーティモジュールに起因する問題を封じ込めるのに役立ちます。
不正なファイルシステムアクセスの防止
多くのアプリケーションは、設定、添付ファイル、一時ファイルをディスクに保存します。Zenは機微なファイル操作を監視し、パストラバーサルや、許可されたディレクトリ外への予期しないファイルの読み書きをブロックします。
安全でない送信リクエストおよびSSRFからの保護
多くのアプリケーションは、webhookやAPIを通じて外部サービスと連携します。Zenは送信HTTP呼び出しを検査し、信頼できない入力から作られた安全でないリクエストをブロックできます。これにより、SSRFの試みを防ぎ、内部ネットワーク上のターゲットへのアクセスを制限します。
送信先ドメインの監視と制御
Zenは、サーバーが接続するすべてのドメインを表示します。ドメインをブロックまたは許可することで、データの送信先を制御できます。これは、カスタムモジュールからの予期しない呼び出しを検出したり、データの持ち出しを防いだり、チームが承認した連携先だけに限定した厳格な境界を維持したりするのに役立ちます。
ローカルのみでの検査
Zenは、リクエストデータをAikidoに送信することなく、サーバー上でローカルにセキュリティ上の判断を行います。これは、機微なビジネスデータやプライバシーを優先するデプロイメントに適しています。
次のステップ
Section titled “次のステップ”ベータ版は近日提供予定です。詳細についてはAikidoサポートまでお問い合わせください。