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.cn.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

### 3.2 ClamAV安装与配置 #### 安装 ClamAV ClamAV 是一种开源的反病毒工具,可以通过包管理器或者源码编译的方式进行安装。以下是详细的安装步骤: 在基于 Debian 或 Ubuntu 的系统上,可以使用 `apt` 命令来快速安装 ClamAV 及其相关组件: ```bash sudo apt update && sudo apt install clamav clamav-daemon clamav-freshclam -y ``` 此命令会安装核心程序 (`clamav`)、守护进程服务 (`clamav-daemon`) 和用于更新病毒库的工具 (`clamav-freshclam`) [^1]。 对于 CentOS 或 RHEL 系统,则需启用 EPEL 软件仓库后再运行以下命令: ```bash sudo yum install epel-release -y sudo yum install clamav clamav-update clamav-server -y ``` #### 配置 ClamAV 完成安装后,需要对 ClamAV 进行必要的配置以确保正常工作。主要涉及以下几个文件: - `/etc/clamav/freshclam.conf`: 此文件控制 freshclam 工具的行为,例如设置更新频率和镜像站点。 - `/etc/clamav/clamd.conf`: 主要定义扫描引擎的工作方式以及日志记录选项。 编辑上述两个配置文件前建议先备份原始文件以防万一出现问题能够迅速恢复默认状态: ```bash sudo cp /etc/clamav/freshclam.conf{,.bak} sudo cp /etc/clamav/clamd.conf{,.bak} ``` 接着修改这些配置项允许网络访问并指定本地路径存储临时数据等参数 [^3]: ```bash # 编辑 FreshClam 配置文件 sudo nano /etc/clamav/freshclam.conf # 找到下面这行取消注释(去掉前面的'#') 并保存退出 DatabaseMirror database.clamav.net # 同样操作 Clamd 配置文件 sudo nano /etc/clamav/clamd.conf # 查找 LocalSocket 参数调整为适合环境的位置比如 '/var/run/clamav/clamd.sock' LocalSocket /var/run/clamav/clamd.sock FixStaleSocket true User clamav ScanMail true ScanArchive true DetectBrokenExecutables true LogSyslog false LogFileMaxSize 2M LogClean false ExitOnOOM true LeaveTemporaryFiles false PhishingSignatures true PhishingScanURLs true CommandReadTimeout 30 AsyncNotify true SendBufTimeout 300 TCPSocket 3310 TCPAddr localhost StreamMaxLength 100M P7ZBlockEncrypted none ``` 最后启动服务并验证是否成功加载最新版数据库签名信息 [^3]: ```bash sudo systemctl start clamav-freshclam.service sudo systemctl enable clamav-freshclam.service sudo freshclam ``` 如果一切顺利的话应该可以看到类似这样的输出表明已经获取到了最近一次发布的安全补丁集: ``` ClamAV update process started at Mon Oct 18 14:56:07 2021 main.cvd is up to date (version: 59, sigs: 4562304, f-level: 60, builder: raynman) daily.cld updated (version: 25929, sigs: 1828687, f-level: 63, builder: neo) bytecode.cvd is up to date (version: 325, sigs: 94, f-level: 63, builder: anvilleg) ``` 至此完成了基本的功能部署流程,在实际生产环境中还可能涉及到更多高级特性定制化需求如邮件网关集成或是Web应用防火墙联动等功能扩展部分则不在本文讨论范围内 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值