centos7安装clamAV进行病毒扫描查杀

centos7安装clamAV进行病毒扫描查杀

ClamAV简介

随着linux服务器在市场上的占用率的飙升,正对linux系统的病毒也开始增加了,所以,我们还是使用更为专业的杀毒软件,这里选择开源的ClamAV 杀毒软件。

PS: 在网上的文档,总是各种步骤一大堆,又要改配置这的那的,其实没必要那么麻烦,直接用yum安装的话,会自动创建很多东西,而我们只是利用其扫描功能,只要可以更新病毒库,可以进行扫描就可以了。下面就是最简单,最小化的使用。不开启clamavd放病毒服务,而是只是当作病毒扫描工具来使用。

安装部署与使用

更新epel仓库源,yum下载clamav

$ yum -y install epel-release
$ yum install –y clamav clamav-update

至此安装完毕

更新病毒库

$ freshclam

扫描病毒

$ clamscan –ri / -l clamscan.log --remove     
# 这里递归扫描根目录 / ,发现感染文件立即删除
# -r 递归扫面子文件
# –i 只显示被感染的文件
# -l 指定日志文件
# --remove 删除被感染文件
# --move隔离被感染文件

扫描结果

----------- SCAN SUMMARY -----------
Known viruses: 6720820
Engine version: 0.100.2
Scanned directories: 10384
Scanned files: 38893
Infected files: 0  #被感染的文件数
Total errors: 10198
Data scanned: 2717.69 MB
Data read: 1911.64 MB (ratio 1.42:1)
Time: 337.149 sec (5 m 37 s)
Data read: 4244.65 MB (ratio 0.96:1)
Time: 1343.190 sec (22 m 23 s)

这样一次病毒扫描就完成了,然后我们可以将其作为计划任务,每天深夜进行病毒扫描,并打印日志,然后如果扫描到了病毒,就发送邮件给管理员,然后管理员手动进行一定的病毒分析然后再杀毒。

将扫描程序写成脚本 clamsacn.py

#coding:utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import socket
import os
import re
import io
import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding) 
 
class ClamAV(object):
    def __init__(self):
        self.HOST = "smtp.qq.com"  
        self.PORT = "465"
        self.USER = '[email protected]'
        self.PASSWD = 'xx' #QQ邮箱独立验证码
        self.TO = "[email protected]"
 
    def clamscan(self):
        os.system('freshclam')
        os.system('clamscan -ri /tmp  > /tmp/clamscan.log')
        with io.open('/tmp/clamscan.log', 'r', encoding='utf-8') as f:    
          a = f.read()
 
        result = re.findall('Infected files:.*', a)
        if result:
            number = result[0].split(':')[1].strip()
            if number != '0':
             self.sendmail('Infected files:%s。有文件感染,请手动检查,查杀病毒。' %number)
        else:
            self.sendmail('扫描脚本有误,请检查')
 
    def sendmail(self,content):
        ipaddr = socket.gethostbyname(socket.gethostname())
 
        smtp = smtplib.SMTP_SSL(self.HOST, self.PORT)
        smtp.ehlo()
        smtp.login(self.USER, self.PASSWD)
 
        TEXT = """IP: %s\nContent: %s""" %(ipaddr,content)
        message = MIMEText(TEXT, 'plain', 'utf-8')
        message['From'] = self.USER
        message['To'] = self.TO
        message['Subject'] = Header('Clamscan Linux 服务器病毒报警', 'utf-8')
 
        smtp.sendmail(self.USER, self.TO, message.as_string())
        smtp.quit()
 
 
clam = ClamAV()
clam.clamscan()

设为定时任务,每天凌晨4点执行扫描

$ vim /etc/crontab
或者
$ crontab -e

00 4 * * * root python  /root/clamsacn.py  
#每天凌晨4点以root用户执行

到此就完成了。

转载于:https://my.oschina.net/u/3970844/blog/2981036

你可能感兴趣的:(centos7安装clamAV进行病毒扫描查杀)