# Chatwoot Self-Hosted向けAikido Zen

[Chatwoot](https://www.chatwoot.com/)は、セルフホスト型のカスタマーサポートプラットフォームです。ライブチャット、メール、ソーシャルメッセージングなどのチャネルをまたいで、顧客との会話を一元管理します。

そのため、顧客との会話、連絡先情報、内部メモ、添付ファイルなど、非常に機密性の高いデータを保持していることがよくあります。

攻撃者がChatwootスタックの脆弱性を悪用すると、そのデータを持ち出したり、ネットワーク内部に足がかりを得たりする可能性があります。Aikido Zenは、アプリケーションコード内で一般的なWeb攻撃を実行時にブロックすることで、このリスクの軽減に役立ちます。

## Aikido Zenとは何か、そしてなぜ重要なのか

Aikido Zenはアプリ内ファイアウォールです。ランタイムに組み込まれ、ファイルアクセス、外部へのHTTP呼び出し、データベースクエリなどの主要な関数を計装します。ユーザー入力が危険な形でこれらの機密性の高いシンクに到達すると、Zenは例外をスローし、操作が実行される前に停止します。

Chatwootの管理者にとって、これが重要な理由は次のとおりです。

* Chatwootは、受信箱の設定、会話、連絡先、添付ファイルのために、データベース（PostgreSQL）とファイル/オブジェクトストレージに依存しています。
* カスタムコード、インテグレーション、または周辺サービスにインジェクションやパストラバーサルのバグが1つあるだけで、大量のデータが一度に露出する可能性があります。
* Chatwootはインターネットに公開されていることが多く、ボットや既知の脅威アクターの標的になりやすい状況にあります。

Zenは、ユーザーによるプラットフォームへのアクセス方法を変えることなく、Chatwootが稼働するサーバーに追加の安全網を提供します。

## ZenがChatwootを保護する仕組み


**不正なトラフィックの緩和**

Zen には、ブルートフォース型の試行を遅延またはブロックし、スキャンボットによるノイズがアプリケーションロジックに到達する前に除去するためのトラフィック制御機能が含まれています。

**安全でないデータベース操作のブロック**

Zen は実行時にデータベースクエリを検査し、SQL インジェクションや有害なクエリ操作に見えるパターンを阻止できます。これにより、データモデルとやり取りするカスタムコードやサードパーティモジュールに起因する問題を封じ込めることができます。

**不正なファイルシステムアクセスの防止**

多くのアプリケーションは、設定ファイル、添付ファイル、一時ファイルをディスクに保存しています。Zen は機密性の高いファイル操作を監視し、パストラバーサルや、許可されたディレクトリ外での予期しないファイルの読み書きをブロックします。

**安全でないアウトバウンドリクエストと SSRF からの保護**

多くのアプリケーションは、Webhook や API を介して外部サービスと連携しています。Zen はアウトバウンドの HTTP 呼び出しをチェックし、信頼できない入力から生成された安全でないリクエストをブロックできます。これにより SSRF の試みを防ぎ、内部ネットワーク上のターゲットへのアクセスを制限します。

**アウトバウンドドメインの監視と制御**

Zen は、サーバーが接続するすべてのドメインを表示します。ドメインをブロックまたは許可することで、データの送信先を制御できます。これは、カスタムモジュールからの予期しない呼び出しの検出、データ流出の防止、そしてチームが承認した連携に対して厳格な境界を維持するのに役立ちます。

**ローカルのみでの検査**

Zen は、リクエストデータを Aikido に送信することなく、サーバー上でローカルにセキュリティ判断を行います。これは、重要なビジネスデータとプライバシーが優先されるデプロイ環境に適しています。

## 次のステップ

ベータ版を近日提供予定です。詳細については、Aikidoサポートにお問い合わせください。
