安全扫描之 Linux 杀毒软件 Clamav 安装
文章目录
- 背景
- Clamav 简介
- 安装使用
- 1、安装epel-release
- 2、Clamav安装
- 3、成功安装
- 4、更新病毒库
- 5、执行扫描
- 6、结果分析
- 7、常见问题
背景
最近在做HVV准备工作,应要求需要在 Linux 服务器上安装杀毒软件,以此文记录下Clamav 安装过程。
Clamav 简介
ClamAV 杀毒是Linux平台最受欢迎的杀毒软件,ClamAV属于免费开源产品,支持多种平台,如:Linux/Unix、MAC OS X、Windows、OpenVMS。ClamAV是基于病毒扫描的命令行工具,但同时也有支持图形界面的ClamTK工具。ClamAV主要用于邮件服 务器扫描邮件。它有多种接口从邮件服务器扫描邮件,支持文件格式有如:ZIP、RAR、TAR、GZIP、BZIP2、HTML、DOC、PDF,、 SIS CHM、RTF等等。ClamAV有自动的数据库更新器,还可以从共享库中运行。命令行的界面让ClamAV运行流畅,你不必以后台进程的方式运行,当你 想扫描时只需输入扫描命令指定文件或目录就行。
特点:
- 开源免费,病毒检测引擎覆盖病毒、蠕虫、木马、rootkit 等多种威胁。
- 支持命令行扫描,兼容多种文件格式(ZIP、PDF、网页等),适合脚本自动化操作。
- 病毒库更新频繁,社区活跃,适合服务器和日常用户。
扩展工具:
- ClamTK:基于 ClamAV 的图形界面工具,适合新手使用
安装使用
操作系统:CentOS Linux release 7.9.2009 (Core)
Clamav 支持 YUM 源安装以及源码安装。以下 以 YUM 源安装举例。
1、安装epel-release
命令:
yum install epel-release
实操:
root@ragflow ~]# yum install epel-release
已加载插件:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 5.1 kB 00:00:00 * base: mirrors.aliyun.com* epel: repo.jing.rocks* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
软件包 epel-release-7-14.noarch 已安装并且是最新版本
无须任何处理
2、Clamav安装
命令:
yum install clamav
实操:
[root@ragflow ~]# yum install clamav
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* epel: repo.jing.rocks* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 clamav.x86_64.0.0.103.11-1.el7 将被 安装
--> 正在处理依赖关系 clamav-filesystem = 0.103.11-1.el7,它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 clamav-lib = 0.103.11-1.el7,它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 data(clamav),它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 libclamav.so.9(CLAMAV_PRIVATE)(64bit),它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 libclamav.so.9(CLAMAV_PUBLIC)(64bit),它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 libclamav.so.9()(64bit),它被软件包 clamav-0.103.11-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 clamav-filesystem.noarch.0.0.103.11-1.el7 将被 安装
---> 软件包 clamav-lib.x86_64.0.0.103.11-1.el7 将被 安装
--> 正在处理依赖关系 libltdl.so.7()(64bit),它被软件包 clamav-lib-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 libpcre2-8.so.0()(64bit),它被软件包 clamav-lib-0.103.11-1.el7.x86_64 需要
--> 正在处理依赖关系 libprelude.so.28()(64bit),它被软件包 clamav-lib-0.103.11-1.el7.x86_64 需要
---> 软件包 clamav-update.x86_64.0.0.103.11-1.el7 将被 安装
--> 正在检查事务
---> 软件包 libprelude.x86_64.0.5.2.0-2.el7 将被 安装
---> 软件包 libtool-ltdl.x86_64.0.2.4.2-22.el7_3 将被 安装
---> 软件包 pcre2.x86_64.0.10.23-2.el7 将被 安装
--> 解决依赖关系完成依赖关系解决==========================================================================================================================================================================================================================Package 架构 版本 源 大小
==========================================================================================================================================================================================================================
正在安装:clamav x86_64 0.103.11-1.el7 epel 332 k
为依赖而安装:clamav-filesystem noarch 0.103.11-1.el7 epel 45 kclamav-lib x86_64 0.103.11-1.el7 epel 833 kclamav-update x86_64 0.103.11-1.el7 epel 128 klibprelude x86_64 5.2.0-2.el7 epel 312 klibtool-ltdl x86_64 2.4.2-22.el7_3 base 49 kpcre2 x86_64 10.23-2.el7 base 201 k事务概要
==========================================================================================================================================================================================================================
安装 1 软件包 (+6 依赖软件包)总下载量:1.9 M
安装大小:169 M
Is this ok [y/d/N]: y
Downloading packages:
(1/7): clamav-filesystem-0.103.11-1.el7.noarch.rpm | 45 kB 00:00:01
(2/7): libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm | 49 kB 00:00:00
(3/7): pcre2-10.23-2.el7.x86_64.rpm | 201 kB 00:00:00
(4/7): libprelude-5.2.0-2.el7.x86_64.rpm | 312 kB 00:00:02
(5/7): clamav-update-0.103.11-1.el7.x86_64.rpm | 128 kB 00:00:03
(6/7): clamav-0.103.11-1.el7.x86_64.rpm | 332 kB 00:00:04
(7/7): clamav-lib-0.103.11-1.el7.x86_64.rpm | 833 kB 00:00:20
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 94 kB/s | 1.9 MB 00:00:20
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : libtool-ltdl-2.4.2-22.el7_3.x86_64 1/7 正在安装 : libprelude-5.2.0-2.el7.x86_64 2/7 正在安装 : clamav-filesystem-0.103.11-1.el7.noarch 3/7 正在安装 : pcre2-10.23-2.el7.x86_64 4/7 正在安装 : clamav-lib-0.103.11-1.el7.x86_64 5/7 正在安装 : clamav-update-0.103.11-1.el7.x86_64 6/7 正在安装 : clamav-0.103.11-1.el7.x86_64 7/7 验证中 : clamav-filesystem-0.103.11-1.el7.noarch 1/7 验证中 : clamav-0.103.11-1.el7.x86_64 2/7 验证中 : pcre2-10.23-2.el7.x86_64 3/7 验证中 : clamav-lib-0.103.11-1.el7.x86_64 4/7 验证中 : clamav-update-0.103.11-1.el7.x86_64 5/7 验证中 : libtool-ltdl-2.4.2-22.el7_3.x86_64 6/7 验证中 : libprelude-5.2.0-2.el7.x86_64 7/7 已安装:clamav.x86_64 0:0.103.11-1.el7 作为依赖被安装:clamav-filesystem.noarch 0:0.103.11-1.el7 clamav-lib.x86_64 0:0.103.11-1.el7 clamav-update.x86_64 0:0.103.11-1.el7 libprelude.x86_64 0:5.2.0-2.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3 pcre2.x86_64 0:10.23-2.el7 完毕!
3、成功安装
命令:
clamscan --version
实操:
[root@ragflow ~]# clamscan --version
ClamAV 0.103.11
4、更新病毒库
命令:
# 手动更新(首次安装后必须执行)
freshclam
实操:
[root@ragflow ~]# freshclam
ClamAV update process started at Wed May 14 14:46:27 2025
WARNING: Can't query current.cvd.clamav.net
WARNING: Invalid DNS reply. Falling back to HTTP mode.
Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Time: 1.7s, ETA: 0.0s [========================>] 512B/512B
OK
daily database available for download (remote version: 27636)
Time: 17.3s, ETA: 0.0s [========================>] 61.65MiB/61.65MiB
Testing database: '/var/lib/clamav/tmp.a1ccb8dbce/clamav-8cfdca1b57b71601a232d6947c610329.tmp-daily.cvd' ...Message from syslogd@ragflow at May 14 14:48:08 ...kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [wrk:worker_4:19323]Message from syslogd@ragflow at May 14 14:48:41 ...kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [wrk:worker_4:19323]
Database test passed.
daily.cvd updated (version: 27636, sigs: 2074833, f-level: 90, builder: raynman)
Trying to retrieve CVD header from https://database.clamav.net/main.cvd
Time: 1.0s, ETA: 0.0s [========================>] 512B/512B
OK
main database available for download (remote version: 62)
Time: 54.5s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB
Testing database: '/var/lib/clamav/tmp.a1ccb8dbce/clamav-1d9b6781622639d188b0149c4cee0c9a.tmp-main.cvd' ...
Database test passed.
main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Trying to retrieve CVD header from https://database.clamav.net/bytecode.cvd
Time: 1.5s, ETA: 0.0s [========================>] 512B/512B
OK
bytecode database available for download (remote version: 336)
Time: 2.2s, ETA: 0.0s [========================>] 277.52KiB/277.52KiB
Testing database: '/var/lib/clamav/tmp.a1ccb8dbce/clamav-95309efd5027461ef5a2eaba068e54dd.tmp-bytecode.cvd' ...
Database test passed.
bytecode.cvd updated (version: 336, sigs: 83, f-level: 90, builder: nrandolp)
5、执行扫描
命令:
clamscan -r
- 常用命令参数
参数 | 功能 | 示例 |
---|---|---|
-r | 递归扫描目录 | clamscan -r /home |
-i | 仅显示感染文件 | clamscan -ri /tmp |
--remove | 删除感染文件 | clamscan --remove -r /downloads |
-l | 日志记录 | clamscan -r /var -l /var/log/clamscan.log |
--move | 隔离文件到指定目录 | clamscan --move=/opt/quarantine |
- 典型场景
• 扫描系统关键目录:
clamscan -r /etc /var /home --log=/var/log/system_scan.log
• 扫描压缩文件:
clamscan --multiscan --infected /path/to/archive.zip
- 实操:
[root@ragflow ~]# clamscan -r/root/.bash_logout: OK
/root/.bash_profile: OK
/root/.cshrc: OK
/root/.tcshrc: OK
/root/anaconda-ks.cfg: OK
/root/.bash_history: OK
/root/.docker/buildx/.lock: Empty file
......
/root/install.sh: OK
/root/log: OK
/root/.viminfo: OK
: OKt/log----------- SCAN SUMMARY -----------
Known viruses: 8706329
Engine version: 0.103.11
Scanned directories: 1848
Scanned files: 7129
Infected files: 0
Data scanned: 754.83 MB
Data read: 484.95 MB (ratio 1.56:1)
Time: 437.200 sec (7 m 17 s)
Start Date: 2025:05:14 16:36:54
End Date: 2025:05:14 16:44:11
6、结果分析
----------- SCAN SUMMARY -----------
Known viruses: 8706329 # 病毒库覆盖范围(较新)
Engine version: 0.103.11
Scanned directories: 1848 # 扫描目录深度
Scanned files: 7129 # 文件总量(可能包含临时文件)
Infected files: 0 # 未发现感染文件(重要)
Data scanned: 754.83 MB # 实际扫描数据量
Data read: 484.95 MB (ratio 1.56:1) # 总读取数据量(压缩文件占比高时差异明显),扫描效率(理想值 >2:1)
Time: 437.200 sec (7 m 17 s) # 耗时较长(需优化,建议启用多线程)
Start Date: 2025:05:14 16:36:54
End Date: 2025:05:14 16:44:11
7、常见问题
-
扫描速度慢
• 启用多线程扫描:clamdscan -r /path --multithread=4
(#根据 CPU 核心数调整(如 8 线程))
• 检查病毒库完整性:clamscan --multiscan --verify
-
误删文件恢复
• 若使用--remove
参数导致误删,需从备份恢复或使用数据恢复工具(如extundelete
)。 -
freshclam 更新失败
• 检查网络:ping database.clamav.net
• 手动配置镜像:编辑/etc/freshclam.conf
,添加DatabaseMirror cn.clamav.net
(国内镜像) -
病毒库与引擎验证
• 确认病毒库时效性:freshclam --quiet --version
,检查是否为最新(当前 8,706,329 为 2025 年 5 月更新)
• 引擎版本检查:clamscan --version | grep "ClamAV"
,确认是否为 0.103.11(最新稳定版)