美文网首页简友广场Python
基于「ClamAv」通过python进行病毒检测(1)-- C

基于「ClamAv」通过python进行病毒检测(1)-- C

作者: 程序员的一天 | 来源:发表于2020-09-18 17:00 被阅读0次

详细介绍ClamAv的安装部署过程,方式多种多样,这里以最复杂的源码编译安装为例。

一、环境

基于centos7系统,进行ClamAv的源码编译,系统配置如下:

系统: centos7 64位 (minimal)
cpu:  1
内存: 1G

二、编译安装

2.1、依赖安装

yum groupinstall "Development Tools"

yum install openssl openssl-devel libcurl-devel zlib-devel libpng-devel libxml2-devel json-c-devel bzip2-devel pcre2-devel ncurses-devel

yum install valgrind check check-devel

2.2、ClamAv安装包下载

目前最新版本:clamav-0.103.0.tar.gz

wget https://www.clamav.net/downloads/production/clamav-0.103.0.tar.gz

下载方式多种多样,如果wget方式下载太慢,也可以直接用浏览器下载后,拷贝到centos7系统中。

2.3、编译、安装

第一步:解压下载的安装包,并进入到解压后目录:

tar xzf clamav-0.103.0.tar.gz
cd clamav-0.103.0

第二步: configure

./configure --enable-check

第三步:make

make -j2

第四步:(可选)测试make是否正确:

make check

看到以下输出,表示make正常:

=======================================================================
Testsuite summary for ClamAV 0.103.0
=======================================================================
# TOTAL: 13
# PASS:  7
# SKIP:  6
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
=======================================================================

第五步:安装:

make install

三、配置

源码安装后,需要配置才能正常使用。

3.1 配置freshclam

freshclamClamAv自带的病毒库下载更新工具。

freshclam的配置文件为freshclam.conf

如果编译安装时采用的默认路径,那么,在/usr/local/etc/路径下有一份freshclam.conf.sample示例配置文件可以利用。

第一步,将freshclam.conf.sample复制为正式配置文件:

cp /usr/local/etc/freshclam.conf.sample /usr/local/etc/freshclam.conf

为了防止用户直接使用freshclam.conf.sample,所以在freshclam.conf.sample中,有一句未被注释的文本字符串Example,如下:

[root@程序员的一天 app]# cat /usr/local/etc/freshclam.conf.sample 
##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
##


# Comment or remove the line below.
Example

# Path to the database directory.
# WARNING: It must match clamd.conf's directive!
# Default: hardcoded (depends on installation options)
#DatabaseDirectory /var/lib/clamav

同样,复制后的freshclam.conf配置中也存在。

第二步,修改配置文件:

[root@程序员的一天 clamav-0.103.0]# vim /usr/local/etc/freshclam.conf

找到
Example
修改为:
# Example

tip:#号表示注释。

3.2、下载病毒库

配置freshclam后,可以利用它下载或者更新病毒库。

第一步,创建保存病毒库的文件目录:

mkdir /usr/local/share/clamav

第二步,下载病毒库:

freshclam

命令就是这么简单!

如果,工具下载太慢,我们也可以手动下载:

cd /usr/local/share/clamav
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd

clamav提供了一个签名工具sigtool,可以查看、生成和解压缩病毒库。 利用sigtool查看病毒库规则详细信息:

[root@程序员的一天 clamav]# sigtool -i main.cvd 
File: main.cvd
Build time: 25 Nov 2019 08:56 -0500
Version: 59
Signatures: 4564902
Functionality level: 60
Builder: sigmgr
MD5: af6f9a95b19fcce8be2c84bde73b5db6
Digital signature: VeNZg/gIMosAkDvAv5U4IezNpJzBILxyOIbrsmFVrQRpFEULdbLbRK1csHyDHu9nTzNOwX7fiDiZkM7eOoaF91JNtL0Hju3SHrzWzY0K6nV6NV2+y+RohIpjvHJDx98ViAuCou/b2O7ryjD1u31jhBwwckGU+DwdIzmjXNJu3Jb
Verification OK.
[root@程序员的一天 clamav]# 

3.3、配置clamd

clamdClamAv的守护进程,通过clamd可以控制ClamAv执行各种操作。

clamd的配置文件为clamd.conf

过程同配置freshclam时一样。

第一步,将clamd.conf.sample复制为clamd.conf后修改:

cp /usr/local/etc/clamd.conf.sample /usr/local/etc/clamd.conf

第二步,编辑修改:

[root@程序员的一天 clamav-0.103.0]# vim /usr/local/etc/clamd.conf

找到
Example
修改为:
# Example

如果要允许clamd和其他应用程序通信。如,通过socketclamd接收指令,控制clamscan等。需要选择一个socket选项。至少启用以下选项之一:

LocalSocket
TCPSocket

常用的为TCPSocket

clamd.conf中找到:
# TCPSocket 3310
修改为:
TCPSocket 3310

使用3310端口通信。

3.4 使用clamd

配置完毕后,需要启动clamd服务:

[root@程序员的一天 clamav]# clamd
[root@程序员的一天 clamav]# 

这里需要注意,一定要保证/usr/local/share/clamav目录下有病毒库文件,否则会报错:

[root@程序员的一天 clamav]# clamd
LibClamAV Error: cli_loaddbdir(): No supported database files found in /usr/local/share/clamav
ERROR: Can't open file or directory

查看clamd版本:

[root@程序员的一天 clamav]# clamd --version
ClamAV 0.103.0/25929/Sun Sep 13 21:53:46 2020

到此,clamd启动成功,ClamAv安装完毕!

tip:没有找到clamd停止的命令,我们可以这样停止它:killall clamd。如有更好方法,还望告知,非常感谢~

END.

我的部分文章会首发在公众号上。微信读者,可以搜一搜:【程序员的一天】,感兴趣的朋友可以关注,支持一下,谢谢!

每一个关注点赞,都是极大的支持和鼓励。最后,非常感谢阅读。

相关文章

网友评论

    本文标题:基于「ClamAv」通过python进行病毒检测(1)-- C

    本文链接:https://www.haomeiwen.com/subject/qbmjyktx.html