linux系统常作为服务器系统,已安全著称,但是随着市场占有量的增大,慢慢的linux病毒也还是增多,而对于病毒,一般都是管理员手动分析进行查杀,除了手动分析查杀病毒外,还可以借助杀毒软件进行查杀,就像windows都有杀毒软件一样,liunx的杀毒软件也是有的,但基本上都是开源的小工具,由于本身linux服务器的病毒就较少,且相对windows更难以入侵,所以专门的Linux杀毒软件较少,专门研发linux杀毒软件或病毒的人就更少了,所以,linux上通常杀毒手段就是一个精通linux安全的系统管理员。
但是,随着linux服务器在市场上的占用率的飙升,正对linux系统的病毒也开始增加了,所以,我们还是使用更为专业的杀毒软件,这里选择开源的ClamAV 杀毒软件。
PS: 在网上的文档,总是各种步骤一大堆,又要改配置这的那的,其实没必要那么麻烦,直接用yum安装的话,会自动创建很多东西,而我们只是利用其扫描功能,只要可以更新病毒库,可以进行扫描就可以了。下面就是最简单,最小化的使用。不开启clamavd放病毒服务,而是只是当作病毒扫描工具来使用。
” ClamAV “
安装部署与使用:
# 更新epel仓库源,yum下载clamav
$ yum -yinstallepel-release$ yuminstall–y clamav clamav-update
# 更新病毒库
$ freshclam
# 扫描病毒
$ clamscan –ri / -l clamscan.log --remove# 这里递归扫描根目录 / ,发现感染文件立即删除# -r 递归扫面子文件# –i 只显示被感染的文件# -l 指定日志文件# --remove 删除被感染文件# --move隔离被感染文件
# 在扫描完成后,会打印出扫描结果,如:
-----------SCANSUMMARY-----------Known viruses:6490986Engine version:0.99.4Scanned directories:20172Scanned files:72378Infected files:0# 被感染的文件数Total errors:23809Data scanned:4067.18 MBData read:4244.65 MB(ratio0.96:1)Time:1343.190 sec(22m23s)
# 这样一次病毒扫描就完成了,然后我们可以将其作为计划任务,每天深夜进行病毒扫描,并打印日志,然后如果扫描到了病毒,就发送邮件给管理员,然后管理员手动进行一定的病毒分析然后再杀毒。
# 将扫描程序写成脚本
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
importsocket
importos
importre
classClamAV(object):
## 这里填入自己的远程smtp服务。利用第三方smtp服务进行邮件发送。
def__init__(self):
self.HOST ="smtp.exmail.qq.com"
self.PORT ="465"
self.USER ='[email protected]'
self.PASSWD ='xxxxxx'
self.TO ="[email protected]"
defclamscan(self):
os.system('freshclam')
os.system('clamscan -ri /tmp > /tmp/clamscan.log')
withopen('/tmp/clamscan.log','r', encoding='utf-8')asf:
a = f.read()
result = re.findall('Infected files:.*', a)
ifresult:
number = result[0].split(':')[1].strip()
ifnumber !='0':
self.sendmail('Infected files:%s。有文件感染,请手动检查,查杀病毒。'%number)
else:
self.sendmail('扫描脚本有误,请检查')
defsendmail(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 Result Warning','utf-8')
smtp.sendmail(self.USER, self.TO, message.as_string())
smtp.quit()
clam = ClamAV()
clam.clamscan()
# 设为定时任务,每天凌晨4点执行扫描
$ vim /etc/crontab00 4 * * *root{local-path}/clamsacn.py
OK。 到此就完成了