linux病毒扫描并输出报告
程序员文章站
2022-05-27 13:31:42
...
一、概念
linux的病毒检测工具
文章目录
二、安装方式
1、下载文件
wget https://www.clamav.net/downloads/production/clamav-0.101.1.tar.gz
2、解压
tar -zxvf clamav-0.101.1.tar.gz -C /opt #目录可自定义,我这里是opt
3、安装依赖
yum -y install libxml2 libxml2-devel openssl*
yum -y install c++ gcc-c++
4、编译安装
cd /usr/local/clamav-0.101.1/
./configure && make && make check && make
三、配置(无脑复制即可)
复制freshclam示例配置
cp /usr/local/etc/freshclam.conf.sample /usr/local/etc/freshclam.conf
sed -i "s/^Example/# Example/" /usr/local/etc/freshclam.conf
sed -i "s/#LogTime/LogTime/" /usr/local/etc/freshclam.conf
sed -i "s/#LogRotate/LogRotate/" /usr/local/etc/freshclam.conf
sed -i "s/#NotifyClamd \/path\/to\/clamd.conf/NotifyClamd \/usr\/local\/etc\/clamd.conf/" /usr/local/etc/freshclam.conf
sed -i "s/#DatabaseOwne/DatabaseOwne/" /usr/local/etc/freshclam.conf
创建数据库目录
mkdir /usr/local/share/clamav
复制clamd 配置(可选)
cp /usr/local/etc/clamd.conf.sample /usr/local/etc/clamd.conf
sed -i "s/^Example/# Example/" /usr/local/etc/clamd.conf
sed -i "s/#TCPSocket/TCPSocket/" /usr/local/etc/clamd.conf
sed -i "s/#LogTime/LogTime/" /usr/local/etc/clamd.conf
sed -i "s/#LogClean/LogClean/" /usr/local/etc/clamd.conf
sed -i "s/#LogRotate/LogRotate/" /usr/local/etc/clamd.conf
sed -i "s/#User/User/" /usr/local/etc/clamd.conf #这一步的用户是clamav用户,
sed -i "s/#ScanOnAccess/ScanOnAccess/" /usr/local/etc/clamd.conf
sed -i "s/#OnAccessIncludePath \/home/OnAccessIncludePath \/home/" /usr/local/etc/clamd.conf
sed -i "s/#OnAccessExcludePath \/home\/bofh/OnAccessExcludePath \/home\/bofh/" /usr/local/etc/clamd.conf
sed -i "s/#OnAccessPrevention/OnAccessPrevention/" /usr/local/etc/clamd.conf
创建用户
groupadd clamav
useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav
chown -R clamav:clamav /usr/local/share/clamav #最后设置数据库目录的用户所有权
下载/更新签名数据库
freshclam
四、clamscan用法:
1、语法
clamscan 参数 检测的目录
2、选项
是否常用 | 参数 | 释义 |
---|---|---|
是 | clamscan --help | 查看帮助 |
是 | –log=FILE 将扫描报告保存到FILE | |
是 | -r | 递归扫描,即扫描指定目录下的子目录 |
是 | –copy=DIRECTORY | 将受感染的文件复制到DIRECTORY中 |
是 | -i | 仅仅打印被感染的文件 |
是 | –quiet | 仅输出错误消息 |
–official-db-only[=yes/no(*)] | 只加载官方签名 | |
–max-filesize=#n | 将跳过大于此的文件并假定为干净 | |
–max-scansize=#n | 要扫描每个容器文件的最大数据量 | |
–leave-temps[=yes/no(*)] | 不要删除临时文件 | |
–file-list=FILE | 从文件中扫描文件 | |
–bell | 病毒检测的响铃 | |
–cross-fs[=yes(*)/no] | 扫描其他文件系统上的文件和目录 | |
–bytecode-timeout=N | 设置字节码超时(以毫秒为单位) | |
–heuristic-alerts[=yes(*)/no] | 切换启发式警报 | |
–alert-encrypted[=yes/no(*)] | 警告加密档案和文件 | |
–nocerts | 在PE文件中禁用authenticode证书链验证 | |
–disable-cache | 禁用缓存和缓存检查扫描文件的哈希值 | |
-d <文件> | 以指定的文件作为病毒库,一代替默认的/var/clamav目录下的病毒库文件 | |
-l <文件> | 指定日志文件,以代替默认的/var/log/clamav/freshclam.log文件 | |
–move=<目录> | 把感染病毒的文件移动到指定目录 | |
–remove | 删除感染病毒的文件 |
五、示例
1、检查opt及子目录所有文件,并输出到指定文件
clamscan -r /opt/ --log=/tmp/2021-12-17-clamscan-check_log
2、扫描某个文件
clamscan /opt/a.sh