【ClamAV】Linux系統(tǒng)開源殺毒軟件ClamAV的安裝

Linux作為一個(gè)開源的操作系統(tǒng)鳍咱,很多人普遍認(rèn)為沒有病毒嘴秸,所以很多企業(yè)的服務(wù)器要么只使用了物理防火墻或軟件防火墻伺帘,要么為了性能直接裸奔凑队,其實(shí)Linux系統(tǒng)的病毒較少则果,但是并不意味著病毒免疫,尤其是對于諸如郵件或者歸檔文件中夾雜的病毒往往更加難以防范漩氨,況且很多企業(yè)的服務(wù)器都是基于Linux短条,所以為了防范不法分子的入侵,我們還是要安裝殺毒軟件才菠,并且不定期進(jìn)行查殺病毒

目錄

  • 一茸时、安裝環(huán)境
  • 二、搭建步驟
  • 三赋访、常用命令總結(jié)
  • 四可都、遇到的問題
  • 五、定時(shí)查殺病毒
  • 六蚓耽、參考并致謝

一渠牲、安裝環(huán)境

操作系統(tǒng):CentOS 7
應(yīng)用軟件:ClamAV

二、搭建步驟

yum方式和RPM方式任選一種

1步悠、yum方式安裝
1)使用以下命令將依賴和主安裝包都下載安裝上
[root@localhost ~]# yum install clamav  clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openssl

說明: 這種方法安裝吼签杈,病毒庫默認(rèn)地址是:/var/lib/clamav

此時(shí)ClamAV已經(jīng)安裝完成

2、rpm方式安裝
1)下載軟件包
#官網(wǎng)地址:
    http://www.clamav.net/downloads   
#Linux中下載地址:
    wget http://www.clamav.net/downloads/production/clamav-0.100.0.tar.gz
#參考文檔:
    https://github.com/vrtadmin/clamav-faq/raw/master/manual/clamdoc.pdf
2)創(chuàng)建clamav用戶和存放病毒庫目錄
# clamav用戶和用戶組
[root@localhost ~]# groupadd clamav && useradd -g clamav clamav && id clamav
# 日志存放目錄
[root@localhost ~]# mkdir -p /usr/local/clamav/logs     
[root@localhost ~]# touch /usr/local/clamav/logs/clamd.log
[root@localhost ~]# touch /usr/local/clamav/logs/freshclam.log
[root@localhost ~]# chown clamav.clamav /usr/local/clamav/logs/clamd.log
[root@localhost ~]# chown clamav.clamav /usr/local/clamav/logs/freshclam.log

# 病毒存放目錄
[root@localhost ~]# mkdir -p /usr/local/clamav/updata
[root@localhost ~]# chown -R root.clamav /usr/local/clamav/
[root@localhost ~]# chown -R clamav.clamav /usr/local/clamav/updata/
3)解壓安裝包

包名的XXXX只是代表版本號鼎兽,命令僅供參考

[root@localhost ~]# tar zxvf clamav-xxxxx.tar.gz
4)安裝依賴
[root@localhost ~]# yum install gcc openssl openssl-devel -y
5)編譯安裝
[root@localhost ~]# cd clamav-xxxxx/  
[root@localhost ~]# ./configure --prefix=/usr/local/clamav --with-pcre  
[root@localhost ~]# make && make install 
[root@localhost ~]#  echo $?

此時(shí)ClamAV已經(jīng)安裝完成

3答姥、修改配置文件clam.conf

如果是yum方式安裝的話,配置文件都會在/etc目錄下谚咬,不用做以下復(fù)制模板操作鹦付,同時(shí)yum方式安裝的配置文件名稱是scan.conf

# rpm安裝方式需要復(fù)制模板配置文件
[root@localhost ~]# cd /usr/local/clamav/etc  
[root@localhost ~]# cp clamd.conf.sample clamd.conf  
[root@localhost ~]# cp freshclam.conf.sample freshclam.conf

