linux安装ClamAV杀毒软件然后扫毒

背景

最近在一个项目上要求在linux服务器上安装杀毒软件,然后开启系统扫描,然后删除病毒。

然后找了找了一些资料,比较常用的有ClamAVComodo, 因为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的系统服务。

验证安装是否成功:

1
clamscan --version

步骤 3:更新病毒库

安装完成后,首先需要更新 ClamAV 的病毒库,以确保它能识别最新的恶意软件。运行以下命令:

1
sudo freshclam

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),你需要启动它。守护进程会提高扫描效率,特别是对于较大的文件。

  1. 启用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

放开如下的注释

1
# LocalSocket /run/clamd.scan/clamd.sock
  1. 重命名clam服务的@文件
1
mv /usr/lib/systemd/system/clamd\@.service /usr/lib/systemd/system/clamd.service
  1. 修改服务配置
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
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
Restart = on-failure
TimeoutStartSec=420
[Install]
WantedBy = multi-user.target
  1. 启动 clamd 服务:

    1
    2
    sudo systemctl daemon-reload
    sudo systemctl start clamd.service
  2. 设置 clamd 在系统启动时自动启动:

    1
    sudo systemctl enable clamd.service

步骤 5:运行 ClamAV 执行病毒扫描

你可以使用 clamscan 执行病毒扫描。以下是一些常见的用法:

  • 扫描单个文件

    1
    clamscan /path/to/file
  • 扫描整个目录

    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
    # or
    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 任务 来自动更新病毒库。

  1. 编辑 crontab 文件:

    1
    sudo crontab -e
  2. 添加以下行来每天更新病毒库(此例为每天凌晨 2 点):

    1
    0 2 * * * /usr/bin/freshclam --quiet

总结

  1. 安装 EPEL 仓库并通过 yum 安装 ClamAV。
  2. 使用 freshclam 更新病毒库。
  3. 启动并配置 clamd 守护进程(可选)。
  4. 使用 clamscan 执行病毒扫描。
  5. 配置定时任务自动更新病毒库。

通过这些步骤,你可以在 CentOS 上成功安装和配置 ClamAV,帮助你扫描和清理系统中的病毒和恶意软件。

参考

clamav 官方文档

yum 仓库更换阿里云

centos7 配置ClamAV


linux安装ClamAV杀毒软件然后扫毒
https://www.hancher.top/2024/12/25/safe-clamav-and-scan/
作者
寒澈
发布于
2024年12月25日
许可协议