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 被抢占会让正在运行的服务雪上加霜,按目录分时段推进更稳。
把扫描输出重定向到文件再慢慢看:命中数量多时终端输出会被截断,留档的文本才是后续与哈希、日志交叉核对的依据。