Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用
在线检测木马病毒的网址:https://www.virustotal.com/gui/home/upload
一、简介
ClamAV(Clam AntiVirus)是Linux平台上的开源病毒扫描程序,主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。
二、安装
安装epel软件源
# 安装
[root@localhost ~]# yum install -y epel-release
# 缓存
[root@localhost ~]# yum clean all && yum makecache
安装clamav程序
[root@localhost ~]# yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
三、配置SELinux
配置ClamAV权限
[root@localhost ~]# setsebool -P antivirus_can_scan_system 1
[root@localhost ~]# setsebool -P clamd_use_jit 1
查看设置结果
[root@localhost ~]# getsebool -a | grep antivirus
antivirus_can_scan_system --> on
antivirus_use_jit --> on
四、配置ClamAV
1.删除示列
[root@localhost ~]# sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
[root@localhost ~]# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
2.编辑配置文件
[root@localhost ~]# vim /etc/clamd.d/scan.conf
3.找到以下行
#LocalSocket /var/run/clamd.scan/clamd.sock
删除#符号并保存您的更改
五、更新病毒库
[root@localhost ~]# freshclam
病毒库保存位置:
/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd
设置定期更新病毒库(可选)
crontab -e
00 01,13 * * * /usr/bin/freshclam --quiet
因为freshclam不是系统服务,可新建如下
# vim /usr/lib/systemd/system/freshclam.service
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 2 #一天更新两次
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
systemctl enable freshclam.service
systemctl start freshclam.service
systemctl status freshclam.service
六、启动Clamd服务
[root@localhost ~]# sudo systemctl start clamd@scan [root@localhost ~]# sudo systemctl enable clamd@scan
七、扫描病毒
clamscan 可用以扫描文件, 用户目录亦或是整个系统:
##扫描文件
[root@localhost ~]# clamscan targetfile
##递归扫描home目录,并且记录日志
[root@localhost ~]# clamscan -r -i /home -l /var/log/clamav.log
##递归扫描home目录,将病毒文件删除,并且记录日志
[root@localhost ~]# clamscan -r -i /home --remove -l /var/log/clamav.log
##扫描指定目录,然后将感染文件移动到指定目录,并记录日志
[root@localhost ~]# clamscan -r -i /home --move=/tmp/clamav -l /var/log/clamav.log
说明:
-r -i 递归扫描目录
-l 指定记录日志文件
--remove 删除病毒文件
--move 移动病毒到指定目录
1.重点扫描目录
clamscan -r -i /etc --max-dir-recursion=5 -l /var/log/clamav-etc.log
clamscan -r -i /bin --max-dir-recursion=5 -l /var/log/clamav-bin.log
clamscan -r -i /usr --max-dir-recursion=5 -l /var/log/clamav-usr.log
clamscan -r -i /var --max-dir-recursion=5 -l /var/log/clamav-var.log
2.扫描报告说明
----------- SCAN SUMMARY -----------
Known viruses: 9141451 #已知病毒
Engine version: 0.102.4 #软件版本
Scanned directories: 498 #扫描目录
Scanned files: 738 #扫描文件
Infected files: 4 #感染文件!!!
Data scanned: 530.25 MB #扫描数据
Data read: 14131.60 MB (ratio 0.04:1) #数据读取
Time: 203.805 sec (3 m 23 s) #扫描用时
3.查看病毒文件
cat /var/log/clamav-bin.log | grep "FOUND"
安装脚本
#!/bin/bash
echo "安装epel-release,yum缓存"
yum install -y epel-release && yum clean all && yum makecache
echo "安装clamav"
yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
echo "配置SELinux中的ClamAV权限"
setsebool -P antivirus_can_scan_system 1 && setsebool -P clamd_use_jit 1 && getsebool -a | grep antivirus
echo "备份配置文件"
cp /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.bak
echo "删除示列"
sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
echo "配置文件添加内容"
echo "LocalSocket /run/clamd.scan/clamd.sock" >> /etc/clamd.d/scan.conf
echo "手动更新病毒库"
freshclam
echo "一天两次自动更新病毒库"
cat >> /usr/lib/systemd/system/freshclam.service << "EOF"
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 2
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable freshclam.service && systemctl start freshclam.service && systemctl status freshclam.service
echo "开机启动,启动服务,查看状态"
systemctl start clamd@scan && systemctl enable clamd@scan && systemctl status clamd@scan
echo "重点扫描目录"
clamscan -r -i /etc --max-dir-recursion=5 -l /var/log/clamav-etc.log
clamscan -r -i /bin --max-dir-recursion=5 -l /var/log/clamav-bin.log
clamscan -r -i /usr --max-dir-recursion=5 -l /var/log/clamav-usr.log
clamscan -r -i /var --max-dir-recursion=5 -l /var/log/clamav-var.log
Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用的更多相关文章
- linux自动交互工具expect,tcl安装和安装包,以及自动互信脚本
linux自动交互工具expect,tcl安装,以及自动互信脚本 工作中需要对几十台服务器做自动互信,无意中发现expect命令,研究一番. 在网上找了许多资料也没有安装成功,摸索着总算成功了.现分享 ...
- Linux 日志分析工具(logwatch)安装及使用
Linux 日志分析工具(logwatch)安装及使用 日志是非常重要的系统文件,管理员每天的重要工作就是分析和查看服务器的日志,判断服务器的健康状态.但是日志管理又是一项非常枯燥的工作,如果需要管理 ...
- linux漏洞扫描工具【lynis】
Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议.这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置. 特征: 漏洞 ...
- 漏洞扫描工具AWVS介绍及安装教程
PS:webug靶场全都通关了,你也就是个合格的新手了. 上次我们在通关webug靶场第三关的时候,提到一个漏洞扫描工具叫做AWVS.这次我们介绍一下它. 1 AWVS漏洞扫描工具 Acunetix ...
- Linux下SSH工具 PAC Manager的安装
PAC Manager, Linux下类似SecureCRT Xshell的SSH工具,该工具功能上相当的不错,完全可以代替SecureCRT Xshell的功能. PAC (Perl Auto Co ...
- linux抓包工具Charles的配置安装
1. 安装 (不赘述,方法很多,我使用yaourt charles安装) 2. 导出证书,crt格式保存备用 3. 浏览器导入证书 4. 浏览器设置代理
- linux C单元测试工具CUnit的编译安装及使用
1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/ (安装包版本为文章做成时2016-05-25的最新版本) https://sourceforge.NET/pro ...
- Linux—主机扫描工具(Nmap)
Nmap包含五项基本功能: 主机探测 (Host Discovery) 端口扫描 (Port Scanning) 版本检测 (Version Detection) 操作系统侦测 (Operating ...
- Linux性能分析工具与图形化方法
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:赵坤|腾讯魔王工作室后台开发工程师 在项目开发中,经常会遇到程序启动时间过长.CPU使用率过高等问题,这个时候需要依靠性能分析工具来 ...
随机推荐
- MIT 6.824 Llab2B Raft之日志复制
书接上文Raft Part A | MIT 6.824 Lab2A Leader Election. 实验准备 实验代码:git://g.csail.mit.edu/6.824-golabs-2021 ...
- Eclipse Ctrl+鼠标左键不能查看源代码
查询当前项目的使用的java包版本. 找到java包相应版本的安装路径. 在 "Source Attachment"对话框下,选择"External location&q ...
- Web || Html_Css_JS
第三阶段课程介绍: web前端 l 数据库 l SpringBoot Web前端-HTML l HTML作用: 负责搭建页面结构和内容 (盖房子) l 学习HTML主要学习的就是有哪些标签 文本相关标 ...
- jdbc 08: statement应用场景
jdbc连接mysql,statement的应用场景 package com.examples.jdbc.o8_statement应用场景; import java.sql.*; import jav ...
- 什么是FastAPI异步框架?(全面了解)
一:FastAPI框架 1.FastAPI是应该用于构建API的现代,快速(高性能)的 web 框架,使用Python 3.6+ 并基于标准的 Python 类型提示. 关键性: 快速: 可与Node ...
- 使用gulp助力前端自动化
前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了.其实并没有,只不过它从台前退居到了幕后.我们仍然可以在很多项目中看到它的身影,比如elementplus. ...
- PostGresql listen与notify命令
LISTEN与NOTIFY命令 PostgreSQL提供了client端和其他client端通过服务器端进行消息通信的机制.这种机制 是通过LISTEN和NOTIFY命令来完成的. 1.LISTEN与 ...
- Linux Shell 自动交互功能
需求背景: 近日,在安装某软件过程,发现在安装过程需要输入一些信息才能继续下一步操作,在机器数量较少情况下,我们可以单台登录上去完成安装操作,但当机器数量超过一定时,如果再手动登录操作,就会产生大 ...
- Spring的Model 和 Map的原理
Model 和 Map 为什么在Model和Map中放值传入后会出现在request的上面. 9.1.源码解析 准备测试代码 @GetMapping("/goto") public ...
- Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink
2021 年 12 月 9 日,SeaTunnel (原名 Waterdrop) 成功加入 Apache 孵化器,进入孵化器后,SeaTunnel 社区花费了大量时间来梳理整个项目的外部依赖以确保整个 ...