15

我目前在 Centos 6.9 上遇到 ClamAV 和freshclam 的问题。

我有最后一个 Clam 引擎 0.99.2,和一个正常的互联网连接。即使我在 a 之前运行# freshclam -v命令(它只返回有关freshclam.conf 的不安全权限的安全警告)# clamscan,clamAV 也会返回此警告:

LibClamAV Warning: ************************************************** LibClamAV Warning: *** The virus database is older than 7 days. *** LibClamAV Warning: *** Please update it IMMEDIATELY! *** LibClamAV Warning: **************************************************

所以我的问题是:我怎么知道上次更新是什么时候完成的?或者确保病毒库是最新的?

PS:我已经用 eicar 测试文件测试了 clamscan,它检测到了它。

4

5 回答 5

12

clamscan --version显示签名的版本和日期,例如

$ clamscan --version
ClamAV 0.101.4/25613/Fri Oct 25 11:00:25 2019

签名版本在哪里25613,后面是签名的日期

于 2019-10-25T17:16:20.263 回答
8

你有2个问题:

  1. 我怎么知道上次更新是什么时候完成的?

host -t txt current.cvd.clamav.net; perl -e 'printf "%d\n", time;'

这将告诉您 clamav 何时提供最后一次更新。

  1. 确保病毒库是最新的?

首先,您需要了解为什么会收到安全警告。如果您在此处发布警告,也许我们会有更好的机会帮助您。

然后我建议你查看日志/var/log/clamav/freshclam.log

此外,如果您启用了 selinux,则必须运行以下命令:setsebool -P antivirus_can_scan_system 1. 如果错误是这样的,During database load : LibClamAV Warning: RWX mapping denied: Can't allocate RWX Memory: Permission denied那么显然您的解决方案就是我上面提到的命令。

于 2017-04-20T09:43:12.910 回答
3

这就是我对您问题的第二部分所做的:确保病毒数据库是最新的?

我的系统处于脱机状态,因此无法查询 clamav 站点以获取其最新的病毒定义数据库,但我可以使用此 linux 命令轻松检查当前 cvd 文件的日期。

strings /var/lib/clamav/daily.cvd|head -1|cut -c1-28
ClamAV-VDB:31 Jul 2019 04-17

编辑:正如 Jonathon 所提到的,sigtool 是检查 clamav dat 文件签名的好方法:

sigtool --info daily.cvd
File: daily.cvd
Build time: 28 Aug 2019 04:24 -0400
Version: 25555
Signatures: 1739106
Functionality level: 63
Builder: raynman
...
于 2019-08-07T19:52:13.807 回答
0

你不能相信TXT记录的日期。但是,您可以信任TXT记录中的数据库版本。

所以,正确的答案是使用@bogdan 和@falko-menge 答案的一部分:

首先,“我的机器上的 clamav 数据库是什么版本的?” (在本例中为 25904):

$ clamscan --version
ClamAV 0.102.4/25904/Mon Aug 17 08:02:24 2020

现在,“clamav.net 上可用的最新版本是什么?” (在本例中,也是 25904):

@ ✓ $ host -t txt current.cvd.clamav.net; perl -e 'printf "%d\n", time;'
current.cvd.clamav.net descriptive text "0.102.4:59:25904:1597879740:1:63:49191:331"

但是,该TXT记录显示实际创建 25904 的时间是错误的:-(

@ ✓ $ epoch_to_rfc_3339 1597879740
2020-08-19T18:29:00
于 2020-08-20T16:18:11.413 回答
0

#!/bin/bash

check_clamav_version= freshclam -V check_clamav_site=host -t txt current.cvd.clamav.net

#echo $check_clamav_version #echo $check_clamav_site

clamav_version= echo $check_clamav_version |awk -F '/' '{ print $2}' clamav_site=echo $check_clamav_site |awk -F ":" '{ print $3}'

echo $clamav_version echo $clamav_site let "result=clamav_site-clamav_version" ; 回显$结果

case $result in 0) echo "ClamAV 是最新的,versies zijn gelijk" ;; *) echo "ClamAV 是最新的,lokale 数据库是 versie $clamav_version,op de 站点是 versie $clamav_site beschibaar。" ;; 经社理事会

~~

于 2022-01-19T11:51:19.213 回答