前言
在最近工作中,遇到了服务器中存在病毒的情况,需要对服务器进行杀毒,这里记录下以备后用
Clam AntiVirus是免费而且开放源代码的杀毒软件,软件与病毒码的更新皆由社群发布。
使用步骤
安装 ClamAV
默认情况下 ClamAV 并没有预装在CentOS的软件仓库中。我们必须通过陆续运行yum命令来添加额外的软件库。
sudo yum -y install epel-release
sudo yum clean all
在CentOS 7上安装 ClamAV
sudo yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
配置 SELinux (如果未启用可以不配置)
SELinux是一种安全措施,旨在保护对某些文件的更改。如果你想在启用SELinux内核模块的情况下使用ClamAV则需要额外的配置。否则ClamAV将无法读取你的文件的某些部分。
只有当你的服务器启用了SELinux,配置SELinux才是必要的。在Hostinger VPS计划中,它默认是禁用的。
为了检查你的服务器是否启用了 SELinux 请使用命令sestatus。
配置SELinux执行以下命令:
sudo setsebool -P antivirus_can_scan_system 1
sudo setsebool -P clamd_use_jit 1
检查是否生效
sudo getsebool -a | grep antivirus
得到以下显示
antivirus_can_scan_system --> on
antivirus_use_jit --> on
配置 ClamAV
启用ClamAV配置之前,你需要从配置文件中删除Example字符串
sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
编辑配置文件
vi /etc/clamd.d/scan.conf
找到
#LocalSocket /var/run/clamd.scan/clamd.sock
删除 #
注释
从ClamAV的freshclam更新引擎配置文件中删除Example字符串
sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
更新病毒库
freshclam
最后,启动Clamd服务并在启动时运行它
systemctl start clamd@scan #启动
systemctl enable clamd@scan #设置开机启动
扫描杀毒
clamdscan:
一般用yum安装才能使用,需要启动clamd服务,执行速度快;
用clamdscan扫描,需要开始服务才能使用。速度快,不用带-r,默认会递归扫描子目录
clamdscan /usr
clamscan:
通用,不依赖服务,命令参数较多,执行速度稍慢;
用clamscan扫描,不需要开始服务就能使用;
-r 递归扫描子目录
-i 只显示发现的病毒文件
--no-summary 不显示统计信息
扫描参数:
-r/--recursive[=yes/no] 所有文件
--log=FILE/-l FILE 增加扫描报告
--move [路径] 移动病毒文件至..
--remove [路径] 删除病毒文件
--quiet 只输出错误消息
--infected/-i 只输出感染文件
--suppress-ok-results/-o 跳过扫描OK的文件
--bell 扫描到病毒文件发出警报声音
--unzip(unrar) 解压压缩文件扫描
示例:
#扫描所有文件并且显示有问题的文件的扫描结果
clamscan -r --bell -i /
#只显示找到的病毒信息
clamscan --no-summary -ri /tmp
#扫描home
clamscan --infected --remove --recursive /home
定时杀毒
编辑cron定时任务
crontab -e
1 3 * * * /usr/bin/freshclam –quiet #更新病毒库
20 3 * * * /usr/bin/clamscan -r /home --remove -l /var/log/clamscan.log #扫描病毒