Linux 环境下 ClamAV 杀毒软件:从介绍到部署全解析

在网络安全形势日益严峻的当下,Linux 系统也并非绝对安全的 “避风港”。Clam AntiVirus(简称 ClamAV)作为一款专为 UNIX 系统设计的开源(GPL)反病毒工具包,在 Linux 系统的安全防护中发挥着重要作用。本文将从 ClamAV 的介绍、部署过程、常用命令、扫描报告解读以及定时任务设置等方面,为你提供一套完整的使用指南,助力你在 Linux 系统中筑牢安全防线。

一、ClamAV 简介

ClamAV 是一款基于 GPL 协议的开源反病毒工具包,最初专为邮件网关上的电子邮件扫描而设计。它提供了丰富多样的实用程序,其中包括灵活且可伸缩的监控程序、命令行扫描程序,以及用于自动更新病毒库的高级工具。而 ClamAV 的核心在于其反病毒引擎共享库,该库可广泛应用于各类场景,能够精准检测木马、病毒、恶意软件和其他恶意威胁。凭借开源的特性,ClamAV 拥有庞大的开发者社区,病毒库得以持续更新,以应对不断变化的网络安全威胁,为用户提供可靠的安全防护。

二、ClamAV 在 Linux 系统中的部署

2.1 安装依赖软件

在安装 ClamAV 之前,需要先安装一些必要的依赖软件,这些依赖软件将为 ClamAV 的正常运行提供支持。在基于 RHEL/CentOS 的 Linux 系统中,可通过以下命令安装:

[root@waitccy ~]# yum -y install gcc gcc-c++ openssl openssl-devel libcurl-devel

上述命令中,gcc和gcc-c++是 GNU 编译器集合,用于编译 ClamAV 的源代码;openssl和openssl-devel提供了加密和安全相关的功能;libcurl-devel则用于支持网络数据传输,方便 ClamAV 从网络更新病毒库。

2.2 安装高版本的 curl

由于 ClamAV 对 curl 版本有一定要求,需要安装高版本的 curl。具体操作步骤如下:

  1. 安装 curl 的 yum 源
[root@waitccy ~]# yum -y install gcc gcc-c++ openssl openssl-devel libcurl-devel

该命令通过rpm工具安装 curl 的 yum 源,为后续安装高版本 curl 做好准备。

2. 搜索可用的 curl 版本

[root@waitccy ~]# yum --showduplicates list curl --disablerepo="*" --enablerepo="city*"

此命令用于查看通过新安装的 yum 源可获取的 curl 版本列表,方便我们确认是否有合适的版本可供安装。

3. 启用 yum 源

[root@waitccy ~]# vim /etc/yum.repos.d/city-fan.org.repo

在打开的文件中,将内容修改为:

[city-fan.org]

name=city-fan.org repository for Red Hat Enterprise Linux (and clones) $releasever ($basearch)

#baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch

mirrorlist=http://mirror.city-fan.org/ftp/contrib/yum-repo/mirrorlist-rhel$releasever

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org

将enabled的值从0改为1,表示启用该 yum 源。

4. 安装 curl

[root@waitccy ~]# yum update curl --enablerepo=city-fan.org -y

执行该命令,从启用的 yum 源中更新并安装高版本的 curl。

2.3 安装 ClamAV

  1. 创建管理用户

为了更好地管理 ClamAV,需要创建专门的用户和用户组:

[root@waitccy ~]# groupadd clamav

[root@waitccy ~]# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

groupadd命令创建了名为clamav的用户组,useradd命令创建了属于clamav用户组、禁止登录系统(-s /bin/false)且注释为 “Clam AntiVirus” 的clamav用户。

2. 编译安装 ClamAV

首先将下载好的 ClamAV 压缩包解压到指定目录,然后进入解压后的目录进行编译和安装:

[root@waitccy ~]# tar xf clamav-0.102.3.tar.gz -C /usr/local/

[root@waitccy ~]# cd /usr/local/clamav-0.102.3

[root@waitccy /usr/local/clamav-0.102.3]# ./configure --prefix=/usr/local/clamav && make && make install

./configure命令用于配置安装选项,--prefix=/usr/local/clamav指定了安装路径;make命令进行编译;make install命令将编译好的程序安装到指定路径。

2.4 配置 ClamAV

  1. 创建日志目录和更新病毒库目录
[root@waitccy ~]# mkdir /usr/local/clamav/logs -p

[root@waitccy ~]# mkdir /usr/local/clamav/updata -p

[root@waitccy ~]# touch /usr/local/clamav/logs/clamd.log

[root@waitccy ~]# touch /usr/local/clamav/logs/freshclam.log

上述命令分别创建了存放 ClamAV 日志和病毒库更新文件的目录,并创建了对应的日志文件。

2. 修改目录属性

[root@waitccy ~]# chown clamav:clamav /usr/local/clamav/logs/clamd.log

