For the complete documentation index, see llms.txt. This page is also available as Markdown.

ICAP コンテンツ検証連携

本ドキュメントでは、MaiAgent プラットフォームが ICAP (Internet Content Adaptation Protocol) プロトコルを連携させ、ユーザーがアップロードするファイルや対話コンテンツに対するセキュリティスキャンと検証を実現し、マルウェアや不適切なコンテンツを防止する仕組みについて説明します。

1. ICAP とは?

ICAP (Internet Content Adaptation Protocol) は、ウイルススキャン、コンテンツフィルタリング、情報漏洩防止などの処理のために、コンテンツを外部サービスへ転送するための軽量なプロトコルです。

1.1 ICAP の中心的な価値

検討の観点
コンテンツ検証なしの場合
ICAP コンテンツ検証ありの場合

セキュリティ

ユーザーがマルウェアや不適切なコンテンツをアップロードする可能性がある

悪意のあるファイルやコンテンツを自動的にスキャンしてブロックする

コンプライアンス

企業のセキュリティポリシー要件への準拠が困難

企業レベルのウイルス対策および DLP ソリューションを連携

柔軟性

コンテンツ検出ロジックを自社で開発する必要がある

標準プロトコルを用いて専門的なサードパーティサービスを連携

保守性

ウイルス定義や検出ルールを継続的に更新する必要がある

専門ベンダーが検出エンジンの保守を担当

1.2 一般的な活用シーン

  • ファイルアップロードのセキュリティ: ナレッジベースへアップロードする文書を、事前にウイルススキャンする

  • 対話コンテンツのフィルタリング: 対話の中に不適切な発言や機密情報が含まれていないか検出する

  • 情報漏洩防止 (DLP): 機密情報を含むファイルのアップロードを防ぐ

  • コンプライアンスチェック: コンテンツが GDPR、HIPAA などの法令要件に準拠していることを確認する


2. MaiAgent ICAP 連携アーキテクチャ

2.1 中心コンポーネントの説明

  • ICAP クライアント: MaiAgent に組み込まれた ICAP プロトコルの実装で、ICAP サーバーとの通信を担当します

  • ICAP サーバー: Symantec、McAfee、Trend Micro のウイルス対策ゲートウェイなど、サードパーティのコンテンツスキャンサービスです

  • 処理キュー: ファイルのアップロードとスキャンタスクを非同期で処理し、ユーザー操作のブロッキングを回避します

  • スキャン記録: ファイルハッシュ、スキャン時刻、結果などの情報を含む、すべてのスキャン結果を保存します

2.2 ICAP リクエストフロー


3. ICAP プロトコル実装の詳細

3.1 ICAP リクエスト形式

MaiAgent は REQMOD (Request Modification) モードを使用して、ファイルを ICAP サーバーへ送信します:

主要フィールドの説明:

  • REQMOD: リクエスト修正モード。コンテンツを保存する前にチェックを行うために使用します

  • Encapsulated: HTTP リクエストのカプセル化形式を記述します

  • Allow: 204: コンテンツを修正する必要がない場合、ICAP サーバーが 204 を直接返してよいことを伝えます

  • Chunked Encoding: チャンク転送エンコーディングを使用してファイル内容を送信します

3.2 チャンク転送エンコーディング (Chunked Transfer Encoding)

MaiAgent は HTTP チャンク転送エンコーディングを正しく実装しています:

なぜ正しいチャンクエンコーディングが必要なのか?

  • ICAP プロトコルでは、リクエストおよびレスポンスのボディを HTTP チャンク転送エンコーディングで送信することが求められます

  • エンコーディング形式が誤っていると、ICAP サーバーがファイル内容を正しく解析できなくなります

  • MaiAgent はチャンクサイズの16進数表記を修正し、ICAP 標準との互換性を確保しています

3.3 ICAP レスポンスの処理

ICAP サーバーは以下のレスポンスを返す可能性があります:

ステータスコード
意味
MaiAgent の処理方法

200 OK

コンテンツが検査または修正された

修正後のコンテンツ(ある場合)を受け入れ、ファイルを保存

204 No Content

コンテンツの修正は不要

元のファイルをそのまま保存

403 Forbidden

コンテンツが禁止された(ウイルスを含むなど)

保存を拒否し、クライアントへ ICAP_BLOCKED イベントを送信

500 Internal Error

ICAP サーバーエラー

エラーを記録し、クライアントへ ICAP_ERROR イベントを送信


4. WebChat 連携

ICAP スキャンが完了すると、システムはスキャン結果をリアルタイムでユーザーに通知します:

  • ファイルがブロックされた場合: ファイルが拒否された理由(ウイルスが検出されたなど)を説明する、わかりやすいエラーメッセージを表示します

  • システムエラーの場合: しばらくしてから再試行するようユーザーに促し、エラーログを記録します

