![]() |
ClamAV安裝與使用說明-讓你的郵件主機也具有防毒能力
ClamAV安裝與使用說明 適用系統: 因為是使用 tarball 安裝,只要是 Linux 應該都行。 簡介: ClamAV 是在 Linux 上很有名的一套掃毒軟體,只要透過 sendmail 的 milter(mail filter) 機制,就可以把 sendmail 和 ClamAV 綁在一起。當其他 Mail Server 與你自己的 sendmail 建立 SMTP Session 時(就是收信的時候),senamail 會呼叫 ClamAV 來進行掃毒,並視需要進行退信或丟棄該信件。 註:你也可以使用 YUM 來安裝,會方便很多,但這就像 windows 的 "Next"。當凸鎚的時候,你知道怎麼解決嗎? 1.至ClamAV官網下載source code。 http://www.clamav.net/ -> Download -> stable 2.為了安裝clamav-milter,必須要先下載sendmail的source code(看server上裝的是哪一個版本,就下載哪個版本),然後編譯與安裝libmilter。 http://www.sendmail.org/ftp/ cd ./sendmail-8.13.x/libmilter ./Build make install 3.建立所需的使用者、群組,與設定檔、LOG檔所在目錄 useradd clamav (記得把shell改成/sbin/nologin) mkdir /etc/clamav mkdir /var/log/clamav mkdir /var/run/clamav chown clamav.clamav /etc/clamav chown clamav.clamav /var/log/clamav chown clamav.clamav /var/run/clamav chmod 700 /etc/clamav chmod 700 /var/log/clamav chmod 700 /var/run/clamav 4.編譯與安裝clamav與clamav-milter cd ./clamav-0.88.7 ./configure --sysconfdir=/etc/clamav --enable-milter --disable-zlib-vcheck make make install 5.修改clamav的設定檔(/etc/clamav/clamd.conf) #Example LogFile /var/log/clamav/clamd.log LogFileMaxSize 200M LogTime PidFile /var/run/clamav/clamd.pid TemporaryDirectory /tmp DatabaseDirectory /usr/local/share/clamav LocalSocket /var/run/clamav/clamd User clamav AllowSupplementaryGroups 6.修改freshclam的設定檔(/etc/clamav/freshclam.conf) #Example DatabaseDirectory /usr/local/share/clamav UpdateLogFile /var/log/clamav/freshclam.log PidFile /var/run/clamav/freshclam.pid DatabaseOwner clamav AllowSupplementaryGroups DatabaseMirror db.tw.clamav.net 7.修改sendmail.mc,讓sendmail使用clamav-milter 在OSTYPE之後,MAILER之前加入: INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock,F=, T=S:4m;R:4m')dnl define(`confINPUT_MAIL_FILTERS', `clmilter')dnl 要記得重新啟動sendmail。 8.啟動clamd、freshclam、clamav-milter clamd -->chown clamav.clamav /var/log/clamav/clamd.log (不然clamav-milter會無法啟動) freshclam -d(daemon模式) clamav-milter --noreject --local --outgoing --max-children=50 --quiet local:/var/run/clamav/clmilter.sock --pidfile=/var/run/clamav/clmilter.pid 要記得重新啟動sendmail。 9.開機後自動啟用clamav,須修改/etc/rc.local /usr/local/sbin/clamd chown clamav.clamav /var/log/clamav/clamd.log /usr/local/bin/freshclam -d /usr/local/sbin/clamav-milter --noreject --local --outgoing --max-children=50 --quiet local:/var/run/clamav/clmilter.sock --pidfile=/var/run/clamav/clmilter.pid 註: freshclam -d:daemon模式 若是沒有將clamd.log的權限改為clamav使用者可以存取,則clamav-milter會無法啟動。 10.在/etc/logrotate.d/clamav(自己新增這個檔案) /var/log/clamav/freshclam.log /var/log/clamav/clamd.log { missingok create 644 clamav clamav postrotate /bin/kill -HUP `cat /var/run/clamav/clamd.pid 2> /dev/null` 2> /dev/null || true /bin/kill -HUP `cat /var/run/clamav/freshclam.pid 2> /dev/null` 2> /dev/null || true endscript } ============================================================ clamav-milter 常用的啟動參數: --postmaster-only:如果沒有使用 --quiet 的參數,發現有毒的信件,發信通知管理員(postmaster)。 --local:掃瞄由區網送來的信件。 --outgoing:掃瞄由外面送進來的信件。 --max-children=50:可啟動掃毒程序數的上限,如果達上限時會停止一分鐘再繼續。 --noreject:掃瞄到有毒的信件時直接刪除 (discard)。 --quiet:不發出任何警示信件,這個選項會讓 --bounce 和 --postmaster-only 失效。 --pidfile=FILE:指定pid檔案存放的地點。 |
接下來研究 SpamAssassin.........:o
|
我在公司用sendmail+MailScanner
不錯用耶 大家可以用用看 廣告信設定的分數不錯用 |
引用:
喔~~~~ MailScanner 嗎? 小老弟還沒研究到那邊 = =a 目前正在啃 spamassassin 的 manual :o 一次研究一樣,太多了會亂 ^^a 對了,即然 netbird 是使用 sendmail + MailScanner,是否有將 ClamAV 模組也吃進去? MailScanner 可以搭配 clamav 來防毒喔:n3: == 目前的目標: 建立 Sendmail + MailScanner + SpamAssassin + ClamAV + DNSBL + gray-list 的 Anti-Spam Policy (奮鬥中 =.=) |
我是用Sendmail+MailScanner+SpamAssassin+ClamAV+MailScanner-mrtg
再加上自己寫的perl定時,每小時回報mail有q幾封信,結果mail到我的信箱… |
引用:
有好的工作機會我會幫你留意的^^ |
引用:
它的文件好難吃:mecry: |
Top-Level 的文件啃完了,但還是搞不太懂怎麼讓spamassassin和sendmail合作,milter?
|
使用情況
![]() mailq回報內容 ![]() 廣告信效果 ![]() 會在郵件的head加上mailscanner的標籤 ![]() mailscannet-mrtg使用 可以看到mail server的廣告信情形、負載、郵件流量、cpu負載……… http://smtp.wrc.com.tw:888/mailscanner-mrtg/ |
謝謝阿鳥老大囉.... ^^a
花了一個上午的時間啃完官網所有的 manual,總算明白是怎麼回事:o 原來是要用 MailScanner 或是 Procmail,再搭配 spamassassin......=.= 當然也可以用 spamassasin-milter 和 sendmail 合在一起,但這樣好像很危險,因為它一判斷是spam就reject掉了,似乎沒機會救:drtyt76h6 可以請教一下阿鳥老大該怎麼設定: 1.滿5分 ==> 判定為 A 情況 2.滿10分 ==> 判定為 B 情況 top-level 文件裡面沒寫,還是小老弟應該要找 Mail::Spamassassin::Conf? == rules 要自己加嗎:face29: |
奮鬥了一個上午,總算是把 spamassassin 都架起來了 =.=
但因為沒有好好的train過那個bayes algorithm,對於中文信的判讀好像不是很準:decfghi6: 再 train 一段時間看看 = =+ == 接下來開始啃 MailScanner 的 man....... XD |
對於廣告信,我有很多的方案,之前有在cool學園發表過
http://phorum.study-area.org/viewtop...05785864a1f43c 不過好像效率不高,要人工建檔更新,累~~ 所以之後去看了很多人用Spamassassin,再來研究Spamassassin了 研究之下,用mailscanner作主程式,呼叫sendmail,Spamassassin,clamaAV三個程式 我是根據這個網站做的 http://ohaha.ks.edu.tw/mailscanner.htm |
引用:
偶也是在啃這個網站 :n3: (處理spam到火大的時候,直接給它開 spamassassin-milter... XD) == 偶比較好奇的是那個5分、10分:p 看樣子還是只能靠自己了.....:56gtyhu: |
我的mailscanner版本是4.44.6
下面是我的MailScanner.conf一些些相關設定值 超過5分 引用:
引用:
引用:
引用:
引用:
引用:
引用:
引用:
|
![]() 真是豁然開朗,茅塞頓開 原來是在 MailScanner 裡面設定,小老弟還以為是要在 SpamAssassin 裡動手腳呢:o (難怪啃了一個下午的man都找不到 =.=) 對阿鳥老大的崇拜,有如濤濤江水連綿不絕~~~~:face29: 有如黃河氾濫,一發不可收拾~~~~~~:n3: ![]() 來~ 團長香一個~~~:swedcrgg6 :swedcrgg6 :swedcrgg6 |
|
本來想用 tarball 安裝 mailscanner,但是沒想到居然有這麼多的相依套件 =.=
(等偶一個一個裝完可能都民國100年了:decfghi6: ) 引用:
好家在作者有提供速成安裝法: install.sh 根本就是windows 的setup了嘛 XXXXDDDDDDDD 很好用,不過有點小問題,不知道它抓不抓得到偶用 tarball 裝的 clamav =.= 試試看.....不然的話,就要去抓 src.rpm 回來 compile =<>= == 實在是很不想重裝 clamav,milter都設好了說:56gtyhu: 反正 procmail + spamassassin + clamd + clamav-milter + sendmail + dnsbl 好像也不錯,就此打住? 考慮一下XD |
Chin-Wei大大沒用yum套件嗎,FC和RH系列可自動線上安裝新套件
也會自動上網找相依套件裝完 |
引用:
前一陣把手上所有的機子全換成了 CentOS ^^a 很好用,感謝阿鳥老大的推薦 <(_ _)> CentOS 的 yum repo,尤其是 centosplus,真是好用,可以直接把 MySQL 升到 5.0 系列,讓我不用痴痴等待 RHEL 5 上市。但如果時間允許的話,小老弟偏好使用 tarball 安裝:face29: 因為這樣子比較容易掌握狀況,雖然要啃man很累,但是出包的時候通常都可以很快就找到問題;若是用yum,因為太方便,打一個指令就什麼都裝到好了,反而搞不清楚來龍去脈。常常會看到有人在Linux 專業論壇問一些明明manual就有寫的問題,就是因為yum太方便....。結果大家都很會安裝,就是不會trouble shooting = =+ 但是yum又真的很方便,總之小老弟是只有在遇到怪獸級的軟體安裝時(eg. mysql),才會搬出yum repo,在能力範圍內,小老弟偏好使用 tarball 安裝 ^ ^ tarball 才是王道:face29: |
Sendamil+MailScanner+Camav+SpamAssassin 終於裝起來了XD
但是對於MailScanner的設定還不熟悉,先啃完man再來決定要怎麼佈署到server上 http://www.mailscanner.info/MailScanner.conf.index.html http://www.fsl.com/support/MailScann...sion-1.0.5.pdf == 與spam的戰爭,依然持續中 = =+ |
加油
spam只是評分,通常是被呼叫的 #spamassassin -t /tmp/123.txt 像用spamassassin -t指令就可呼叫spam作評分 會出現各評分條件分數 先做一個文字檔在/tmp/123.txt 引用:
引用:
|
感謝阿鳥老大的指導 ^^a
自己啃man學雖然可以掌握到個大概,但大部份的man都寫的很不人性化,都是以作者(hacker)自己的角度來寫說明文件,很多東西都會假設這是你應該要知道的,當遇到不懂的東西就只好自己上google狂查資料 XD 以下這二篇是偶目前看到 "最簡易" 的安裝教學,有需要的版友可參考看看: http://phorum.vbird.org/viewtopic.ph...sassin&start=0 http://cha.homeip.net/blog/archives/...il_mailsc.html == ![]() MailScanner 的 Manual 終於啃完了....:56gtyhu: ![]() 準備把它部署到測試機上test一下,沒問題再部署到正式的機子上:face29: ![]() BUT,man 有幾個地方搞不太懂,可能要再試一下。就是那個: Still Deliver Silent Viruse = no Deliver Cleaned Messages = yes 結果偶測試寄病毒信還是會被discard掉(丟進/dev/null) 不管它,反正不重要XXXXXDDDDDDD |
剛才檢查了一下之前佈署的 sendmail+clamd+clamav-milter+dnsbl+spamassassin
成效還不錯,才二天就discard 掉 5000 千多封spam,掃掉500多封病毒信。 真是無法想像以前是怎麼在沒有anti-spam機制下生存下來的XXXDDDDD |
MailScanner有好幾個相關設定檔要注意的
不允許通過的附件的副檔名-設定檔(可禁止寄公司機密文章檔,ex:doc,pdf,xls....) filename.rules.conf 不允許通過的附件的檔案類型-設定檔(可禁止寄影片檔) filetype.rules.conf 不會被設成廣告信的寄件者名單-(像電子報的) rules/spam.whitelist.rules 這是在MailScanner.conf裡設呼叫的檔案路徑 引用:
spam.lists.conf 多設這幾個,對是不是廣告信,是不是危險檔案,更能一手掌握 |
阿鳥老大真是未卜先知啊:face29:
小老弟剛才在測試的時候,就出了類似的狀況。 偶從自己的server寄出去的信居然被打上 "{這可能是廣告信}" = =+ 再測試寄病毒,果然也是被打上 "{這可能是病毒}"" XXXDDDDD 真是無言........:56gtyhu: 現在正在試看能不能讓 MailScanner 只過濾 Incoming Mail,不過濾Outgoing Mail 但好像不能,只能夠對各別的偵測項目寫白名單 but,項目很多耶:toomuch: 每個都要改白名單啊....XXXXXXXXDDDDDDDDDDD == man 好像說舊版的有類似選項可以用,新版的就取消了,只能改用白名單 |
已經佈署完畢,只剩下最後一點小問題: 貝氏演算法的 database 有辦法合併嗎?
不然每台 mail server 都要各別 train 過,很沒效率。不知有無方法可以將多台 mail server 的 bayes database 整合起來 ^^ hint: NFS + bayes_path ???????? :face29: |
Re:Bayes question
http://article.gmane.org/gmane.mail.....general/60376 引用:
只好乖乖地 train 每台機器 = =+ |
我小公司,一台sendmail就夠用
如果是多台,我會寫shell scripts 用scp指令,每更新一次,就執行一次這個shell scripts,做list檔的同步,這樣就方便多了 (ps:唉~忙公司的電話系統中……) |
引用:
雖然小老弟手上有三台 mail server 要處理,但其實真正重要的也是只有其中一台 另外二台使用率低,不特定去train應該也沒關係:p 總之,決定 bayes_auto_learn 給它 ON :n3: (讓它自動學習:ahhh: ) 阿鳥老大怎麼會在忙電話系統呢?難道是 Service Center:face29: == 原先的目標: Sendamil+MailScanner+Camav+SpamAssassin+DNSBL+gray-list 就剩下一個 gray-list,把這個搞定,小老弟的Anti-Spam戰線就算是完全建立完成了。估計是要從sendmail 的milter 著手,比較麻煩的是在MailScanner把sendmail分成二個Process,不知道針對不同的process是否要套用不同的設定檔?(一個加掛milter、一個不要,不然MailScanner發出去的信可能也會被曙光三百秒......) |
安裝 MailScanner-MRTG 中,但是有些圖形跑不出來 and BOSS 說要偶用一台機器監控全部的server..... XXXXDDDDDD
看了一下 MailScanner-MRTG 的設定檔,有點小複雜;要用一台監控全部似乎不容易,要研究一下。因為小老弟對 SNMP protocol "完全不熟",所以之前是用 Bash + Apache + ACL,自己想辦法work around,硬是用一台機器監控所有的server,包含cpu,ram,load,http線上人數,apache負載,流量等 = =+ 看了看 MailScanner-MRTG 的設定檔,似乎是採用 SNMP 協定取得相關資料,難到接下來要開始啃 SNMP 的 Manual ? == 與spam的奮戰,似乎還不到落幕的時候 = =+ |
那個mailscanner-mrtg有好幾個圖都會預設跑不出東西來,我cpu那個圖是用手動寫一部份出來的,所以要改一些東西,有空我再打出來要改和新增那一些部份吧
最近學校要期未了,要準備期未考…… |
阿鳥老大 ^^
偶找到解決方法囉~ :n3: 在 MailScanner.conf 中,要把 Log 功能開啟: Log Speed = no Log Spam = no Log Silent Viruses = no ------------------------- 在 /etc/snmp/snmp.conf 中,要修改下列幾行(改成跟下面一樣) com2sec local localhost public com2sec mynetwork 192.168.0.0/24 public group MyRWGroup v1 local group MyROGroup v1 mynetwork group MyRWGroup v2c local view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 view all included .1 80 access MyROGroup "" any noauth prefix all none none access MyRWGroup "" any noauth prefix all all all syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root (configure /etc/snmp/snmp.local.conf) pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat view systemview included .1.3.6.1.2.1.2 #mem use view systemview included .1.3.6.1.4.1.2021.4 #cpu use view systemview included .1.3.6.1.4.1.2021 == 這樣子圖就可以出來了:face29: 接下來要處理單一主機監控的問題:56gtyhu: (學校!? 阿鳥老大還有在上學:face29: ) |
引用:
|
引用:
不管~ 繼續叫老大~~~ :n7: ![]() |
引用:
|
引用:
![]() ![]() 偶六年級...... ![]() ![]() ![]() == 開始催眠自己 ... 偶很年輕、偶很年輕、偶很年輕 XXXDDDDD |
所有時間均為台北時間。現在的時間是 06:12 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *