歡迎您光臨本站 註冊首頁

Sendmail+SASL+TLS+MIMEdefang+Clamav+Spamassassin

←手機掃碼閱讀     火星人 @ 2014-03-05 , reply:0

Sendmail+SASL+TLS+MIMEdefang+Clamav+Spamassassin

  註:我的系統平台是RedHat9.0;本文是另一篇文章「Sendmail+SASL+TLS」基礎上的續篇
 
 一、前提
 
 1.安裝Spamassassin需要如下軟中大多的支持,請自行到http://search.cpan.org搜索、下載並安裝。安裝均按照如下步驟即可:
 #tar zxvf 軟體包.tar.gz
 #cd 軟體包
 #perl Makefile.PL
 #make
 #make install
 說明:某些軟體包安裝的過程中可能需要已經列出的其它軟體包的支持(可以先嘗試安裝Spamassassin,然後按提示補充所需軟體包),請安照提示自行調整安裝順序。另外,其中有個軟體包安裝過程中可能要求聲明環境變數LC_ALL,此時,可輸入如下命令,並重新進行軟體包的編譯安裝即可。
 #export LC_ALL=C
 
 Archive-Tar-1.30.tar.gz  
 HTML-Parser-3.56.tar.gz      
 IP-Country-2.23.tar.gz         
 MIME-Base64-3.07.tar.gz  
 Net_SSLeay.pm-1.30.tar.gz                     
 DB_File-1.815.tar.gz     
 IO-Socket-INET6-2.51.tar.gz  
 MIME-tools-5.420.tar.gz  
 Mail-SpamAssassin-3.1.8.tar.gz
 Storable-2.15.tar.gz
 libnet-1.19.tar.gz
 DBI-1.54.tar.gz         
 IO-Socket-SSL-1.03.tar.gz   
 Net-DNS-0.59.tar.gz      
 Time-HiRes-1.9707.tar.gz
 Digest-1.15.tar.gz      
 IO-stringy-2.110.tar.gz      
 Mail-SPF-Query-1.999.1.tar.gz   
 Net-Ident-1.20.tar.gz
 Digest-SHA1-2.11.tar.gz  
 IO-Zlib-1.05.tar.gz         
 MailTools-1.74.tar.gz  
 razor-agents-2.82.tar.bz2
 
 二、安裝Spamassassin
 
 1.下載安裝
 
 地址:http://mirror.olnevhost.net/pub/apache/spamassassin/source/Mail-SpamAssassin-3.1.8.tar.gz
 Razor2: http://nchc.dl.sourceforge.net/sourceforge/razor/razor-agents-2.82.tar.bz2
 
 #tar zxvf Mail-SpamAssassin-3.1.8.tar.gz
 #cd Mail-SpamAssassin-3.1.8
 #perl Makefile.PL
 #make
 #make install
 
 
 2.編輯主配置文件/etc/mail/spamassassin/local.cf
 
 required_hits 10.0
 rewrite_subject 1
 required_score 5.0
 rewrite_header Subject *****SPAM*****
 report_safe     1
 use_bayes       1
 bayes_auto_learn        1
 skip_rbl_checks         1
 use_razor2      0
 use_pyzor       0
 ok_locales      all
 
 
 3.測試spamassassin
 
 #spamassassin -t < sample-nonspam.txt > nonspam.out
 #spamassassin -t < sample-spam.txt > spam.out
 
 查看測試結果:
 
 #less nonspam.out
 #less spam.out
 
 4.檢查配置文件
 
 #spamassassin -d --lint
 
 5.啟動進程
 
 #/usr/bin/spamd -d
 
 也可以把此命令重定向到/etc/rc.local,以便隨系統一起啟動。
 
 三、安裝查毒軟體clamav
 
 1.下載安裝
 
 # tar -zxvf clamav-0.90.1.tar.gz
 # cd clamav-0.90.1
 # grouadd clamav
 # useradd -g clamav -s /bin/false clamav
 # ./configure --sysconfdir=/etc/clamav
 # make
 # make check
 # make install
 
 2.編輯配置文件
 
 # vi /etc/clamav/clamav.conf
 
 給下面一行加上註釋:
 Example
 
 去掉註釋或更改下面行的值(大多數不用去註釋,保持默認亦可)
   
   LogFile /var/log/clamd.log
   LogFileMaxSize 2M
   PidFile /var/clamav/clamd.pid
   DatabaseDirectory /usr/local/share/clamav
   LocalSocket /var/clamav/clamd.sock
   
   StreamSaveToDisk
   ScanMail
   ScanArchive
   
   ArchiveMaxFiles 1000
   MaxThreads 200
   MaxDirectoryRecursion 15
 
 # vi /etc/clamav/freshclam.conf
 
 給下面一行加上註釋:
 Example
 
 3.更新病毒資料庫
 
 手動更新
 #freshclam --quiet --stdout
 
 讓clamav自動更新
 # crontab -e
 添加如下一行
 1 3 * * * /usr/local/bin/freshclam -quiet
 
 也可以通過以下方式實現自動更新
 #echo "/usr/local/bin/freshclam -d -c 2" >> /etc/rc.local
 
 4.調試啟動clamav
 #/usr/local/bin/clamd
 
 5.測試對壓縮文件的支持
 
 #/usr/local/bin/clamdscan
 
 /usr/local/bin/clamdscan
 /etc/clamav: OK
 
 ----------- SCAN SUMMARY -----------
 Infected files: 0
 Time: 0.032 sec (0 m 0 s)
 
 6.相關文件:
 
 升級log: /var/log/freshclam.log
 clamav log: /var/log/clamd.log
 配置文件: /etc/clamav/clamav.conf
 
 
 四、安裝配置MIMIdefang
 
 1.說明:
 
 Sendmail8.13.0以前的版本默認不支持mail filters,如果你的Sendmail默認不支持的話,你需要重新編譯安裝Sendmail。在編譯安裝時只要在site.config.m4文件中添加如下兩行即可:
 APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
 APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE')
 
 同時,如果你是像我這樣原碼安裝Sendmail的話,你還需要去編譯安裝Sendmail時的原碼目錄里的libmilter目錄中編譯安裝libmilter,否則,安裝MIMEdefang的過程會報錯。
 #cd /usr/local/src/sendmail-8.14.0/libmilter
 #sh Build
 #sh Build install
 
 2.下載安裝MIMEdefang
 
 地址:http://www.mimedefang.org/static/mimedefang-2.61.tar.gz
 
 #groupadd defang
 #useradd -g defang -s /sbin/nologin defang
 #tar xvzf mimedefang-2.61.tar.gz
 #./configure
 #make
 #make install
 #cp /usr/local/src/mimedefang-2.61/examples/init-script /etc/init.d/mimedefang
 
 3.編輯配置文件
 
 #vi /etc/mail/mimidefang-filter
 
 修改下列項的值為你需要的,其它各項也可以酌情修改:
 $AdminAddress = 'defang-admin@localhost';
 $AdminName = "MIMEDefang Administrator's Full Name";
 $DaemonAddress = 'postmaster@yourcompany.com';
 $DaemonName    = 'Your Company Mail Server';
 
 測試配置文件是否有語法錯誤:
 #mimedefang.pl -test
 
 如果你自己定義的有其它filter文件,可以用如下命令測試其正確與否:
 #mimedefang.pl -f your-filter -test
 
 4.編輯/etc/mail/sendmail.mc文件,在mailer語句前添加mimedefang過濾:
 
 INPUT_MAIL_FILTER(`mimedefang',`S=unix:/var/spool/MIMEDefang/mimedefang.sock,F=T,T=S:60s;R:60s;E:5m')dnl
 
 重新生成/etc/mail/sendmail.cf文件
 #m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
 
 5.啟動mimedefang
 
 #service mimedefang start
 
 如果過後重新修改了filter文件,可以用如下命令重新讀取:
 
 #service mimedefang reread
 
 6.如果啟動時提示找不到/var/spool/MIMEdefang/clamv.sock,可以修改/etc/clamv/clamd.conf文件中LocalSocket行為如下內容,並重新啟動clamd即可
 
 LocalSocket /var/spool/MIMEDefang/clamd.sock
 
 五、確保以上服務啟動以後,就可以重新啟動Sendmail並測試發信了。
 
 1.啟用outlook進行發信測試,在本機使用root帳戶收信如下:
 
 From redhat@benet.org  Sun Mar 25 12:19:51 2007
 From: "redhat"


 To:
 Subject: Test_MIMEdefang
 Date: Wed, 28 Mar 2007 12:38:56 +0800
 MIME-Version: 1.0
 Content-Type: multipart/alternative;
         boundary="----=_NextPart_000_001B_01C77136.0CEC64A0"
 X-Priority: 3
 X-MSMail-Priority: Normal
 X-Mailer: Microsoft Outlook Express 6.00.2900.3028
 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
 X-Scanned-By: MIMEDefang 2.61 on 192.168.1.66
 
 This is a multi-part message in MIME format.
 
 ------=_NextPart_000_001B_01C77136.0CEC64A0
 Content-Type: text/plain;
         charset="gb2312"
 Content-Transfer-Encoding: base64
 
 VGVzdF9NSU1FZGVmYW5n
 
 ------=_NextPart_000_001B_01C77136.0CEC64A0
 Content-Type: text/html;
         charset="gb2312"
 Content-Transfer-Encoding: base64
 
 2.mail日誌記錄
 
 Mar 25 12:19:43 mail sendmail: STARTTLS=server, relay=, version=TLSv1/SSLv3, verify=NO, cipher=RC4-MD5, bits=128/128
 Mar 25 12:19:43 mail sendmail: AUTH=server, relay=, authid=redhat, mech=LOGIN, bits=0
 Mar 25 12:19:44 mail sendmail: l2P4JgR9001924: from=, size=1223, class=0, nrcpts=1, msgid=<002001c770f3$02f7b320$af01a8c0@dellfe18970b3a>, proto=ESMTP, daemon=MTA-SSL, relay=
 Mar 25 12:19:51 mail mimedefang.pl: MDLOG,l2P4JgR9001924,mail_in,,,,,Test_MIMEdefang
 Mar 25 12:19:51 mail sendmail: l2P4JgR9001924: Milter delete (noop): header: X-Spam-Score
 Mar 25 12:19:51 mail sendmail: l2P4JgR9001924: Milter add: header: X-Scanned-By: MIMEDefang 2.61 on 192.168.1.66
 Mar 25 12:19:51 mail imapd: imaps SSL service init from 192.168.1.175
 Mar 25 12:19:51 mail imapd: Login user=redhat host=
 Mar 25 12:19:51 mail sendmail: l2P4JgR9001924: to=, ctladdr=(500/500), delay=00:00:07, xdelay=00:00:00, mailer=local, pri=31521, dsn=2.0.0, stat=Sent

[ 本帖最後由 marion 於 2007-3-28 12:56 編輯 ]

《解決方案》

    1.裝 Spamassassin 最好用 perl -MCPAN 的方式裝,可以解決相依問題
 2. sendmail 部份 建議多解釋清楚
 3. mimedefang-filter 的 部份似乎寫的過簡單了些, mimedefang 的啟動參數很重要,這個建議不要帶過
 不同的參數會影響到 filter_* 的作用

《解決方案》

    原帖由 abel 於 2007-3-28 14:22 發表
 1.裝 Spamassassin 最好用 perl -MCPAN 的方式裝,可以解決相依問題
 2. sendmail 部份 建議多解釋清楚
 3. mimedefang-filter 的 部份似乎寫的過簡單了些, mimedefang 的啟動參數很重要,這個建議不要帶過
 不同的 ...
 好的,我整理一下,包括Spamassassin的另一更好的安裝方法,然後把它們貼上來。
 另外,請教abel兄,能否在Sendmail+libnss_mysql + pam_mysql上給些提示,或者能有詳細一些相關的網站提供的資料也可?先行謝過!

[ 本帖最後由 marion 於 2007-3-28 15:12 編輯 ]

《解決方案》

    原帖由 marion 於 2007-3-28 15:10 發表
 
 好的,我整理一下,包括Spamassassin的另一更好的安裝方法,然後把它們貼上來。
 另外,請教abel兄,能否在Sendmail+libnss_mysql + pam_mysql上給些提示,或者能有詳細一些相關的網站提供的資料也可?先行謝過!
 提示 ?
 我過去寫過的就這個
 http://phorum.study-area.net/viewtopic.php?p=144508
 
 其實像這些東西只要了解根本,用 mysql / ldap 或甚至 Radius ( AAA) 等都可以
 做法都是差不多的,餘下的就是自己對後台(backend)的了解了

《解決方案》

    看到了,非常好的文章,非常好的網上學習園地。謝!
 這個是abel兄自己的空間么?

《解決方案》

    原帖由 marion 於 2007-3-28 15:25 發表
 看到了,非常好的文章,非常好的網上學習園地。謝!
 這個是abel兄自己的空間么?
 不是,那只是一個 bbs 而以,
 前幾年我常在那寫一些文章,近二年就較少寫了些,就像 CU 一樣
 這文章我在大陸的網站也看到無數的 copy

《解決方案》

    嗯,作為一個仍在進步中的學習者,我覺得這真的算得上一個相當不錯的網站,並決定上去拜讀一下abel兄的所有文章。
 好文章,當然要讓更多的愛好有機會學習了,這方面,abel兄功不可沒啊!

 嗯,作為一個仍在進步中的學習者,我覺得這真的算得上一個相當不錯的網站,並決定上去拜讀一下abel兄的所有文章。
 好文章,當然要讓更多的愛好有機會學習了,這方面,abel兄功不可漠啊!
 您過譽了,我寫得東西很雜,如果您仍是 進步中的學習者可能看看起來有些東西多少會費事些
 我唯一認真寫過的大概就只有 rrd 那篇了, 因為當時仍沒有適當的中文資料來帶大家入門 ,
 其他的東西您參考就好,別當真
 
 mimedefang 我個人相當熟悉,我自己目前用的就是這個東西,過去我曾在本版發表過我的 mimedefang-filter
 內容,你可以找找來看看 (練習找也是一種學習),建議您用 google 找會比用 CU 的 search 找來得容易哦 

[火星人 ] Sendmail+SASL+TLS+MIMEdefang+Clamav+Spamassassin已經有417次圍觀

http://coctec.com/docs/service/show-post-40200.html