首页/安全/应急响应速查/ClamAV 扫描与隔离

ClamAV 扫描与隔离

ClamAV 用前先更新病毒库,扫描用 -i 只显示命中;确认后再隔离,避免直接批量删除造成误伤。

应急响应速查安全更新于 2026-10-13

ClamAV 扫描怎么用

ClamAV 是开源杀毒引擎,用于 Linux 上的文件扫描。应急使用有两个关键点:扫描前先用 freshclam 更新病毒库,以及确认命中后先隔离而不是直接删除——ClamAV 存在误报,直接删除可能造成不可恢复的损失。

基本信息

更新病毒库freshclam
扫描命令clamscan -r -i /path(-i 只显示命中)
隔离选项--move=/quarantine,优于直接 --remove
优先范围web 目录、临时目录、用户家目录
资源影响全盘扫描明显占用 IO 与 CPU
局限对新型样本与内存态后门效果有限

典型使用场景

  • 应急初筛:扫描可疑目录,先拿到命中清单
  • 清理完成后复扫,验证处置效果
  • 对上传目录、Web 根目录做定点扫描
  • 排查挖矿类样本落地在磁盘上的文件
  • 与文件哈希、威胁情报交叉复核命中结果
  • 多台主机批量扫描并汇总结果
  • 观察期内定期复扫,确认无复发
  • 配合日志排查,确认命中文件是否被实际执行过

更新库并扫描

更新库并扫描
sudo freshclam                                              # 先更新病毒库
clamscan -r -i /home /tmp /var/www 2>/dev/null | tail -n 40    # 只显示命中项
clamscan -r -i /var/www --move=/quarantine 2>/dev/null | tail -n 20   # 命中后隔离
clamscan -r -i --exclude-dir='^/proc' / 2>/dev/null | tail -n 20      # 全盘,排除伪文件系统
sigtool --info=/var/lib/clamav/daily.cvd 2>/dev/null | head -n 5      # 确认库版本与时间

常用选项读法

选项含义使用建议
-r递归扫描子目录常规用法,几乎总要用
-i只输出命中项应急首选,输出干净
--move=命中后移动到隔离目录替代直接删除
--exclude-dir排除指定目录全盘时排除 /proc、/sys
--infected只列命中文件适合脚本进一步处理
ClamAV 会误报:命中结果先与文件来源、业务用途交叉核实,再决定隔离还是恢复;隔离目录要保留足够长的时间以便回滚。
业务高峰期不要跑全盘扫描:IO 与 CPU 被抢占会让正在运行的服务雪上加霜,按目录分时段推进更稳。
把扫描输出重定向到文件再慢慢看:命中数量多时终端输出会被截断,留档的文本才是后续与哈希、日志交叉核对的依据。

易错点

  • 不更新病毒库直接扫:新样本基本扫不出来,白跑一遍浪费时间
  • 用 --remove 直接删:误报会造成不可恢复的数据丢失,应先隔离
  • 业务高峰做全盘扫描:拖垮服务,而且高负载下结果噪音更大
  • 只依赖 ClamAV:内存态后门与新型样本需要内存取证与 EDR 配合
  • 命中后不核实就直接上报:误报会让报告结论失真,先与文件来源和哈希比对

数据来源与参考

  • ClamAV 官方文档:clamscan 与 freshclam
  • ClamAV:--move 隔离选项说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