clamAV防病毒安装部署(单机部署)

clamAV防病毒软件(开源)

官网地址ClamAVNet

uname -a  查看自己服务器的架构,下载对应的防病毒版本

将下载的好的包上传至服务器

解压安装软件包到指定目录下

# centos

rpm -ivh --prefix=/usr/local/clamav clamav-1.3.1.linux.x86_64.rpm

# ubuntu

dpkg -x  clamav-1.3.1.linux.x86_64.deb /usr/local/clamav/

cd /usr/local/clamav

设置PATH变量

echo PATH=/usr/local/clamav/bin:/usr/local/clamav/sbin:$PATH > /etc/profile.d/path.sh

使其生效

source /etc/profile.d/path.sh

使用clamscan命令进行测试时,提示缺少相关库文件

clamscan -r -i /root/

报错:

clamscan: error while loading shared libraries: libclamav.so.12: cannot open shared object file: No such file or directory

查看系统内libclamav.so.12是否已存在  

find / -name 'libclamav.so.12'

更新ldconfig

echo "/usr/local/clamav/lib64/" | sudo tee -a /etc/ld.so.conf.d/clamav.conf

ldconfig

再次测试clamscan -r -i /root/  

提示缺少病毒库。

因为是离线环境。需要找一个外网环境,使用freshclam下载病毒库后拷贝过来

 从ClamAV站点下载文件定义:

wget http://db.local.clamav.net/main.cvd

wget ​​http://db.local.clamav.net/daily.cvd

这两个文件是必需的

将这些文件复制到ClamAV目录中:

sudo mv daily.cvd main.cvd /usr/local/share/clamav/

另一种下载方式

找了个能连接外网的虚拟机安装clamav,下载病毒库

将病毒库放在/usr/local/share/clamav/下面

cd /usr/local/share

unzip clamav.zip

 

再次测试正常 clamscan -r -i /root/

clamd配置:

配置clamd守护进程就需要修改clamd的配置文件。

两个配置文件:
       clamd.conf:clamd 守护进程的配置文件。当你使用 clamdscan(而不是 clamscan)命令时,该命令实际上会与后台运行的 clamd 守护进程进行交互来执行扫描。因此,clamdscan 的行为会受到 clamd.conf 文件中的配置的影响。这个文件包含了与守护进程行为、日志记录、扫描选项等相关的设置。

freshclam.conf:ClamAV 病毒数据库更新工具 freshclam 的配置文件。当你使用 freshclam 命令来更新你的病毒数据库时,该命令会根据这个配置文件来运行。这个文件包含了与更新源、更新频率、代理设置、日志记录等相关的设置。
1、先创建存放日志、socket和pid的文件目录。

cd /usr/local/clamav/

mkdir  logs pid socket

/usr/local/clamav/etc这个目录下有两个配置文件模板,可以根据这两个模板创建配置文件。

cd /usr/local/clamav/etc

cp clamd.conf.sample  clamd.conf

cp freshclam.conf.sample freshclam.conf

3、修改配置文件

vi  clamd.conf

# 注释掉Example这一行

LogFile /usr/local/clamav/logs/clamd.log

LogFileMaxSize 20M

PidFile /usr/local/clamav/pid/clamd.pid

DatabaseDirectory /usr/local/share/clamav #刚刚上传的病毒库存放的位置

LocalSocket /usr/local/clamav/socket/clamd.socket

查看配置结果

[root@CentOS7 etc]# cat clamd.conf |grep -Ev "^#|^$"

修改freshclam.conf配置

vi freshclam.conf

# 注释掉Example这一行

DatabaseDirectory /var/lib/clamav

UpdateLogFile  /usr/local/clamav/logs/freshclam.log

PidFile  /usr/local/clamav/pid/freshclam.pid

DatabaseMirror database.clamav.net

Checks 24  #24表示一天检查一次病毒库更新没,更新了就直接拉取到本地

 [root@CentOS7 etc]# cat freshclam.conf | grep -Ev '^#|^$'

创建clamav用户

groupadd clamav

useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav

更改目录权限:

chown -R clamav:clamav /usr/local/clamav

全部配置好后进行测试: freshclam  clamd
提示配置文件是在/usr/local/etc下面找的,所以需要将配置文件软链接到这个下面。

软链接源文件要使用绝对路径

ln -s /usr/local/clamav/etc/freshclam.conf  /usr/local/etc/

ln -s /usr/local/clamav/etc/clamd.conf  /usr/local/etc/

在线生成病毒库: freshclam

如果报如下的错,说明权限不够,因为clamav是使用clamv这个用户,该用户对/var/lib/clamav目录没有足够权限,解决办法就是赋予权限。

chmod 777 /var/lib/clamav

再次进行测试:
clamd正常运行

clamdscan正常运行

最后将freshclam和clamd做成系统服务交给systemd进行托管。

# centos7的systemd文件是放在/usr/lib/systemd/system/

# ubuntu的systemd文件时放在/lib/systemd/system/

centos:

创建clamd的systemd文件:

vi /usr/lib/systemd/system/clamd.service

添加如下内容:

[Unit]

Description=Clam AntiVirus userspace daemon

Documentation=man:clamd(8) man:clamd.conf(5) https://docs.clamav.net/

# Check for database existence

ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}

ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}

[Service]

type=simple

ExecStart=/usr/local/clamav/sbin/clamd --foreground=true

# Reload the database

ExecReload=/bin/kill -USR2 $MAINPID

StandardOutput=syslog

TimeoutStartSec=420

[Install]

WantedBy=multi-user.target

启动clamd       systemctl  start  clamd

查看clamd状态   systemctl  status  clamd

创建freshclam的systemd文件

vi  /usr/lib/systemd/system/freshclam.service

添加如下内容:

 [Unit]

Description=ClamAV virus database updater

Documentation=man:freshclam(1) man:freshclam.conf(5) https://docs.clamav.net/

# If user wants it run from cron, don't start the daemon.

# ConditionPathExists=!/etc/cron.d/clamav-update

Wants=network-online.target

After=network-online.target

[Service]

ExecStart=/usr/local/clamav/bin/freshclam -d --foreground=true

[Install]

WantedBy=multi-user.target

启动     systemctl  start  freshclam.service

查看状态 systemctl  status  freshclam.service

启动

cd /usr/local/clamav/sbin

./ clamd

查看版本  clamscan -V

查看进程 ps ax | grep clamd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值