> 技术文档 > 安全扫描之 Linux 杀毒软件 Clamav 安装_clamav杀毒软件

安全扫描之 Linux 杀毒软件 Clamav 安装_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已加载插件:fastestmirrorDetermining fastest mirrorsepel/x86_64/metalink  | 5.1 kB 00:00:00 * base: mirrors.aliyun.com * epel: repo.jing.rocks * extras: mirrors.aliyun.com * updates: mirrors.aliyun.combase  | 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已加载插件:fastestmirrorLoading 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.el7epel  332 k为依赖而安装: clamav-filesystem  noarch  0.103.11-1.el7epel  45 k clamav-lib x86_64  0.103.11-1.el7epel  833 k clamav-update x86_64  0.103.11-1.el7epel  128 k libprelude x86_64  5.2.0-2.el7 epel  312 k libtool-ltdl x86_64  2.4.2-22.el7_3base  49 k pcre2 x86_64  10.23-2.el7 base  201 k事务概要==========================================================================================================================================================================================================================安装 1 软件包 (+6 依赖软件包)总下载量:1.9 M安装大小:169 MIs this ok [y/d/N]: yDownloading 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 checkRunning transaction testTransaction test succeededRunning 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 --versionClamAV 0.103.11

4、更新病毒库

命令:

# 手动更新(首次安装后必须执行)freshclam

实操:

[root@ragflow ~]# freshclamClamAV update process started at Wed May 14 14:46:27 2025WARNING: Can\'t query current.cvd.clamav.netWARNING: Invalid DNS reply. Falling back to HTTP mode.Trying to retrieve CVD header from https://database.clamav.net/daily.cvdTime: 1.7s, ETA: 0.0s [========================>] 512B/512BOKdaily database available for download (remote version: 27636)Time: 17.3s, ETA: 0.0s [========================>] 61.65MiB/61.65MiBTesting 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.cvdTime: 1.0s, ETA: 0.0s [========================>] 512B/512BOKmain database available for download (remote version: 62)Time: 54.5s, ETA: 0.0s [========================>] 162.58MiB/162.58MiBTesting 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.cvdTime: 1.5s, ETA: 0.0s [========================>] 512B/512BOKbytecode database available for download (remote version: 336)Time: 2.2s, ETA: 0.0s [========================>] 277.52KiB/277.52KiBTesting 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
  1. 常用命令参数
参数 功能 示例 -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
  1. 典型场景
    • 扫描系统关键目录:
clamscan -r /etc /var /home --log=/var/log/system_scan.log

• 扫描压缩文件:

clamscan --multiscan --infected /path/to/archive.zip
  1. 实操:
[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: 8706329Engine version: 0.103.11Scanned directories: 1848Scanned files: 7129Infected files: 0Data scanned: 754.83 MBData read: 484.95 MB (ratio 1.56:1)Time: 437.200 sec (7 m 17 s)Start Date: 2025:05:14 16:36:54End 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:54End Date: 2025:05:14 16:44:11

7、常见问题

  1. 扫描速度慢
    • 启用多线程扫描:clamdscan -r /path --multithread=4 (#根据 CPU 核心数调整(如 8 线程))
    • 检查病毒库完整性:clamscan --multiscan --verify

  2. 误删文件恢复
    • 若使用 --remove 参数导致误删,需从备份恢复或使用数据恢复工具(如 extundelete)。

  3. freshclam 更新失败
    • 检查网络:ping database.clamav.net
    • 手动配置镜像:编辑 /etc/freshclam.conf,添加 DatabaseMirror cn.clamav.net(国内镜像)

  4. ​​病毒库与引擎验证​​
    • ​​​​确认病毒库时效性​​:freshclam --quiet --version ,检查是否为最新(当前 8,706,329 为 2025 年 5 月更新)
    • ​​​​引擎版本检查​​:clamscan --version | grep \"ClamAV\" ,确认是否为 0.103.11(最新稳定版)

理财规划