背景
最近在一个项目上要求在linux服务器上安装杀毒软件,然后开启系统扫描,然后删除病毒。
然后找了找了一些资料,比较常用的有ClamAV 和 Comodo, 因为ClamAV开源,且使用比较广泛,最终选择了ClamAV。
我们的服务器是centos7.9, 下面就是在CentOS上安装ClamAV的过程,比较简单。
CentOS 上安装ClamAV
以下是在 CentOS 上安装 ClamAV 步骤:
步骤 1:安装 EPEL 仓库
ClamAV 通常通过 EPEL(Extra Packages for Enterprise Linux)仓库提供,因此首先需要确保 EPEL 仓库已安装。
如果失败可以考虑使用阿里云的源 yum 仓库更换阿里云
1
| sudo yum install epel-release -y
|
步骤 2:安装 ClamAV
安装 EPEL 仓库后,你可以通过以下命令安装 ClamAV:
1
| sudo yum install clamav clamav-update clamd -y
|
clamav
包含命令行工具(如 clamscan
)。
clamav-update
是更新病毒库所需的工具(即 freshclam
)。
clamd
是clam的系统服务。
验证安装是否成功:
步骤 3:更新病毒库
安装完成后,首先需要更新 ClamAV 的病毒库,以确保它能识别最新的恶意软件。运行以下命令:
freshclam
会从 ClamAV 的服务器下载并更新病毒库,如果超时,等一会再多试几次,我试了3次成功了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ClamAV update process started at Wed Dec 25 16:33:20 2024 WARNING: Your ClamAV installation is OUTDATED! WARNING: Local version: 0.103.11 Recommended version: 0.103.12 DON'T PANIC! Read https://docs.clamav.net/manual/Installing.html daily database available for download (remote version: 27497) Time: 14.0s, ETA: 0.0s [========================>] 61.48MiB/61.48MiB Testing database: '/var/lib/clamav/tmp.8095e9d84b/clamav-0e8a55acea5c8848d6871677901e577d.tmp-daily.cvd' ... Database test passed. daily.cvd updated (version: 27497, sigs: 2071426, f-level: 90, builder: raynman) main database available for download (remote version: 62) Time: 50.6s, ETA: 0.0s [========================>] 162.58MiB/162.58MiBBB Testing database: '/var/lib/clamav/tmp.8095e9d84b/clamav-ac7f382ef620ff4ad4d10aaed27f9dce.tmp-main.cvd' ... Database test passed. main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr) bytecode database available for download (remote version: 335) Time: 1.5s, ETA: 0.0s [========================>] 282.94KiB/282.94KiB Testing database: '/var/lib/clamav/tmp.8095e9d84b/clamav-bbc727f2e5a1bc6a0e835c65fb9cf566.tmp-bytecode.cvd' ... Database test passed. bytecode.cvd updated (version: 335, sigs: 86, f-level: 90, builder: raynman)
|
步骤 4:启动 ClamAV 守护进程(可选)
如果你希望使用 ClamAV 的守护进程(clamd
),你需要启动它。守护进程会提高扫描效率,特别是对于较大的文件。
- 启用clam默认配置
1 2 3
| cp /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.bak sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf vim /etc/clamd.d/scan.conf
|
放开如下的注释
- 重命名clam服务的@文件
1
| mv /usr/lib/systemd/system/clamd\@.service /usr/lib/systemd/system/clamd.service
|
- 修改服务配置
1 2 3 4 5 6 7 8 9 10 11 12
| [Unit] Description = clamd scanner daemon After = syslog.target nss-lookup.target network.target [Service] Type = forking ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf
ExecReload=/bin/kill -USR2 $MAINPID Restart = on-failure TimeoutStartSec=420 [Install] WantedBy = multi-user.target
|
启动 clamd
服务:
1 2
| sudo systemctl daemon-reload sudo systemctl start clamd.service
|
设置 clamd
在系统启动时自动启动:
1
| sudo systemctl enable clamd.service
|
步骤 5:运行 ClamAV 执行病毒扫描
你可以使用 clamscan
执行病毒扫描。以下是一些常见的用法:
扫描单个文件:
扫描整个目录:
1
| clamscan -r /path/to/directory
|
扫描并删除感染文件:
1
| clamscan -r --remove /path/to/directory
|
扫描并显示详细信息:
1
| clamscan -r -v /path/to/directory
|
将结果输出到文件:
1 2 3 4 5
| clamscan -r /path/to/directory --log=clamav_scan_results.txt
clamscan -r /path/to/directory > clamav_scan_results.txt
nohup clamscan -r /path/to/directory --log=clamav_scan_results.txt &
|
结果:
1 2 3 4 5 6 7 8 9 10 11 12
| ----------- SCAN SUMMARY ----------- Known viruses: 8702931 Engine version: 0.103.11 Scanned directories: 44573 Scanned files: 66053 Infected files: 0 Total errors: 21600 Data scanned: 4565.67 MB Data read: 27114.51 MB (ratio 0.17:1) Time: 1178.142 sec (19 m 38 s) Start Date: 2024:12:25 17:12:38 End Date: 2024:12:25 17:32:17
|
步骤 6:配置 ClamAV (可选)
如果需要,你可以配置 ClamAV 来调整其行为。ClamAV 的配置文件位于:
clamd
配置文件:/etc/clamd.d/scan.conf
freshclam
配置文件:/etc/freshclam.conf
你可以编辑这些配置文件,调整日志文件路径、扫描选项等。例如,编辑 clamd
配置文件来启用详细日志:
1
| sudo vi /etc/clamd.d/scan.conf
|
修改以下内容:
1 2
| LogFile /var/log/clamd.log LogTime yes
|
步骤 7:定期更新病毒库
为了确保 ClamAV 能及时识别最新的威胁,你需要定期更新病毒库。你可以通过设置 cron 任务 来自动更新病毒库。
编辑 crontab
文件:
添加以下行来每天更新病毒库(此例为每天凌晨 2 点):
1
| 0 2 * * * /usr/bin/freshclam --quiet
|
总结
- 安装 EPEL 仓库并通过
yum
安装 ClamAV。
- 使用
freshclam
更新病毒库。
- 启动并配置
clamd
守护进程(可选)。
- 使用
clamscan
执行病毒扫描。
- 配置定时任务自动更新病毒库。
通过这些步骤,你可以在 CentOS 上成功安装和配置 ClamAV,帮助你扫描和清理系统中的病毒和恶意软件。
参考
clamav 官方文档
yum 仓库更换阿里云
centos7 配置ClamAV