ユーザー体験の最適化

  • リアルタイムなフィードバック: ファイルのアップロード後、すぐに「スキャン中」のステータスを表示します

  • 進捗表示: 大容量ファイルのアップロード時には進捗バーを表示します

  • わかりやすいエラーメッセージ: ファイルが拒否された理由を、平易な言葉で説明します

  • 再試行の仕組み: 一時的なエラーの場合は、再アップロードの選択肢を提供します


5. スキャン記録の管理

5.1 記録の保存

MaiAgent はすべての ICAP スキャンの詳細な記録を保存します:

各スキャン記録には以下の情報が含まれます:

フィールド
説明

ファイル識別子

スキャン対象ファイルの一意な識別子

ファイル名

元のファイル名

ファイルハッシュ値

SHA-256 ハッシュ。ファイルの完全性を確認するために使用

スキャン結果

PASS(通過)、BLOCKED(ブロック)、ERROR(エラー)

スキャン理由

ファイルがブロックされた際の具体的な理由を記録

ICAP サーバー

スキャンを実行した ICAP サーバーのアドレス

スキャン時刻

スキャンが実行された時刻のタイムスタンプ

ユーザー/組織

スキャンを実行したユーザーと所属組織

5.2 期限切れ記録のクリーンアップ

MaiAgent は自動クリーンアップの仕組みを実装しており、期限切れのスキャン記録を定期的に削除します:

システムはバックグラウンドのスケジュールタスクを通じて、保持期限を超えたスキャン記録を自動的にクリーンアップします。

クリーンアップ方針:

  • 保持期限: デフォルトでは90日間のスキャン記録を保持します

  • 実行頻度: 週に1回クリーンアップタスクを実行します

  • 監査のための保持: ウイルスの検出など重要なセキュリティイベントは、より長い保持期限を設定できます


6. 設定とデプロイ

6.1 ICAP サーバーの設定

管理者は MaiAgent の管理画面で ICAP サーバー情報を設定する必要があります:

管理者は管理画面で以下の ICAP パラメータを設定できます:

設定項目
説明

ICAP サーバーアドレス

ICAP サービスへの接続 URL

タイムアウト時間

スキャンのタイムアウト秒数

再試行回数と間隔

スキャン失敗時の再試行方針

スキャン範囲

ファイルアップロードおよび/または対話コンテンツのスキャンを選択

ファイルサイズ制限

このサイズを超えるファイルはスキャンしない

拡張子ホワイトリスト

スキャン不要のファイルタイプを指定

6.2 対応している ICAP サービス

MaiAgent は以下の主要な ICAP サービスに対応しています:

  • Symantec Protection Engine: 企業レベルのウイルス対策とコンテンツフィルタリング

  • McAfee Web Gateway: ゲートウェイレベルのコンテンツスキャン

  • Trend Micro IWSVA: 統合型 Web セキュリティとコンテンツスキャン

  • Kaspersky Scan Engine: Kaspersky の ICAP スキャンエンジン

  • ClamAV (c-icap 経由): オープンソースのウイルス対策ソリューション

6.3 パフォーマンスに関する考慮事項

システムのパフォーマンスを確保するため、以下を推奨します:

  • 非同期スキャン: 大容量ファイルはバックグラウンドタスクでスキャンし、アップロードレスポンスをブロックしない

  • キャッシュの仕組み: 同一ファイル(同一ハッシュ値)のスキャン結果をキャッシュする

  • ICAP コネクションプール: ICAP サーバーとの持続的な接続を維持し、接続のオーバーヘッドを削減する

  • 負荷分散: 複数の ICAP サーバーインスタンスを使用してスキャン負荷を分散する


7. MaiAgent ICAP 連携の技術的な強み

7.1 セキュリティ面の強み

  • 多層防御: ファイルを保存する前にスキャンを行い、悪意のあるコンテンツを防ぎます

  • リアルタイムなブロック: 脅威を検出すると即座にブロックし、システム内に保存しません

  • 専門的なエンジン: 業界をリードするウイルス対策エンジンと DLP エンジンを連携します

  • 完全な記録: すべてのスキャン活動を詳細に記録し、セキュリティ監査を容易にします

7.2 コンプライアンス面の強み

  • 標準プロトコル: 業界標準の ICAP プロトコルを使用し、既存の企業セキュリティ設備との連携が容易です

  • 監査証跡: 完全なスキャン記録がコンプライアンス要件を満たします

  • 柔軟な設定: 業界ごとのコンプライアンス要件に応じてスキャン方針を調整できます

  • データ保護: DLP エンジンに対応し、機密データの漏洩を防止します

7.3 運用面の強み

  • 疎結合アーキテクチャ: ICAP スキャンロジックとアプリケーションが疎結合のため、保守が容易です

  • 水平スケーリング: ICAP サーバーを容易に増設し、より多くのスキャンリクエストを処理できます

  • 統合管理: 企業は既存の ICAP インフラを活用し、すべてのアプリケーションのコンテンツスキャンを統合管理できます

  • 詳細なログ: 完全なスキャンログにより、問題の切り分けとパフォーマンスの最適化が容易になります


8. 関連ドキュメント

参考リンク

Last updated

Was this helpful?