《Linux 病毒扫描利器 ClamAV:全方位安装使用攻略》

《Linux 病毒扫描利器 ClamAV:全方位安装使用攻略》

病毒威胁下的 Linux 防护难题

在当今数字化时代,网络安全问题日益严峻,Linux 系统虽以稳定性和安全性著称,但也并非坚不可摧。病毒的不断变种和传播,给 Linux 用户带来了潜在的威胁。如何在 Linux 平台上构建一道坚固的防线,成为众多用户关注的焦点。今天,我们就来深入了解一款强大的 Linux 病毒扫描工具——ClamAV(Clam AntiVirus),看看它是如何助力我们守护系统安全的。

一、ClamAV 简介:Linux 平台的开源卫士

ClamAV 作为 Linux 平台上的开源病毒扫描程序,犹如一位不知疲倦的守护者,时刻守护着我们的系统安全。它主要应用于邮件服务器,采用多线程后台操作,就像拥有多个分身同时工作,大大提高了扫描效率。而且,它还具备自动升级病毒库的功能,能及时更新病毒特征码,确保对新出现的病毒也能精准识别。

二、安装:搭建 ClamAV 的基础架构

(一)安装 epel 软件源

安装epel软件源

# 此命令用于安装 epel 软件源,epel 是 Extra Packages for Enterprise Linux 的缩写,它提供了许多额外的软件包,方便我们后续安装 ClamAV 相关程序。执行此命令后,会自动下载并安装 epel 软件源,安装完成无额外输出信息。
yum install -y epel-release
yum clean all && yum makecache 

(二)安装 clamav 程序

yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
# 该命令用于安装 ClamAV 相关的一系列程序,包括服务器端、数据文件、更新工具等。

安装成功会显示下面的提示。

Installed:
  clamav-1.0.8-1.el9.x86_64                    clamav-data-1.0.8-1.el9.noarch              clamav-devel-1.0.8-1.el9.x86_64        
  clamav-filesystem-1.0.8-1.el9.noarch         clamav-freshclam-1.0.8-1.el9.x86_64         clamav-lib-1.0.8-1.el9.x86_64          
  clamd-1.0.8-1.el9.x86_64                     openssl-devel-1:3.2.2-6.el9.x86_64         

三、配置 SE Linux:赋予 ClamAV 恰当权限

配置 ClamAV 权限时,执行 setsebool 命令可能会有点慢,这是正常现象,就像给一个复杂的系统调整规则,需要一些时间,请不要心急。

setsebool -P antivirus_can_scan_system 1
# 此命令用于永久设置 SELinux 策略,允许病毒扫描程序扫描系统文件。-P 参数表示永久生效,1 表示开启该策略。执行成功无额外输出信息。
setsebool -P clamd_use_jit 1 
# 此命令用于永久设置 SELinux 策略,允许 ClamAV 使用 JIT(Just-In-Time)编译技术,提高扫描性能。

查看设置结果,执行下面命令:

getsebool -a | grep antivirus 
# 此命令用于查看所有 SELinux 布尔值设置,并筛选出包含“antivirus”的设置项。执行后会显示与 antivirus 相关的布尔值设置情况,如 antivirus_can_scan_system 和 antivirus_use_jit 的状态。

如果设置生效会显示下面的结果。

[root@localhost ~]# getsebool -a | grep antivirus 
antivirus_can_scan_system --> on
antivirus_use_jit --> on

四、配置 ClamAV:精细调整扫描参数

(一)删除示例

sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf 
# 此命令用于将 /etc/clamd.d/scan.conf 文件中以“Example”开头的行注释掉。
sed -i 's/^#LocalSocket \/run/LocalSocket \/run/g' /etc/clamd.d/scan.conf 
# 此命令用于将 /etc/clamd.d/scan.conf 文件中以“#LocalSocket /run”开头的行的注释去掉.
sed -i -e "s/^Example/#Example/" /etc/freshclam.conf 
# 此命令用于将 /etc/freshclam.conf 文件中以“Example”开头的行注释掉。

(二)检查设置

[root@localhost ~]# cat /etc/clamd.d/scan.conf | grep "^#Example"
#Example
[root@localhost ~]# cat /etc/freshclam.conf  | grep "^#Example"                      
#Example
[root@localhost ~]# cat /etc/clamd.d/scan.conf | grep "LocalSocket"                          
LocalSocket /run/clamd.scan/clamd.sock
#LocalSocketGroup virusgroup
#LocalSocketMode 660

五、更新病毒库:让 ClamAV 拥有最新“武器”

更新命令如下:

