You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C-ICAP代理转发小写EICAR文件致ClamAV扫描失效问题排查求助

问题排查与解决方案:C-ICAP/SquidClamav导致EICAR文件大小写转换未被ClamAV检测

一、验证代理是否修改文件内容

1. 抓包对比流量内容

进入C-ICAP或SquidClamav的Pod,抓取ICAP端口的流量:

tcpdump -i any port 1344 -w icap_traffic.pcap

将抓包文件导出到本地,用Wireshark解析,对比应用到代理的请求内容,以及代理转发到ClamAV的内容,确认是否存在大小写转换。

2. 直接检查ClamAV临时文件

你已配置ClamAV保留临时文件,进入ClamAV Pod,找到临时文件存储目录(参考ClamAV配置中的TempDirectory,默认多为/tmp/clamav-*),查看文件内容:

cat /path/to/clamav/temp/file

同时手动扫描该文件,验证大小写是否影响检测:

clamscan /path/to/clamav/temp/file

3. 绕过代理直连ClamAV测试

在应用Pod内,直接将大写EICAR内容发送到ClamAV服务:

echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' | nc clamav-service 3310

如果ClamAV返回病毒告警,说明问题确实出在代理环节。

二、解决方法

1. 禁用代理的大小写转换配置

  • 检查SquidClamav配置文件(通常是/etc/squidclamav.conf),查找是否存在Lowercase或类似强制转换大小写的参数,如有则注释或设为no。
  • 检查C-ICAP配置(/etc/c-icap.conf),确认是否加载了mod_case等内容转换模块,若加载则禁用该模块,或调整其规则避免转换文件内容。

2. 给ClamAV添加小写EICAR检测规则(临时兼容方案)

若无法修改代理配置,可在ClamAV中添加自定义规则:

  1. 在ClamAV自定义规则目录(如/var/lib/clamav/custom_rules/)创建eicar_lowercase.ldb文件,写入:
VirusName: EICAR-Test-File-Lowercase
Target: FILE
Sig: 58354f2150254041505b345c505a583534285e2937434329377d2465696361722d7374616e646172642d616e746976697275732d746573742d66696c652124482b482a;eng
  1. 执行freshclam更新规则,重启ClamAV服务后测试。

3. 排查K8s网络层的内容篡改

检查集群中是否存在服务网格(Istio/Linkerd)、WAF或其他网络插件,查看这些组件的配置是否包含内容大小写转换规则,如有则调整或禁用。

内容的提问来源于stack exchange,提问作者Piotr Zaborowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:16:07