JclamAV 在线环境安装

环境说明:

系统为 CentOS Stream 9(本说明书适用于 Cent7-Cent9全系列,Cent7和Cent8需要换yum源为国内镜像)

1.安装Jclam依赖包

yum install -y clamav

文件下载完成之后配置文件会默认保存至 /usr/local/etc/目录下,后续修改配置文件将在此文件夹下进行

2.添加用户和用户组

groupadd clamav
useradd -g clamav clamav

3.创建日志目录、病毒库目录和套接字目录

#创建目录
mkdir -p /usr/local/clamav/logs
#创建病毒库目录(后续离线更新病毒库需要更改这个目录下面的三个文件 daily.cvd,bytecode.cvd,main.cvd)
mkdir -p /usr/local/clamav/update
#创建套接字目录
mkdir -p /usr/local/clamav/socket

4.手动创建日志文件

#创建服务运行日志
touch /usr/local/clamav/logs/clamd.log
#创建病毒库更新日志
touch /usr/local/clamav/logs/freshclam.log

5.文件授权,将病毒库目录,日志目录,套接字目录赋权给clamav用户及其用户组

 chown clamav:clamav /usr/local/clamav/logs/clamd.log
 chown clamav:clamav /usr/local/clamav/logs/freshclam.log
 chown clamav:clamav /usr/local/clamav/logs
 chown clamav:clamav /usr/local/clamav/update
 chown clamav:clamav /usr/local/clamav/socket

6.修改配置文件

1.复制配置文件

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

2.修改服务配置文件,执行已下命令

vim /usr/local/etc/clamd.conf

3.将Example行进行注释(行首加上 # ),然后往下翻找到以下几项去掉注释(去掉行首的 # )
修改成如下样式

# 服务日志地址
LogFile /usr/local/clamav/logs/clamd.log
# pid服务信息文件地址
PidFile /usr/local/clamav/update/clamd.pid
# 病毒库地址
DatabaseDirectory /usr/local/clamav/update
# 套接字文件地址
LocalSocket /usr/local/clamav/socket/clamd.socket
 
# TCP port address.
# Default: no
# 服务对外端口默认3310
TCPSocket 3310
 
# TCP address.
# By default we bind to INADDR_ANY, probably not wise.
# Enable the following to provide some degree of protection
# from the outside world. This option can be specified multiple
# times if you want to listen on multiple IPs. IPv6 is now supported.
# Default: no
# 此处ip地址修改成当前部署机器的ip地址
# 绑定对外服务ip
TCPAddr 192.168.0.1
 
# Maximum length the queue of pending connections may grow to.
# Default: 200
# 连接队列数量,支持同时连接客户端数
MaxConnectionQueueLength 30
 
# Close the connection when the data size limit is exceeded.
# The value should match your MTA's limit for a maximum attachment size.
# Default: 100M
# 流最大长度(你可以理解为单次扫描的文件大小为多大)
StreamMaxLength 3000M
 
# Limit port range.
# Default: 1024
StreamMinPort 1024
# Default: 2048
StreamMaxPort 32000

4.修改病毒库配置文件

vim /usr/local/etc/freshclam.conf

5.将Example行进行注释(行首加上 # ),然后往下翻找到以下几项去掉注释(去掉行首的 # )
修改成如下样式

DatabaseDirectory /usr/local/clamav/update
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/update/freshclam.pid
DatabaseMirror database.clamav.net

7.修改环境配置文件

执行以下命令修改库文件,使配置生效

vim /etc/ld.so.conf
#在文件末尾加上这一行
/usr/local/lib64
#ESC :wq保存退出,执行下面的命令使配置生效
ldconfig

8.更新病毒库

1.执行以下命令进行在线病毒库更新

/usr/local/bin/freshclam

说明,以上配置为在线配置,病毒库更新走的是在线更新,

2.以下内容为离线更新病毒库文件

如果要进行离线更新病毒库请在可访问外网的机器上面访问如下三个地址下载病毒文件,放到指定位置本说明文档演示地址为/usr/local/clamav/update,现场实际按照需求进行修改,
注意,配置文件中的路径也当做对应的修改

主病毒库文件main.cvd https://database.clamav.net/main.cvd
代码病毒库文件bytecode.cvd https://database.clamav.net/bytecode.cvd
主病毒库更新文件daily.cvd https://database.clamav.net/daily.cvd

9.执行以下命令开启服务

/usr/local/sbin/clamd

注意:该命令执行成功是没有成功信息返回的,没有异常信息输出则为启动成功,验证方法如下

执行以下命令

ps ln|grep clamd
#或者
ps aux|grep clamd

有内容返回指定到/usr/local/sbin/clamd服务则启动成功

10.开启防火墙(选配)

如果应用和clamav服务部署在一台机器上可以忽略此步骤,如果应用服务和clamav服务不在同一台服务器上则必须执行以下操作
执行以下命令开启防火墙端口

#如果使用的是firewalld服务请执行下列命令
#添加3310端口至白名单
firewall-cmd --zone=public --add-port=3310/tcp --permanent
#查看3310端口是否开放
firewall-cmd --query-port=3310/tcp
#重启防火墙使配置生效
firewall-cmd --reload

#如果使用的是iptables服务请执行以下命令
#开放3310端口
iptables -A INPUT -p tcp --dport 3310 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 3310 -j ACCEPT
#保存并重启iptables服务
service iptables save & service iptables restart
#查看已经开放的端口
iptables -L -n