freshclam
# 此命令用于更新 ClamAV 的病毒库,它会连接到官方服务器,下载最新的病毒特征码。更新完成后会有详细的更新信息输出,如数据库测试通过、各个病毒库的更新情况等。

更新完成会出现如下提示。

Database test passed.
daily.cld updated (version: 27558, sigs: 2073020, f-level: 90, builder: raynman)
main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
bytecode.cvd database is up-to-date (version: 335, sigs: 86, f-level: 90, builder: raynman)

病毒库保存位置:

/var/lib/clamav/bytecode.cvd
/var/lib/clamav/main.cvd

六、启动 Clamd 服务:让 ClamAV 正式“上岗”

systemctl start clamd@scan
# 此命令用于启动 Clamd 扫描服务,clamd@scan 启动会有点慢,因为服务启动需要加载相关配置和初始化资源。启动成功无额外输出信息。
systemctl enable clamd@scan
# 此命令用于设置 Clamd 扫描服务开机自启。

查看Clamd服务状态:

[root@localhost ~]# systemctl status clamd@scan
● clamd@scan.service - clamd scanner (scan) daemon
     Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled; preset: disabled)
     Active: active (running) since Sun 2025-02-23 19:11:19 CST; 2min 0s ago
       Docs: man:clamd(8)
             man:clamd.conf(5)
             https://www.clamav.net/documents/
   Main PID: 5788 (clamd)
      Tasks: 2 (limit: 10847)
     Memory: 1.2G
        CPU: 28.890s
     CGroup: /system.slice/system-clamd.slice/clamd@scan.service
             └─5788 /usr/sbin/clamd -c /etc/clamd.d/scan.conf

Feb 23 19:11:19 localhost.localdomain clamd[5788]: ELF support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: Mail files support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: OLE2 support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: PDF support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: SWF support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: HTML support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: XMLDOCS support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: HWP3 support enabled.
Feb 23 19:11:19 localhost.localdomain clamd[5788]: Self checking every 600 seconds.
Feb 23 19:11:19 localhost.localdomain systemd[1]: Started clamd scanner (scan) daemon.

七、扫描病毒:ClamAV 的实战时刻

(一)扫描指定文件

clamscan file
# 此命令用于扫描指定的文件,如果 file 不存在会提示:file: No such file or directory ,WARNING: file: Can't access file。扫描完成后会输出文件的扫描结果,如是否感染病毒等信息。

(二)递归扫描 home 目录并记录日志

 clamscan -r -i /home  -l /var/log/clamav.log

(三)递归扫描 home 目录,删除病毒文件并记录日志

clamscan -r -i /home  --remove  -l /var/log/clamav.log  

(四)扫描指定目录,移动感染文件并记录日志

clamscan -r -i /home  --move=/tmp/clamav -l /var/log/clamav.log
  • 说明:

    • -r 参数表示递归扫描。
    • -i 参数表示只显示感染文件。
    • -l 参数用于指定日志文件的保存路径。
    • –remove 参数表示删除发现的病毒文件。
    • –move 参数用于指定将感染文件移动到的目录。

(五)查看病毒文件

cat /var/log/clamav-bin.log | grep "FOUND" 

(六)重点扫描目录

clamscan -r  -i /etc --max-dir-recursion=5 -l /var/log/clamav-etc.log
clamscan -r  -i /bin --max-dir-recursion=5 -l /var/log/clamav-bin.log
clamscan -r  -i /usr --max-dir-recursion=5 -l /var/log/clamav-usr.log
clamscan -r  -i /var --max-dir-recursion=5 -l /var/log/clamav-var.log

(七)扫描报告说明

----------- SCAN SUMMARY -----------
Known viruses: 8704799					#已知病毒
Engine version: 1.0.8					#软件版本
Scanned directories: 245				#扫描目录数
Scanned files: 463						#扫描文件数
Infected files: 0						#感染文件!!!
Data scanned: 42.51 MB					#扫描数据
Data read: 20.21 MB (ratio 2.10:1)		#数据读取
Time: 37.100 sec (0 m 37 s)				#扫描用时
Start Date: 2025:02:23 19:15:57			#开始时间
End Date:   2025:02:23 19:16:34			#结束时间

综上所述,ClamAV 作为一款强大的 Linux 病毒扫描工具,为我们的系统安全提供了全方位的保障。从安装配置到病毒库更新,再到实际的病毒扫描,每一个步骤都至关重要。在网络安全形势日益严峻的今天,我们需要这样一款高效、可靠的工具来守护我们的 Linux 系统。同时,我们也应该不断关注 ClamAV 的更新和发展,及时调整配置,以应对不断变化的病毒威胁。让我们一起利用 ClamAV,为 Linux 系统打造一个安全的运行环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值