设为首页 加入收藏

TOP

离线部署clamAV(一)
2023-09-09 10:25:42 】 浏览:124
Tags:clamAV

背景:
项目现场有一个服务器需要作国家二级等保整改,有一个高风险选项是需要安装防恶意代码软件,所以就考虑安装clamAV来实现。现场使用cnetos7服务器,且无外网,只能离线安装。
如果有外网直接执行以下命令就行了。

# ubuntu
sudo apt install clamav clamav-daemon -y

# centos
sudo yum install clamav clamav-update -y

离线部署实现:
1、去官网下载对应的软件包,centos就下载 .rpm软件包。
https://www.clamav.net/downloads
image

2、将下载的软件包上传到服务器后使用rpm命令进行安装,软件包里面已经将相关依赖这些打包好了,直接安装就行。

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

image

安装成功后clamav的相关文件就被放到了/usr/local/clamav下
image

3、设置PATH变量

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

image

4、使用
clamav常用的命令有以下:
clamscan 命令:通用,不依赖服务,命令参数较多,执行速度稍慢,安装好clamav服务后就可以直接用。

clamdscan 命令:是一个搭配clamd常驻服务的扫毒工具,功能非常类似clamscan,执行效率较高,可用的参数较少(因为部分功能是由 clamd 控制的)。例如递归扫描不用带 -r ,默认会递归扫描子目录

freshclam:执行这个命令就会根据配置文件将病毒库下载到指定的位置,默认应该是/usr/local/share/clamav。

直接使用clamscan命令进行测试时,提示缺少相关库文件,但是clamav的安装目录里面又是存在对应文件的,所以要更新ldconfig

image

5、更新ldconfig

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

ldconfig

image

再次测试,提示缺少病毒库。因为是离线环境。所以就搭建一个有外网的机器,使用freshclam下载病毒库后拷贝过来。
image

将病毒库解压到指定目录下,默认是放在/usr/local/share/clamav下的。
image

再次测试就正常了
image

因为不需要进行频繁的扫描或扫描大量文件,只是偶尔执行扫描,那么 clamscan 可能已经足够了。

如果是希望进行频繁的扫描或扫描大量文件,那么使用 clamdscan 和 clamd 守护进程可能是一个更有效的选择。

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

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

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

clamd配置:
1、先创建存放日志、socket和pid的文件目录,并创建对应的日志文件。
image

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

# 进入/usr/local/clamav/etc目录
cp -a clamd.conf.sample clamd.conf
cp -a freshclam.conf.sample freshclam.conf

image

3、修改配置文件

# 注释掉Example这一行
LogFile /usr/local/clamav/logs/clamd.log
LogFileMaxSize 20M
PidFile /usr/local/clamav/clamd.pid
DatabaseDirectory /var/lib/clamav
LocalSocket /usr/local/clamav/socket/clamd.socket

image

DatabaseDirectory就是指定病毒库的存放位置
image

如果需要实时更新病毒库,freshclam.conf也需要进行配置

[root@CentOS7 etc]# cat freshclam.conf | grep -Ev '^#|^$'
DatabaseDirectory /var/lib/clamav
UpdateLogFile  /usr/local/clamav/logs/freshclam.log
PidFile  /usr/local/clamav/pid/freshclam.pid
DatabaseMirror database.clamav.net
Checks 24

Checks 24表示1h检查一次,一天24h,默认是2h检查一次病毒库更新没,更新了就直接拉取到本地。
DatabaseDirectory指定使用freshman命令下载的病毒库存放位置。
image

image

创建clamav用户

groupadd clamav

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

image

更改目录权限:

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

image

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

软连接:

[root@CentOS7 ~]# # 软链接源文件要使用绝对路径
[root@CentOS7 ~]# ln -s /usr/local/clamav/etc/freshclam.conf  /usr/local/etc/
[root@CentOS7 ~]# ln -s /usr/local/clamav/etc/clamd.conf  /usr/local/etc/

image

再次进行测试:
提示没有病毒库,就需要先使用 生成病毒库或者将离线的病毒库拷贝到这个目录下
image

在线生成病毒库:
image

再次进行测试:
clamd正常运行,再打开一个窗口测试clamdscan。
image

image

最后将freshclam和clamd交给systemd进行托管,freshclam用于定时更新病毒库,当 clamd 守护进程启动并在后台运行时,它会加载病毒签名数据库到内存中。这使得病毒扫描请求(如通过 clamdscan 命令)能够迅速地与这些内存中的签名进行比较,大大提高了扫描效率。

clamd的systemd文件:

# centos7的systemd文件是放在/usr/lib/systemd/system/
# ubuntu的systemd文件时放在/lib/systemd/system/
vim /usr/lib/systemd/system/c
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇linux主要目录详解 下一篇Linux 主机磁盘繁忙度监控实战she..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目