![]() |
![]() |
|
長老會員
![]() |
![]() 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檔案存放的地點。 |
__________________ 思考,正是從一個錯誤,跳進另外一個錯誤。 |
|
![]() |
送花文章: 5387,
![]() |
![]() |
#17 (permalink) | |
長老會員
![]() |
![]() 本來想用 tarball 安裝 mailscanner,但是沒想到居然有這麼多的相依套件 =.=
(等偶一個一個裝完可能都民國100年了 ![]() 引用:
好家在作者有提供速成安裝法: install.sh 根本就是windows 的setup了嘛 XXXXDDDDDDDD 很好用,不過有點小問題,不知道它抓不抓得到偶用 tarball 裝的 clamav =.= 試試看.....不然的話,就要去抓 src.rpm 回來 compile =<>= == 實在是很不想重裝 clamav,milter都設好了說 ![]() 反正 procmail + spamassassin + clamd + clamav-milter + sendmail + dnsbl 好像也不錯,就此打住? 考慮一下XD |
|
![]() |
送花文章: 5387,
![]() |
![]() |
#19 (permalink) | |
長老會員
![]() |
![]() 引用:
![]() 前一陣把手上所有的機子全換成了 CentOS ^^a 很好用,感謝阿鳥老大的推薦 <(_ _)> CentOS 的 yum repo,尤其是 centosplus,真是好用,可以直接把 MySQL 升到 5.0 系列,讓我不用痴痴等待 RHEL 5 上市。但如果時間允許的話,小老弟偏好使用 tarball 安裝 ![]() 因為這樣子比較容易掌握狀況,雖然要啃man很累,但是出包的時候通常都可以很快就找到問題;若是用yum,因為太方便,打一個指令就什麼都裝到好了,反而搞不清楚來龍去脈。常常會看到有人在Linux 專業論壇問一些明明manual就有寫的問題,就是因為yum太方便....。結果大家都很會安裝,就是不會trouble shooting = =+ 但是yum又真的很方便,總之小老弟是只有在遇到怪獸級的軟體安裝時(eg. mysql),才會搬出yum repo,在能力範圍內,小老弟偏好使用 tarball 安裝 ^ ^ tarball 才是王道 ![]() |
|
![]() |
送花文章: 5387,
![]() |
![]() |
#20 (permalink) |
長老會員
![]() |
![]() 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的戰爭,依然持續中 = =+ |
![]() |
送花文章: 5387,
![]() |
向 Chin-Wei 送花的會員:
|
![]() |
#21 (permalink) | ||
協調管理員
![]() |
![]() 加油
spam只是評分,通常是被呼叫的 #spamassassin -t /tmp/123.txt 像用spamassassin -t指令就可呼叫spam作評分 會出現各評分條件分數 先做一個文字檔在/tmp/123.txt 引用:
引用:
|
||
![]() |
送花文章: 11706,
![]() |
向 飛鳥 送花的會員:
|
![]() |
#22 (permalink) |
長老會員
![]() |
![]() 感謝阿鳥老大的指導 ^^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 終於啃完了.... ![]() ![]() 準備把它部署到測試機上test一下,沒問題再部署到正式的機子上 ![]() ![]() BUT,man 有幾個地方搞不太懂,可能要再試一下。就是那個: Still Deliver Silent Viruse = no Deliver Cleaned Messages = yes 結果偶測試寄病毒信還是會被discard掉(丟進/dev/null) 不管它,反正不重要XXXXXDDDDDDD |
![]() |
送花文章: 5387,
![]() |
![]() |
#24 (permalink) | |
協調管理員
![]() |
![]() MailScanner有好幾個相關設定檔要注意的
不允許通過的附件的副檔名-設定檔(可禁止寄公司機密文章檔,ex:doc,pdf,xls....) filename.rules.conf 不允許通過的附件的檔案類型-設定檔(可禁止寄影片檔) filetype.rules.conf 不會被設成廣告信的寄件者名單-(像電子報的) rules/spam.whitelist.rules 這是在MailScanner.conf裡設呼叫的檔案路徑 引用:
spam.lists.conf 多設這幾個,對是不是廣告信,是不是危險檔案,更能一手掌握 |
|
![]() |
送花文章: 11706,
![]() |
![]() |
#25 (permalink) |
長老會員
![]() |
![]() 阿鳥老大真是未卜先知啊
![]() 小老弟剛才在測試的時候,就出了類似的狀況。 偶從自己的server寄出去的信居然被打上 "{這可能是廣告信}" = =+ 再測試寄病毒,果然也是被打上 "{這可能是病毒}"" XXXDDDDD 真是無言........ ![]() 現在正在試看能不能讓 MailScanner 只過濾 Incoming Mail,不過濾Outgoing Mail 但好像不能,只能夠對各別的偵測項目寫白名單 but,項目很多耶 ![]() 每個都要改白名單啊....XXXXXXXXDDDDDDDDDDD == man 好像說舊版的有類似選項可以用,新版的就取消了,只能改用白名單 |
![]() |
送花文章: 5387,
![]() |
![]() |
#27 (permalink) | |
長老會員
![]() |
![]() Re:Bayes question
http://article.gmane.org/gmane.mail.....general/60376 引用:
只好乖乖地 train 每台機器 = =+ |
|
![]() |
送花文章: 5387,
![]() |
![]() |
#29 (permalink) | |
長老會員
![]() |
![]() 引用:
雖然小老弟手上有三台 mail server 要處理,但其實真正重要的也是只有其中一台 另外二台使用率低,不特定去train應該也沒關係 ![]() 總之,決定 bayes_auto_learn 給它 ON ![]() (讓它自動學習 ![]() 阿鳥老大怎麼會在忙電話系統呢?難道是 Service Center ![]() == 原先的目標: Sendamil+MailScanner+Camav+SpamAssassin+DNSBL+gray-list 就剩下一個 gray-list,把這個搞定,小老弟的Anti-Spam戰線就算是完全建立完成了。估計是要從sendmail 的milter 著手,比較麻煩的是在MailScanner把sendmail分成二個Process,不知道針對不同的process是否要套用不同的設定檔?(一個加掛milter、一個不要,不然MailScanner發出去的信可能也會被曙光三百秒......) |
|
![]() |
送花文章: 5387,
![]() |
![]() |
#30 (permalink) |
長老會員
![]() |
![]() 安裝 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的奮戰,似乎還不到落幕的時候 = =+ |
![]() |
送花文章: 5387,
![]() |