打開clamd.conf配置文件

[root@localhost ~]# vim clamd.conf 
或者  
[root@localhost ~]# vim scan.conf

注釋掉#Example
并打開配置(路徑可根據(jù)需要修改,這里使用yum安裝的默認(rèn)路徑)

LogFile /var/log/clamd.scan    
PidFile /var/run/clamd.scan/clamd.pid     
DatabaseDirectory /var/lib/clamav

然后找到以下配置進(jìn)行修改:
一般情況下只是去掉注釋的更改择卦,使用yum方式安裝的話配置文件中的配置基本都是可用的

DatabaseDirectory /var/lib/clamav  

# 這里定義服務(wù)器類型(本地或者TCP敲长,如果定義為使用本地socket則將此注釋打開)
LocalSocket /var/run/clamd.scan/clamd.sock

# 這里定義服務(wù)器類型(本地或者TCP,如果定義為使用TCP socket則將此注釋打開)
TCPSocket 3310  

TCPAddr 127.0.0.1

4秉继、修改配置文件freshclam.conf

[root@localhost ~]# vim /etc/freshclam.conf

同樣將Excemple注釋掉

三祈噪、常用命令總結(jié)

1、啟動(dòng)尚辑、關(guān)閉辑鲤、查看狀態(tài)
# 啟動(dòng)服務(wù)
[root@localhost ~]# systemctl start clamd@scan.server  
# 關(guān)閉服務(wù)  
[root@localhost ~]# systemctl stop clamd@scan.server  
# 查看服務(wù)狀態(tài)
[root@localhost ~]# systemctl status clamd@scan.server 
2、掃描殺毒
1腌巾、clamdscan命令
  • 一般是使用yum安裝才能使用遂填,需要啟動(dòng)clamd服務(wù)铲觉,執(zhí)行速度較快澈蝙,默認(rèn)會遞歸掃描子目錄
[root@localhost ~]# clamdscan /home
2吓坚、clamscan命令
  • 通用,不依賴服務(wù)(不需要開啟服務(wù)也能用)灯荧,命令參數(shù)較多礁击,執(zhí)行速度慢
-r/--recursive[=yes/no]             所有文件
--log=FILE/-l FILE        增加掃描報(bào)告
--move [路徑]          移動(dòng)病毒文件至..
--remove [路徑]              刪除病毒文件
--quiet                  只輸出錯(cuò)誤消息
--infected/-i                       只輸出感染文件
--suppress-ok-results/-o                   跳過掃描OK的文件
--bell                         掃描到病毒文件發(fā)出警報(bào)聲音
--unzip(unrar)                 解壓壓縮文件掃描

例:

clamscan -ri --log=/home/clamav.log /home

掃描結(jié)果如下

2、更新病毒庫
1逗载、 手動(dòng)更病毒庫
[root@localhost ~]# freshclam
2哆窿、自動(dòng)更新病毒庫

freshclam命令通過文件/etc/cron.d/clamav-update來運(yùn)行,改文件內(nèi)容如下:


但默認(rèn)情況下是禁止了自動(dòng)更新功能厉斟,需要移除文件/etc/sysconfig/freshclam配置文件最后一行的配置才能啟用

六挚躯、遇到的問題

1、服務(wù)不能啟動(dòng)擦秽,查看日志發(fā)現(xiàn)報(bào)錯(cuò):Please defind server type (local and/or TCP)

原因: 是在配置文件中沒定義是使用本地的socket還是使用TCP方式的socket
解決方法: 修改scan.conf文件中的配置码荔,如使用本地的socket:


然后再次啟動(dòng):

2、在更新病毒庫時(shí)感挥,出現(xiàn)Can't create temporaty directory xxxx的錯(cuò)誤

解決方法:
一般錯(cuò)誤提示中會給出UID和GID提示缩搅,根據(jù)提示修改權(quán)限


然后再次執(zhí)行更新:

