linux系統(tǒng)常作為服務(wù)器系統(tǒng)切威,已安全著稱,但是隨著市場占有量的增大丙号,慢慢的linux病毒也還是增多先朦,而對于病毒缰冤,一般都是管理員手動分析進(jìn)行查殺,除了手動分析查殺病毒外喳魏,還可以借助殺毒軟件進(jìn)行查殺棉浸,就像windows都有殺毒軟件一樣,liunx的殺毒軟件也是有的截酷,但基本上都是開源的小工具涮拗,由于本身linux服務(wù)器的病毒就較少乾戏,且相對windows更難以入侵迂苛,所以專門的Linux殺毒軟件較少,專門研發(fā)linux殺毒軟件或病毒的人就更少了鼓择,所以三幻,linux上通常殺毒手段就是一個精通linux安全的系統(tǒng)管理員。
???????? 但是呐能,隨著linux服務(wù)器在市場上的占用率的飆升念搬,正對linux系統(tǒng)的病毒也開始增加了,所以摆出,我們還是使用更為專業(yè)的殺毒軟件朗徊,這里選擇開源的ClamAV 殺毒軟件。
PS: 在網(wǎng)上的文檔偎漫,總是各種步驟一大堆爷恳,又要改配置這的那的,其實(shí)沒必要那么麻煩象踊,直接用yum安裝的話温亲,會自動創(chuàng)建很多東西,而我們只是利用其掃描功能杯矩,只要可以更新病毒庫栈虚,可以進(jìn)行掃描就可以了。下面就是最簡單史隆,最小化的使用魂务。不開啟clamavd放病毒服務(wù),而是只是當(dāng)作病毒掃描工具來使用泌射。
” ClamAV “
安裝部署與使用:
# 更新epel倉庫源粘姜,yum下載clamav
$ yum -yinstallepel-release$ yuminstall–y clamav clamav-update
# 更新病毒庫
$ freshclam
# 掃描病毒
$ clamscan –ri / -l clamscan.log --remove# 這里遞歸掃描根目錄 / ,發(fā)現(xiàn)感染文件立即刪除# -r 遞歸掃面子文件# –i 只顯示被感染的文件# -l 指定日志文件# --remove 刪除被感染文件# --move隔離被感染文件
# 在掃描完成后魄幕,會打印出掃描結(jié)果相艇,如:
-----------SCANSUMMARY-----------Known viruses:6490986Engine version:0.99.4Scanned directories:20172Scanned files:72378Infected files:0# 被感染的文件數(shù)Total errors:23809Data scanned:4067.18 MBData read:4244.65 MB(ratio0.96:1)Time:1343.190 sec(22m23s)
# 這樣一次病毒掃描就完成了,然后我們可以將其作為計(jì)劃任務(wù)纯陨,每天深夜進(jìn)行病毒掃描坛芽,并打印日志留储,然后如果掃描到了病毒,就發(fā)送郵件給管理員咙轩,然后管理員手動進(jìn)行一定的病毒分析然后再殺毒获讳。
# 將掃描程序?qū)懗赡_本
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
importsocket
importos
importre
classClamAV(object):
## 這里填入自己的遠(yuǎn)程smtp服務(wù)。利用第三方smtp服務(wù)進(jìn)行郵件發(fā)送活喊。
def__init__(self):
self.HOST ="smtp.exmail.qq.com"
self.PORT ="465"
self.USER ='xxx@xxxx.com'
self.PASSWD ='xxxxxx'
self.TO ="xxxxxxxxx@xx.com"
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()
# 設(shè)為定時(shí)任務(wù)煞烫,每天凌晨4點(diǎn)執(zhí)行掃描
$ vim /etc/crontab00 4 * * *root{local-path}/clamsacn.py
OK浑此。 到此就完成了