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

ICAP 內容驗證整合

ICAP 內容驗證整合:以 ICAP 協定把 Web Chat 上傳的檔案轉送外部服務做病毒掃描、內容過濾與 DLP,整合架構、協定實作、掃描記錄與部署設定。

本文件說明 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 修正了分塊大小的十六進位格式表示,確保與 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 實作了自動清理機制,定期刪除過期的掃描記錄:

系統會透過背景排程任務,自動清理超過保留期限的掃描記錄。

清理策略:

  • 保留期限: 依組織 ICAP 設定的「記錄保留天數」,預設 30 天;設為 0 表示永久保留

  • 適用範圍: 保留天數以組織為單位,同一組織的所有掃描記錄套用同一個期限


6. 配置與部署

6.1 ICAP 伺服器配置

ICAP 由 MaiAgent 在系統管理端依組織設定,管理後台沒有設定畫面;需要啟用或調整時,請洽 MaiAgent 窗口並提供 ICAP 伺服器資訊。每個組織可設定的項目如下:

設定項目
說明

ICAP 伺服器網址

ICAP 服務的連線 URL,設定時可先測試連線

是否啟用

開啟後才會檢查;另外,Agent 使用的模型也要由 MaiAgent 開啟 ICAP 檢查,兩者都開才會生效

阻擋訊息

內容被攔截時顯示給使用者的訊息

記錄保留天數

掃描記錄的保留期限,預設 30 天,0 表示永久保留

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. 相關文檔

參考連結

最後更新於

這有幫助嗎?