linux clamav 离线更新病毒库

luby Linux 2024-12-25 11:29 60 阅读

linux clamav 离线更新病毒库

ClamAV 离线更新病毒库,核心思路就是:‌在一台能联网的机器上下载病毒库文件,再手动拷到内网服务器上覆盖‌。下面给你完整的操作流程。

1、下载病毒库:ClamAV完整病毒库文件介绍:

  • main.cvd:主病毒库,基础特征库,约 160MB
     
  • daily.cvd:每日增量更新,约 60MB
     
  • bytecode.cvd:检测逻辑,约 300KB

📥下载地址:

wget --no-check-certificate https://database.clamav.net/main.cvd
wget --no-check-certificate https://database.clamav.net/daily.cvd
wget --no-check-certificate https://database.clamav.net/bytecode.cvd

⚠️ 官方镜像站是 HTTPS 协议且证书链严格,加 --no-check-certificate 避免证书问题中断下载。‌‌

到官网下载daily.cvd,每天的病毒库下载地址:https://db.local.clamav.net/daily.cvd

2、找安装目录:

将daily.cvd拷贝到对应的目录中。默认为/var/lib/clamav/目录,若不知道,按下面方法查看。

📂 怎样找到服务器上的病毒库目录,在安装 ClamAV 的服务器上,查看病毒库存放路径:

grep "DatabaseDirectory" /etc/clamav/freshclam.conf

3、替换病毒库文件:

  • ‌替换前,先备份旧文件‌(建议先备份而不是直接删):
cd /var/lib/clamav
mv *.cvd *.cld /tmp/backup/
  • ‌拷贝新文件到病毒库目录‌
cp main.cvd daily.cvd bytecode.cvd /var/lib/clamav/

‌修改权限‌(重要,否则 clamd 无法读取):

chown -R clamav:clamav /var/lib/clamav/
chmod 644 /var/lib/clamav/*.cvd

4、重新加载病毒库

执行clamdscan --reload。它会通知clamd去重新加载病毒库。(ubuntu下用不了clamdscan),只能用以下方式手动更新:

sudo systemctl stop clamav-freshclam
sudo freshclam

重载后,查看版本号和日期变化:

clamdscan --version

看到版本号和日期变化,说明更新成功。也可以在日志里确认:

tail -f /var/log/clamav/clamd.log

看到 "Database correctly reloaded" 即成功

5、注意事项和扫描使用:

其实,只要下载以下几个文件放到/var/lib/clamav/目录,就算更新病毒库了。(注:freshclam自动更新时可能 daily.cvd 名称为 daily.cld )

https://database.clamav.net/main.cvd
https://database.clamav.net/daily.cvd
https://database.clamav.net/bytecode.cvd

注意文件权限:
-rw-r--r-- 1 clamav clamav    289733 12月 22 15:59 bytecode.cvd
-rw-r--r-- 1 clamav clamav 204950016 12月 25 09:22 daily.cld
-rw-r--r-- 1 clamav clamav        69 12月 22 15:58 freshclam.dat
-rw-r--r-- 1 clamav clamav 170479789 12月 22 15:59 main.cvd

然后执行clamdscan --version,或clamscan -V查看版本信息。
例如我的结果如下:
ClamAV 0.105.0/26531/Wed May 4 08:05:36 2022
26531 这个值会变。后面的为时间。
例如我用今天5-10的病毒库看看结果
ClamAV 0.105.0/26536/Mon May 9 08:04:57 2022
可以对比看到相应的变化。
clamd更新病毒库时会打印日志(日志文件/var/log/clamav/clamd.log):

Tue May 10 06:21:03 2022 -> Reading databases from /var/lib/clamav
Tue May 10 06:21:23 2022 -> Database correctly reloaded (8616100 signatures)
Tue May 10 06:21:23 2022 -> Activating the newly loaded database...
  • clamscan-Linux查毒工具的命令详解

clamscan命令用于扫描文件和目录,一发现其中包含的计算机病毒,clamscan命令除了扫描linux系统的病毒外,主要扫描的还是文件中包含的windows病毒。

clamscan [选项] [路径] [文件]

--quiet   使用安静模式,仅仅打印出错误信息

-i  仅仅打印被感染的文件

-d 以指定的文件作为病毒库,一代替默认的/var/clamav目录下的病毒库文件

-l 指定日志文件,以代替默认的/var/log/clamav/freshclam.log文件

-r 递归扫描,即扫描指定目录下的子目录

--move= 把感染病毒的文件移动到指定目录

--remove 删除感染病毒的文件

  • 扫描:clamscan  /home

---------------------------------扫描后的显示结果解析---------------------------------------
----------- SCAN SUMMARY -----------   扫描摘要
Known viruses: 8574034                           已知病毒数量
Engine version: 0.103.4                             引擎版本
Scanned directories: 1                               扫描目录数
Scanned files: 1                                          扫描文件数
Infected files: 0                                          感染文件数
Data scanned: 51.96 MB                           扫描的数据大小
Data read: 24.40 MB (ratio 2.13:1)           读取的数据大小
Time: 30.075 sec (0 m 30 s)                      花费总时间
Start Date: 2022:05:28 11:06:57               开始时间
End Date:   2022:05:28 11:07:27              结束时间

ClamAV扫描后默认不会清除病毒,ClamAV扫描只负责‌报告‌感染文件,不会自动清除或删除病毒,需要手动执行操作或加参数才行。‌‌

‌--remove‌:自动删除或尝试清除感染文件。加-r是递归扫描

clamscan -r --remove /home
clamdscan --remove /home

‌--delete‌:强制直接删除,不做清除尝试,不可逆。

clamscan -r --delete /home

‌--move=<目录>‌:把感染文件移到隔离区,便于审查。

clamscan -r --move=/var/lib/clamav/quarantine /home

⚠️ 注意:使用删除类参数前要谨慎,尤其在生产环境。--remove 会静默删除匹配签名的文件,可能误删被篡改的合法程序。建议先不加参数扫描确认,或先用 --move 隔离观察。‌‌

评论 (0)
发表评论
海内存知己, 天涯若比邻。
点击按钮开始验证
快捷回复: 👍 👎 ❤️ 表情: ☺
评论列表
评论加载中...
验证码加载中...
图片加载失败
向右拖动滑块完成拼图
→