[root@waitccy ~]# chown clamav:clamav /usr/local/clamav/logs/freshclam.log

[root@waitccy ~]# chown clamav:clamav /usr/local/clamav/updata

将相关目录和文件的所有者和所属组修改为clamav用户和clamav用户组,确保 ClamAV 有足够的权限进行操作。

3. 准备配置文件

[root@waitccy ~]# cp /usr/local/clamav/etc/clamd.conf.sample /usr/local/clamav/etc/clamd.conf

[root@waitccy ~]# cp /usr/local/clamav/etc/freshclam.conf.sample /usr/local/clamav/etc/freshclam.conf

复制 ClamAV 自带的配置文件示例,作为我们后续配置的基础。

4. 配置 ClamAV

[root@waitccy ~]# vim /usr/local/clamav/etc/clamd.conf

在打开的文件中,注释掉#Example一行,并添加以下内容:
 

LogFile /usr/local/clamav/logs/clamd.log

PidFile /usr/local/clamav/updata/clamd.pid

DatabaseDirectory /usr/local/clamav/updata

[root@waitccy ~]# vim /usr/local/clamav/etc/freshclam.conf

同样注释掉#Example一行,并添加以下内容:

DatabaseDirectory /usr/local/clamav/updata

UpdateLogFile /usr/local/clamav/logs/freshclam.log

PidFile /usr/local/clamav/updata/freshclam.pid

上述配置分别指定了 ClamAV 守护进程(clamd)和病毒库更新程序(freshclam)的日志文件路径、进程 ID 文件路径以及病毒库目录。

三、更新病毒库

安装并配置好 ClamAV 后,需要更新病毒库,确保其能够检测到最新的病毒和恶意软件。执行以下命令进行更新:

[root@waitccy ~]# /usr/local/clamav/bin/freshclam

执行该命令后,ClamAV 会从官方服务器下载最新的病毒库,并显示更新过程的相关信息,如当前版本、推荐版本、已下载的数据库信息等。

四、ClamAV 常用命令参数

ClamAV 提供了强大的命令行扫描功能,以下是一些常用的命令参数:

  • clamscan:查杀当前目录下的文件,如/usr/local/clamav/bin/clamscan。
  • clamscan -r:递归查杀当前目录的所有文件及目录。
  • clamscan dir:查杀指定目录dir下的文件,如/usr/local/clamav/bin/clamscan /home。
  • clamscan -r dir:递归查杀目录dir下的所有文件及目录。
  • clamscan -r -i /home --remove -l /var/log/clamscan.log:递归扫描/home目录,删除病毒文件,并将扫描日志记录到/var/log/clamscan.log,同时记录有问题的文件。
  • clamscan -r -i /home --move=/opt/infected -l /var/log/clamscan.log:扫描指定目录,将感染文件移动到/opt/infected目录,并记录扫描日志。

五、杀毒扫描报告解读

当使用 ClamAV 完成扫描后,会生成一份扫描报告,以下是对报告中各项内容的说明:

  • Known viruses:已知病毒数量,如9141451,表示 ClamAV 病毒库中已知的病毒总数。
  • Engine version:软件版本,如0.102.4,即当前 ClamAV 的版本号。
  • Scanned directories:扫描目录数量,如498,表示扫描过程中涉及的目录总数。
  • Scanned files:扫描文件数量,如738,即扫描的文件总数。
  • Infected files:感染文件数量,如4,这是需要重点关注的部分,表明扫描到的存在病毒或恶意软件的文件数量。
  • Data scanned:扫描数据量,如530.25 MB,表示扫描过程中处理的数据总量。
  • Data read:数据读取量,如14131.60 MB (ratio 0.04:1),显示从存储设备读取的数据量及与扫描数据量的比例。
  • Time:扫描用时,如203.805 sec (3 m 23 s),记录整个扫描过程所花费的时间。

六、设置定时任务

为了定期对系统进行病毒扫描,可通过设置定时任务来实现。以每天凌晨 11 点(23 点)进行文件扫描为例:

  1. 编辑定时任务
crontab -e

在打开的文件中添加以下内容:

0 23 * * * root /usr/local/bin/clamscan.sh

上述内容表示在每天的 23 点 0 分,以root用户身份执行/usr/local/bin/clamscan.sh脚本。

2. 配置扫描文件

vim /usr/local/clamscan.sh

在文件中添加扫描命令,如:

clamscan -r -i /home --move=/opt/infected -l /var/log/clamscan.log

这样,系统就会按照设定的时间定期执行病毒扫描任务,并将感染文件移动到指定目录,同时记录扫描日志。

通过以上对 ClamAV 的全面介绍和详细部署步骤,相信你已经能够在 Linux 系统中熟练使用这款反病毒工具包。在实际使用过程中,建议定期更新病毒库和执行扫描任务,以确保系统始终处于安全状态。如果你在使用过程中遇到任何问题,欢迎在评论区留言交流,共同探索 Linux 系统安全防护的有效方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值