ClamAV Antivirus for Linux 教程

ClamAV Antivirus 是一款开源恶意软件检测工具。在本教程中,我们将介绍 ClamAV 的入门知识和常见用例。

通过各种配置文件,它可以执行实时文件系统检测、临时文件扫描、邮件网关过滤和 http 代理扫描。

这些用例仅涉及使用核心引擎和各种开源附加组件所能实现的表面功能。
内容

  • 在 Ubuntu 上安装 ClamAV
  • ClamAV 签名
  • 针对 PDF 测试 ClamAV
  • clamd、clamdscan 和 clamscan
  • HTTP 代理中的 ClamAV
  • squidclamav icap 模块
  • 结论

ClamAV 和主要开发团队于 2007 年被 SourceFire 收购。2013 年被 SourceFire 收购后,现在由 Cisco Talos 维护。您可能听说过思科,这是一家制造网络设备的小型初创公司。

在这里插入图片描述

在 Ubuntu(或 Debian)上安装 ClamAV

要获得最新版本,或需要自定义构建,则必须从源代码安装。但是,在生产中使用杀毒软件包时,您会希望它稳定、安全,并且在安全更新发布时易于修补。因此,我建议使用 Ubuntu 软件源中的稳定版 ClamAV。

虽然 ClamAV 核心版本不是最新发布的版本,但您仍可通过 freshclam 更新接收最新的杀毒软件签名数据库更新。

root@8ca32fd2f888:/# apt update
root@8ca32fd2f888:/# apt install clamav
root@8ca32fd2f888:/# clamscan --version
ClamAV 0.103.2
root@8ca32fd2f888:/# freshclam

就是这么简单。我迅速启动了 Ubuntu 20.04 Docker 映像并运行了安装。clamscan 的版本是 0.103.2。

运行 freshclam 将确保最新数据库可用,签名数据库每天更新一到两次,因此将 freshclam 放在 cron 作业中以保持更新。

root@8ca32fd2f888:/# clamscan /usr/bin
<< SNIP >>
/usr/bin/ucf: OK
/usr/bin/openssl: OK
/usr/bin/ucfq: OK
/usr/bin/crontab: OK

----------- SCAN SUMMARY -----------
Known viruses: 8528798
Engine version: 0.103.2
Scanned directories: 1
Scanned files: 287
Infected files: 0
Data scanned: 20.16 MB
Data read: 22.85 MB (ratio 0.88:1)
Time: 23.066 sec (0 m 23 s)
Start Date: 2021:05:13 00:04:35
End Date:   2021:05:13 00:04:58

针对文件夹名称运行 clamscan 即可进行简单的目录扫描。如果您需要快速杀毒解决方案,安装 ClamAV、更新和启动扫描只需几分钟即可完成。

ClamAV 签名和覆盖范围

在测试时,最新的签名数为 8528798。更新会定期发布,下图显示了截至 2021 年 4 月的 3 个月内每日新增的杀毒软件签名数量。

在这里插入图片描述

针对嵌入 DOC 的 PDF 测试 ClamAV

Didier Stevens 创建了一个便捷的测试文件,其中包含众所周知的 EICAR 测试文件,但该文件是从嵌入 PDF 的 DOC 中删除的。

https://blog.didierstevens.com/2015/08/28/test-file-pdf-with-embedded-doc-dropping-eicar/

什么是 EICAR?
根据设计,访问该文件(使用密码解压缩后)会导致工作站 AV 亮起,并可能向 IT 部门发送警报。

root@8ca32fd2f888:/# clamscan pdf-doc-vba-eicar-dropper.pdf
/pdf-doc-vba-eicar-dropper.pdf: Doc.Dropper.Agent-1540415 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8528798
Engine version: 0.103.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.06 MB
Data read: 0.01 MB (ratio 7.50:1)
Time: 17.054 sec (0 m 17 s)
Start Date: 2021:05:13 00:14:55
End Date:   2021:05:13 00:15:12
root@8ca32fd2f888:/#

了解 clamd、clamdscan 和 clamscan

运行 clamscan 时,会在运行时加载 libclamav 引擎和签名。运行扫描引擎的另一种方法是通过 clamd。

Clamd 作为后台进程运行,其内存中包含引擎和签名。然后,clamd 客户端 (clamdscan) 会连接到该服务,以便执行扫描。为了执行扫描,clamd 服务会接受各种命令。

扫描配置由 clamd.conf 配置控制,无法在运行时指定。而使用 clamscan 则可以在运行时通过命令行配置大量选项。

请注意,clamd 服务未经身份验证。请勿从互联网访问该服务。

在 HTTP 代理中集成 ClamAV

通过将 ClamAV 集成到 HTTP 代理(如 Squid)中,可以在所有网络流量中实现透明杀毒。

使用 Squid 可以配置代理执行 SSL/TLS 碰撞(解密),从而扫描 SSL/TLS 加密流量。

Squidclamav icap 模块

Squid 是一种流行的开源 HTTP 代理,可与使用 ICAP 协议的模块协同工作。ICAP 是允许 HTTP 代理将内容检查和操作外包给外部进程或服务器的标准。

在这里插入图片描述
SquidClamAV 是一款基于 ICAP 的 Squid 代理杀毒软件,性能卓越,能同时处理数千个 HTTP 连接。

结论

即使您的环境中已经有了商用防病毒解决方案,但如果您知道自己可以在几分钟内快速启动 ClamAV 来执行特别测试,那就一定要把它放在您的工具袋中。

与漏洞扫描一样,使用多种解决方案和签名数据库可确保您在检测和了解环境威胁方面获得最佳覆盖率。

在网关服务器(SMTP/HTTP)上运行 ClamAV 是一种深受开源公司欢迎的解决方案。ClamAV 的团队来自 Cisco Talos,难怪该软件能不断为各种规模的企业实现目标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值