Linux 杀毒软件ClamAV安装部署
环境说明
系统安全需求,批量安装免费杀毒软件;
操作系统统一为CentOS 7 x64,在此选择免费开源杀毒软件ClamAV;
两种安装方式
1.yum 安装;
2.源码包编译安装;
安装参考网址:
https://www.clamav.net/documents/upgrading-clamav
https://github.com/vrtadmin/clamav-faq/raw/master/manual/clamdoc.pdf
方案1:yum安装
安装后自动生成服务文件,启动服务后,可使用clamdscan命令扫描,速度快;
启动服务后,会实时监控扫描链接,安全性高,但是对服务器性能有一定影响;
安装命令
yum install -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd \
clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openssl
安装完成后,病毒库默认地址是/var/lib/clamav;
#此方式相对简单,在此不做过多介绍,详细操作见源码包安装以及后续使用操作;
方案2:源码包编译安装
1)下载安装包;
2)创建clamav用户和存放病毒库路径;
3)解压安装包;
4)安装依赖;
5)编译安装;
6)配置clamav;
7)启动clamav;
8)更新病毒库;
9)扫描杀毒;
10)定时杀毒;
安装包下载地址
cd /usr/local/
https://www.clamav.net/downloads #或者直接下载
wget https://www.clamav.net/downloads/production/clamav-0.101.4.tar.gz
安装依赖
yum install gcc* openssl openssl-devel -y
clamav 用户和用户组
useradd -s /sbin/nologin -M clamav clamav && id clamav
日志存放目录
mkdir -p /usr/local/clamav/logs
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
chown clamav:clamav /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/logs/freshclam.log
病毒存放目录
mkdir -p /usr/local/clamav/update
chown -R root:clamav /usr/local/clamav/
chown -R clamav:clamav /usr/local/clamav/update
解压安装
tar zxf clamav-0.101.4.tar.gz
cd clamav-0.101.4
cd /usr/local/clamav-0.101.4
./configure --prefix=/usr/local/clamav --with-pcre
make && make install
配置clamav
cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf
vim clamd.conf
#注销Example 一行
#Example
#添加配置项
LogFile /usr/local/clamav/logs/clamd.log
PidFile /usr/local/clamav/update/clamd.pid
DatabaseDirectory /usr/local/clamav/update
cd /usr/local/clamav/etc
vim freshclam.conf
#注销Example 一行
#Example
#添加配置项
DatabaseDirectory /usr/local/clamav/update
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/update/clamd.pid
启动clamav
chown -R clamav:clamav /usr/local/clamav
systemctl start clamav-freshclam.service
systemctl enable clamav-freshclam.service
systemctl status clamav-freshclam.service
停止freshclam
systemctl stop clamav-freshclam.service
更新病毒库,耗时根据网络质量而定
/usr/local/clamav/bin/freshclam
下载病毒库到存储目录,更新
cd /usr/local/clamav/update/
wget http://database.clamav.net/main.cvd
wget http://database.clamav.net/daily.cvd
wget http://database.clamav.net/bytecode.cvd
更新完成后,病毒库存放路径下生成四个病毒库文件
cd /usr/local/clamav/update/
bytecode.cvd daily.cvd main.cvd mirrors.dat
为扫描操作可执行文件创建软连接
ln -s /usr/local/clamav/bin/clamscan /usr/local/sbin/clamscan
注意:
若手动更新病毒库报错,需要进入病毒库存放路径,删除旧的镜像地址文件,重新手动更新;
rm -f /usr/local/clamav/update/mirrors.dat
或者删除所有病毒库文件,重新更新
rm -rf /usr/local/clamav/update/*
扫描杀毒-命令参数
1)clamdscan
通常使用yum安装才能使用此扫描操作,需要启动clamd服务,扫描速度快;
若不使用-r 参数指定路径,默认递归扫描子目录;
clamdscan /usr
2)clamscan
通用命令,不依赖其他服务(例如clamd),命令参数多,执行速度慢;
-r/--recursive[=yes/no] 递归扫描子目录,所有文件;
-i 只显示发现的病毒文件;
--no-summary 不显示统计信息;
--log=FILE/ -l FILE 增加扫描报告,即输出扫描日志到指定文件;
--move [路径] 移动病毒文件到指定路径;
--remove [路径] 删除指定路径下的病毒文件;
--quiet 只输出错误信息;
--infected/-i 只输出被感染文件;
--suppress-ok-results/-o 跳过扫描OK的文件;
--bell 扫描到病毒文件发出警报声音;
--unzip(unrar) 解压压缩文件执行扫描;
示例:
#从根目录下开始,扫描所有文件并且只显示有问题的文件,发现病毒文件发出警报声音
clamscan -r --bell -i /
#不显示统计信息,只显示找到的病毒文件,且将病毒文件移动到/tmp路径下;
clamscan --no-summary -ri /tmp
#扫描home路径以及其路径下所有子目录,只输出被感染文件,且将病毒文件、被感染文件直接删除;
clamscan --infected --remove --recursive /home
定时杀毒
#定制任务计划,凌晨3:00开始更新病毒库,3:30开始杀毒,扫描/home目录以及子目录文件,将扫描出来的病毒文件直接删除,并保存杀毒日志
crontab -e
0 3 /usr/local/clamav/bin/freshclam --quiet
30 3 /usr/local/clamav/bin/clamscan -r /home/ --remove -l /var/log/clamscan.log clamscan -ri --log=/var/log/clamav/clamav.log
注意:安装版本如果是0.102.2需要注意如下事项
要求
On-Access仅在Linux系统上可用。在Linux上,On-Access需要一个kernel version >= 3.8。这是因为它利用称为fanotify的内核api 来阻止进程尝试访问恶意文件。这种预防措施发生在内核空间中,因此比纯用户空间解决方案提供了更强大的保护。
对于版本> = 0.102.0
它还需要Curl version >= 7.45 确保支持clamonacc使用的所有卷曲选项。打包了较旧版本的libcurl的Linux操作系统上的用户有许多选择:
• 等待您的软件包维护者提供更高版本的libcurl。
• 从源安装更高版本的libcurl 。
• 禁用clamonacc带有./configure标志的安装和读写扫描功能--disable-clamonacc。
至此部署完成
Linux 杀毒软件ClamAV安装部署的更多相关文章
- linux杀毒软件clamav安装与使用
#clamav安装与使用 ###第一步:Clamav下载http://www.clamav.net/downloads wget http://www.clamav.net/downloads/pro ...
- Linux系统批量化安装部署之Cobbler
说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...
- 使用光盘iso实现Linux操作系统的自动安装部署
前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装.如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kicks ...
- Dell Omsa在Linux服务器上安装部署
前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 ...
- 免费开源的客服系统 Linux 服务器环境安装部署过程
最近因为项目需要,要找一款在线客服系统集成在 APP 中使用,而且涉及到生意开单,客服系统必须稳定可靠.另外甲方要求,必须支持 Linux 服务器环境. 我们以 Ubuntu 18.04 为例把安装部 ...
- Linux下单机安装部署kafka及代码实现
技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...
- linux杀毒软件ClamAV的安装使用
1.安装依赖环境 yum install -y zlib openssl-devel yum groupinstall -y "Development Tools" apt ins ...
- ActiveMQ_Windows和Linux版本的安装部署
1, 保证电脑上安装了jdk6以上版本的java,并配置了好环境变量 : 2, 官方下载地址:http://activemq.apache.org/download-archives.html ,这里 ...
- linux下docker安装部署项目(全)
一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2. 配置系统 1.2.1 在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...
随机推荐
- js+canvas画随机4位验证码
啥都不说了,复制代码吧!!! <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- golang 内置print/println、fmt、log的区别
fmt.Println与fmt.Print区别 换行区别不用多说,另外一个区别在于fmt.Print只有在参数间都不是字符串时才会产生间隔 fmt与log的重要区别 fmt没有做同步处理 fmt标准输 ...
- 用笛卡尔积来创建一千六百万大表 整体19分钟 大表建成两分钟 设置id13分钟
昨天拙文中讲述了用自增方式创建一千六百万大表的方案,这回讨论的是用笛卡儿积,实践证明这种方案更快. 2020年3月15日08点58分实验开始 创建仅有四千数据的tb_4thousand1表: SQL& ...
- CentOS 7常用命令
常用命令 文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file ...
- 详解JVM中的内存模型是什么?
强烈推荐 不管是找工作还是提升水平,都建议读一下<深入理解Java虚拟机>这本书,详细讲解了JVM中的内存管理.类加载过程.垃圾回收以及最重要的性能调优实战. 本博客也是参考了这本书,有不 ...
- linux基础:控制台
图形界面切换至命令行界面:ctrl+alt+F1~F6 命令行界面切换至图形界面:startx linux一共有7个运行级别,可查看/etc/inittab文件: 0:停机(记住不要把initdefa ...
- Linux下 ls 命令的高级用法8例
Linux下 ls 命令的高级用法8例 在Linux下,ls这个命令大家肯定太熟悉了,良许相信只要是Linux工程师,每天都会离不开这个命令,而且一天会使用个几百次.但是,除了 ls -l 以外,你还 ...
- bind,call,apply模拟实现
首先,三者第一个参数都为this指向 区别 bind返回的是一个函数体 call和apply会直接执行,但是call参数需要一个一个进行传递,apply的第二个参数是一个数组 实现 bind 简单实现 ...
- 喵的Unity游戏开发之路 - 多场景:场景加载
如果丢失格式.图片或视频,请查看原文:https://mp.weixin.qq.com/s/RDVMg6l41uc2IHBsscc0cQ 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始 ...
- VSM
好吧,在被这个算法折腾了许多天之后,我终于对它竖起了中指.这几天的经历让我明白了一个道理:对于数学基础不好的人来说,对待图形学最好远观不可亵玩焉:如果坚持硬闯却又碰巧E文不咋地,那受罪程度真叫人生不如 ...