3、手動(dòng)更新時(shí)遇到錯(cuò)誤:Update failed. Your network may be down or none of the mirrors listed in freshclam.conf is working.

解決方法: 將舊的鏡像地址刪掉:

[root@localhost ~]# rm -f /var/lib/clamav/mirrors.dat

然后再次執(zhí)行手動(dòng)更新

4触幼、執(zhí)行clamdscan命令時(shí)出現(xiàn):Permission denied. ERROR

暫未發(fā)現(xiàn)解決方法硼瓣,如果有找到方法的網(wǎng)友麻煩告知一下謝謝

五、定時(shí)查殺病毒

1置谦、直接使用命令+定時(shí)任務(wù)的方式

打開定時(shí)任務(wù)配置文件

[root@localhost ~]# vim crontab

文件內(nèi)配置如下

1  3  * * *  /usr/bin/freshclam --quiet
20 3  * * *  /usr/bin/clamscan  -r /home  --remove -l /var/log/clamscan.log
2堂鲤、使用命令+腳本方式,如果掃描到病毒就發(fā)送郵件給管理員(基于python環(huán)境媒峡,腳本摘于網(wǎng)絡(luò))
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import socket
import os
import re
 
 
class ClamAV(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"
 
    def clamscan(self):
        os.system('freshclam')
        os.system('clamscan -ri /tmp > /tmp/clamscan.log')
        with 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丝蹭。有文件感染慢宗,請手動(dòng)檢查,查殺病毒奔穿。' %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 Result Warning', 'utf-8')
 
        smtp.sendmail(self.USER, self.TO, message.as_string())
        smtp.quit()
 
 
clam = ClamAV()
clam.clamscan()

然后將python腳本設(shè)定為定時(shí)任務(wù)
打開定時(shí)任務(wù)配置文件

[root@localhost ~]# vim crontab

配置文件內(nèi)容如下

00 4 * * * root /home/clamsacn.py

六、參考并致謝

https://blog.csdn.net/weixin_41004350/article/details/80182929

https://www.cnblogs.com/bingo1024/p/9018212.html

http://www.vaerenbergh.com/blog/scan-uploaded-files-drupal-clamav

https://blog.csdn.net/heiby/article/details/52136340

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贱田,一起剝皮案震驚了整個(gè)濱河市缅茉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌男摧,老刑警劉巖蔬墩,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件译打,死亡現(xiàn)場離奇詭異,居然都是意外死亡拇颅,警方通過查閱死者的電腦和手機(jī)奏司,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樟插,“玉大人韵洋,你說我怎么就攤上這事』拼福” “怎么了愚隧?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵掩蛤,是天一觀的道長艾凯。 經(jīng)常有香客問我扣典,道長,這世上最難降的妖魔是什么流强? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任痹届,我火速辦了婚禮,結(jié)果婚禮上煮盼,老公的妹妹穿的比我還像新娘短纵。我一直安慰自己,他們只是感情好僵控,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布香到。 她就那樣靜靜地躺著,像睡著了一般报破。 火紅的嫁衣襯著肌膚如雪悠就。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天充易,我揣著相機(jī)與錄音梗脾,去河邊找鬼。 笑死盹靴,一個(gè)胖子當(dāng)著我的面吹牛炸茧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稿静,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼梭冠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了改备?” 一聲冷哼從身側(cè)響起控漠,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后盐捷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偶翅,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年碉渡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了聚谁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爆价,死狀恐怖垦巴,靈堂內(nèi)的尸體忽然破棺而出媳搪,到底是詐尸還是另有隱情铭段,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布秦爆,位于F島的核電站序愚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏等限。R本人自食惡果不足惜爸吮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望望门。 院中可真熱鬧形娇,春花似錦、人聲如沸筹误。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厨剪。三九已至哄酝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祷膳,已是汗流浹背陶衅。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留直晨,地道東北人搀军。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像勇皇,于是被迫代替她去往敵國和親罩句。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容