RedHat 5.1sendmail+openwebmail + clamav+MIMEdefang+spamassassin防病毒郵件系統

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

RedHat 5.1sendmail+openwebmail + clamav+MIMEdefang+spamassassin防病毒郵件系統

RedHat Enterprise Linux 5.1 sendmail + dovecot + saslauthd + openwebmail + clamav +MIMEdefang + spamassassin防垃圾郵件防病毒郵件系統  
文檔也可以見PDF---------------------->
郵郵件伺服器結構


mimedefang 主要是調用spamassassin 來防垃圾,和clamav來防病毒


http://bbs.chinaunix.net/attachments/month_0807/20080728_b8a483499d53446e03da9Qbqqk3m9X4C.png  







熬夜的成果和大家分享一下,這個是我以前實際生產伺服器中用到的其中一些的軟體,當然也參考了網上很多資料!其實過程也比較簡單,關健就整合部分,也是讓大家少走些彎路。以前公司是fedora1+ sendmail+imap+openwebmail.後來我加了mimedefang 由於sendmail 版本過低,而且我是遠程連接台灣的伺服器。不敢刪除sendmail 再來編譯安裝sendmail .主要自己對sendmail編譯不太了解。其實在我加上mimedefang和spamassassin后。效果已經非常好了,希望對有用 sendmail做郵件伺服器的兄弟有用。這個是用最新的Redhat Enterprise 5.1.因為我們上課用的就是這個,所以懶得用其它的平台測試。是我今天上午及今天晚上在家測試OK!如果大家有什麼問題或者不明白的地方。可以直接聯繫我。由於天天上課。可能沒有什麼時間!大家碰到問題仔細研究,應該注意的地方我都有寫,由於是第一次發文檔。有什麼不明白的地方。可以跟貼。其它的版本的 LINUX直接下載相應的軟體包安裝配置就可以了。

所要軟體包如下

除了 mimedefang 用的是源代碼(mimedefang 是用perl 編寫的,所用到幾個perl 模塊,其它的包全部是rpm包,個人感覺,不是十分必要 ,rpm包其實也是很好的,我下面自己把光碟配置了yum源,yum 安裝一些軟體包比較方便,當然你也可以手動一個一個安裝,解決軟體包依賴性的時候要有賴心哦!clamav是在下面這個網站下載的,我下載的是最近版本。 安裝完以後update!)

到這個網站下載   http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/  ## 這個網站非常不錯!有很多好的軟體,我對LINUX的理解,能不編譯內核就不編譯,能不編譯軟體包就不編譯(當然你得會編譯內核及編譯安裝軟體包及內核相 關參數及知道編譯選項。WEB伺服器當然還是編譯的好一些!也要看你的環境及上級領導要求吧!好了,廢話太多了!)

# ls *.rpm
clamav-0.92.1-1.el5.rf.i386.rpm     clamavdevel-0.92.1-1.el5.rf.i386.rpm   clamd-0.92.1-1.el5.rf.i386.rpm
clamav-db-0.92.1-1.el5.rf.i386.rpm   

mimedefang 等包到官方下載   http://www.mimedefang.org/

IO-stringy-2.110.tar.gz     MIME-Base64-3.03.tar.gz  sendmail.8.14.2.tar.gz   mimedefang-2.64.tar.gz   
Unix-Syslog-0.100.tar.gz    Digest-SHA1-2.00.tar.gz     MailTools-1.1401.tar.gz     MIME-tools-5.420.tar.gz

我這裡大部分軟體包是yum 來安裝,把DVD做成一個本地的yum源。省去了軟體包依賴性的問題

yum源設置

把DVD文件放到光碟機!設置YUM源
cp  rhel-debuginfo.repo 為huzi.repo

修改內容如下


name=Red Hat Enterprise Linux $releasever - $basearch - Server
baseurl=file:///media/Server
enabled=1
gpgcheck=0

2,修改 vi /usr/lib/python2.4/site-packages/yum/yumRepo.py的411行
remote = '/meida/Server' + '/' + relative




1,安裝clamav

下載最新的clamav 包。安裝
rpm -ivh clam* --nodeps --force
然後更新資料庫文件

freshclam


配置clamav
配置前添加用戶groupadd defang
Useradd  -s /bin/nologin –g defang defang

把clamd.conf 和 freshclam.conf 文件的的執行身份改成defang(後面mimedefang的用戶。

vi /etc/clamd.conf 把裡面的User clamav 改成User defang ,freshclam.conf 文件也是同樣。

同樣把日誌的許可權改成770

chmod  -R 770 /var/log/clamav;所屬組改成chown -R defang.clamav /var/log/clamav)

不然會出現如下錯誤


# freshclam
ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
# ll /var/log/clamav/freshclam.log
-rw-r----- 1 defang clamav 4706 Jul 17 22:10 /var/log/clamav/freshclam.log

# chmod -R 770 /var/log/clamav/
# frechclam



# freshclam
ClamAV update process started at Fri Jul 18 17:06:03 2008
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.92.1 Recommended version: 0.93.3
DON'T PANIC! Read http://www.clamav.net/support/faq
main.inc is up to date (version: 47, sigs: 312304, f-level: 31, builder: sven)
daily.inc is up to date (version: 7743, sigs: 44565, f-level: 33, builder: ccordes)
LibClamAV Error: Database Directory: /var/clamav not locked
# ll /var/clamav
total 12
drwxr-xr-x 2 clamav clamav 4096 Jul 18 17:04 daily.inc
drwxr-xr-x 2 clamav clamav 4096 Jul 18 17:00 main.inc
-rw------- 1 clamav clamav  104 Jul 18 17:05 mirrors.dat

把病毒數據文件改成defang.clamav



# chown -R defang.clamav /var/clamav



LocalSocket /tmp/clamd.socket
改 為

LocalSocket /var/spool/MIMEDefang/clamd.socket  (

因 為mimedefang 要調用clamav 來查病毒!而且mimedefang 要訪問clamd.socket文件,這個文件的作用主要是用來做進程間通訊。在下面編譯安裝mimedefang 的時候 等你./configure 無誤 后,會有提示說,把clamd 的運行由defang用戶來運行 。不然就會出現我最後面的錯誤。這個花了我一上午時間都沒有搞定,所以要看軟體安裝后的提示信息,所以這裡得注意)

重新啟動clamd

service clamd restart

freshclam

2 安裝sendmail

yum -y install sendmail sendmail-mc sendmail-devel sendmail-cf
(註:如果sendmail 版本小於8.13的話,可能要重新編譯安裝SENDMAIL)
配置sendmail (DNS伺服器的安裝及配置這裡就不涉及了。也比較簡單!(當然配置的時候要細心))

在配置sendmail 之前。配置好主機名hostname 主機名

在/etc/sysconfig/network 中添加一行HOSTNAME=主機名

在/etc/hosts 文件中添加一行

192.168.1.180                主機名


如果是LAN中。要配置DNS伺服器

配置sendmail.mc 把127.0.0.1 改成0.0.0.0

加入對sasl認證的支持
把以下sedmail.mc中的以下兩行前面的dnl去掉

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl



然後生成sendmail.cf 文件  m4 sendmail.mc>sendmail.cf


在local-host-names 中加入mx記錄的和域名記錄

重新啟動sendmail 服務 service sendmail restart

service saslauthd start  (saslauthd 默認已經安裝了)



3,安裝 dovecot

yum -y install dovecot

修改/etc/dovecot.conf
添加一行
procotol = pop3

啟動dovecot 服務
service dovecot start




4。安裝openwebmail

perl-Text-Iconv  這個包源裡面沒有,但官網的其它directory 裡面有,直接rpm 安裝

首先配置openwebmail 的yum 源
rpm -ivh http://openwebmail.org/openwebmail/download/redhat/rpm/packages/rhel5/perl-Text-Iconv/perl-Text-Iconv-1.7-2.el5.i386.rpm

# cd /etc/yum.repos.d
# lftpget http://openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail.repo

If SELinux enabled, you may need to set it 'permissive' in
/etc/sysconfig/selinux or system-config-selinux

  Installing: openwebmail-data             #########################

Dependency Installed: openwebmail.i386 0:2.53-1 openwebmail-data.i386 0:2.53-1 perl-Text-Iconv.i386 0:1.5-1.fc8 perl-suidperl.i386 4:5.8.8-32.fc8
Complete!

# yum install openwebmail
fedora                    100% |=========================| 2.1 kB    00:00     
openwebmail               100% |=========================|  951 B    00:00     
updates                   100% |=========================| 2.3 kB    00:00     
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package openwebmail.i386 0:2.53-1 set to be updated
--> Processing Dependency: openwebmail-data = 2.53-1 for package: openwebmail
--> Processing Dependency: perl-suidperl for package: openwebmail
--> Processing Dependency: perl-Text-Iconv for package: openwebmail
--> Running transaction check
---> Package openwebmail-data.i386 0:2.53-1 set to be updated
---> Package perl-suidperl.i386 4:5.8.8-32.fc8 set to be updated
---> Package perl-Text-Iconv.i386 0:1.5-1.fc8 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing for dependencies:
openwebmail             i386       2.53-1           openwebmail       2.3 M
openwebmail-data        i386       2.53-1           openwebmail       7.0 M
perl-Text-Iconv         i386       1.5-1.fc8        fedora             20 k
perl-suidperl           i386       4:5.8.8-32.fc8   updates            60 k

Total download size: 9.4 M
Is this ok : y
Downloading Packages:
(1/4): perl-Text-Iconv-1. 100% |=========================|  20 kB    00:00     
(2/4): openwebmail-2.53-1 100% |=========================| 2.3 MB    00:03     
(3/4): perl-suidperl-5.8. 100% |=========================|  60 kB    00:00     
(4/4): openwebmail-data-2 100% |=========================| 7.0 MB    00:10     
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID cfb164d8
Importing GPG key 0xCFB164D8 "Thomas Chung <tchung@openwebmail.org>" from http://openwebmail.org/.../RPM-GPG-KEY-openwebmail
Is this ok : y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: perl-Text-Iconv              #########################
  Installing: perl-suidperl                #########################
  Installing: openwebmail                  #########################

Permission and Ownership for openwebmail files have been fixed!

Please execute following tool first as a root:
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

After restarting httpd service, login with non-root account from
http://localhost.localdomain/cgi-bin/openwebmail/openwebmail.pl
or http://localhost.localdomain/webmail

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init 進行配置,直接回車就可以了

http://youservername/cgi-bin/openwebmail/openwebmail.pl


##如果安裝不成功,直接到官網下載。再安裝也是一樣的效果,新版本的OPENWEBMAIL真的是比較智能化,配置也簡單多了。語言支持也非常不錯!對於 語言要求比較高的公司也是個不錯的選擇。而且採用是CGI模式,相對來說,蠻快的。上面幾個依賴的包也是CGI的加速軟體。看以後能不能再加上 fastcgi模塊來優化一下(小弟對這些不是太懂)

安裝apace

yum -y install httpd

然後配置apache
允許CGI執行
配置以下兩項

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI   ##原有的是Opentions None 改成我前面寫的Options ExecCGI  這個意思是允許執行CGI類型的文件
    Order allow,deny
    Allow from all
</Directory>


找到這一行,把前面的#號去掉並且加上支持.pl文件類型

# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl  ####在這一行添加對.pl文件類型的支持。因為我們的openwebmail是perl 語言編寫的。而且我們的openwebmail文件後綴名為pl.把以最好加上 .pl。這樣不容易出錯!



===========================================================

配置openwebmail 可以被 clamav掃描

# vi openwebmail.conf

enable_viruscheck               yes
viruscheck_pipe                 /usr/bin/clamdscan --mbox --disable-summary --stdout -
viruscheck_source_allowed       all

####這是官方的howto文檔。我是直接抄過來的。MS沒有啥效果!大家有興趣可以自己研究

4,安裝spamassassin  (mimedefang 為調用spamassassin來防垃圾郵件)
yum -y install spamassassin

配置spamassassin


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


#service spamassassin start

spamassassin 報錯


如果出現 /var/log/maillog 報錯
spamd: rules: meta test DIGEST_MULTIPLE has undefined dependency 'DCC_CHECK'
vi /etc/mail/spamassassin/v310.pre
去掉下面的註釋符號# 不然服務會啟動后,不能和mimedefang結合使用



loadplugin Mail::SpamAssassin: lugin: CC



如果要更強的防垃圾郵件規則,大家可以到網上找找相關的規則 !

安裝chinese_rules.cf
下載文件:  wget -N -P /usr/share/spamassassin/ www.ccert.edu.cn/spam/sa/Chinese_rules.cf

/etc/init.d/init-script restart

可以把這個放到crontab 裡面,定時更新防垃圾規則,規則要量力而行,生產環境要經過測試,最好不要擋住正常郵件

以下是網上的規則,最好經過測試再用


--------------------------------------------------------------------------


Jul 18 18:53:41 huzi sendmail: m6IArbo3004592: Milter delete (noop): header: X-Spam-Score (正常結合mimedefang使用了)
Jul 18 18:53:41 huzi sendmail: m6IArbo3004592: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180  (mimedefang 已經正常和上面的spamassassin一起使用)
Jul 18 18:53:41 huzi sendmail: m6IArbL3004591: to=huzi, ctladdr=root (0/0), delay=00:00:04, xdelay=00:00:04, mailer=relay, pri=30027, relay= , dsn=2.0.0, stat=Sent (m6IArbo3004592 Message accepted for delivery)
Jul 18 18:53:41 huzi sendmail: m6IArbo3004592: to=<huzi@huzi.uplookinghuzi.com>, ctladdr=<root@huzi.uplookinghuzi.com> (0/0), delay=00:00:04, xdelay=00:00:00, mailer=local, pri=30623, dsn=2.0.0, stat=Sent


-------------------------------------------------------------------------------

下面是網上的一個防垃圾郵件的規則。大家看著用吧。用前先測試 !
為了盡量減少誤判,建議使用SpamAssassin提供的白名單功能。比如在/etc/mail/SpamAssassin/sa-mimedefang.cf中添加
whitelist_from *@cernet.edu.cn
會使所有來自cernet.edu.cn的郵件被視為正常郵件。
SpamAssassin 主要配置文件是 /etc/mail/spamassassin/local.cf和 /usr/share/spamassassin/*.cf,後者是默認的規則文件集,一般不要改動;前者可以讓管理員修改配置添加規則。由於默認的規則 庫不太符合國內中文郵件,所以你得添加一些適合中文的規則到local.cf文件中,下面的是由反垃圾郵件聯盟網站ten提供的適合中文郵件規則集:
##################################################
#Follow is diables some bad rules for chinese mail
#################################################
score SUBJ_FULL_OF_8BITS 0.0
score BASE64_ENC_TEXT 0.0
score BAYES_99 0.1
score BAYES_90 0.1
score BAYES_80 0.1
score BAYES_70 0.1
score BAYES_60 0.1
score FROM_ILLEGAL_CHARS 0.1
score HEAD_ILLEGAL_CHARS 0.1
score SUBJ_ILLEGAL_CHARS 0.1
score MIME_BASE64_TEXT 0.1
score FAKE_HELO_AOL 0.1
score NO_RDNS_DOTCOM_HELO 0.1
score CHINA_HEADER 0.1

鑒於相當多的網友詢問如何在Spamassassin里配置CBL的黑名單作為其評分標準之一,
故整理了一下CBL/CDL/CBL+/CBL-的在Spamassassin里的配置格式,
其中有些設置了檢查返驗證碼,有些沒設,以及分值的設定等等,這些可根據各自的實際情況設置。
其中我們推薦優先使用CBL-和CML。

CODE

#最佳推薦之使用CBL-#
header  RCVD_IN_CBLLESS          eval:check_rbl('cblless', 'cblless.anti-spam.org.cn.', '127.0.8.5')
describe RCVD_IN_CBLLESS          Received via a relay in cblless.anti-spam.org.cn
tflags  RCVD_IN_CBLLESS          net
score   RCVD_IN_CBLLESS   3.5

#最佳推薦之使用CML#
header  RCVD_IN_CML          eval:check_rbl('cml', 'cml.anti-spam.org.cn.', '127.0.8.1')
describe  RCVD_IN_CML          Received via a white list relay in cml.anti-spam.org.cn
tflags  RCVD_IN_CML          net nice
score           RCVD_IN_CML          -20.0

#header  RCVD_IN_CBL            eval:check_rbl('cbl', 'cbl.anti-spam.org.cn.')
#describe  RCVD_IN_CBL          Received via a relay in cbl.anti-spam.org.cn
#tflags  RCVD_IN_CBL            net
#score   RCVD_IN_CBL   2.0

#header  RCVD_IN_CBL_DIALUP eval:check_rbl('cdl-notfirsthop', 'cdl.anti-spam.org.cn.', '127.0.8.4')
#describe  RCVD_IN_CBL_DIALUP CBL: dialup sender did non-local SMTP
#tflags  RCVD_IN_CBL_DIALUP      net
#score   RCVD_IN_CBL_DIALUP  1.5

#header  RCVD_IN_CBL_PLUS        eval:check_rbl('cblplus', 'cblplus.anti-spam.org.cn.')
#describe  RCVD_IN_CBL_PLUS        Received via a relay in cblplus.anti-spam.org.cn
#tflags  RCVD_IN_CBL_PLUS        net
#score   RCVD_IN_CBL_PLUS 1.0

以下兩行另存為一個.cf文件 ,過濾指定主題和內容

header CN_SUBJECT_992   Subject =~ /135/
describe CN_SUBJECT_992 Subject contains "135"
score CN_SUBJECT_992    0.3

body CN_BODY_977        /91\.com/
describe CN_BODY_977    Body contains "91\.com"
score CN_BODY_977       1.500

body CH_FREE /免費/
describe CH_FREE 內有中文字"免費",疑為垃圾信件。
score CH_FREE 15

#whitelist_from *@163.com
whitelist_from *@koowo.com
blacklist_from *@listhost.us




5,安裝mimedefang

安裝依賴的perl 模塊


IO-stringy-2.110.tar.gz     MIME-Base64-3.03.tar.gz  sendmail.8.14.2.tar.gz     
Unix-Syslog-0.100.tar.gz    Digest-SHA1-2.00.tar.gz     MailTools-1.1401.tar.gz     MIME-tools-5.420.tar.gz

分別解壓後進入 目錄
perl Makefile.pl
make
make instll

可能會報一些函數信息,這個我也無法解答,不影響正常的安裝和使用就可以了!

#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



整合mimedefang 和sendmail
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
#重新啟動sendmail 服務
下面我啟動應該啟動的服務sendmail saslauthd dovecot clamd mimedefang spamassassin

[ 本帖最後由 huzi1986 於 2008-7-30 17:25 編輯 ]
《解決方案》

下面全部是測試信息及我碰到的錯誤的地方..:mrgreen: :mrgreen:

下面我e用httpd WEB MAIL登錄 發送一個.exe 的擴展名的文件。這是伺服器端郵件日誌

Jul 18 18:21:44 huzi mimedefang.pl: filter: m6IALeFS004120:  drop_with_warning=1
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: Milter delete (noop): header: X-Spam-Score
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: Milter change: header Content-Type: from multipart/mixed;\n\tboundary="----=OPENWEBMAIL_ATT_0.133654083914251" to multipart/mixed;\n\tboundary="----=OPENWEBMAIL_ATT_0.133654083914251"
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: Milter change: header MIME-Version: from 1.0 to 1.0
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: Milter message: body replaced
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 18 18:21:44 huzi sendmail: m6IALeFS004120: to=<huzi@huzi.uplookinghuzi.com>, ctladdr=<huzi@mail.uplookinghuzi.com> (500/500), delay=00:00:04, xdelay=00:00:00, mailer=local, pri=31694, dsn=2.0.0, stat=Sent



客戶端收到郵件的信息如下


說明 MIMEDefang 已經成功應用


WARNING: This e-mail has been altered by MIMEDefang.  Following this
paragraph are indications of the actual changes made.  For more
information about your site's MIMEDefang policy, contact
MIMEDefang Administrator's Server <liuguan269@163.com>.  For more information about MIMEDefang, see:

            http://www.roaringpenguin.com/mimedefang/enduser.php3

An attachment named open.exe was removed from this document as it
constituted a security hazard.  If you require this document, please contact
the sender and arrange an alternate means of receiving it.




測試完成。設置所有服務開機啟動


# chkconfig clamd on
# chkconfig sendmailon
# chkconfig spamassassin on
# chkconfig saslauthd on
# chkconfig dovecot on




mimedefang 用chkconfig 設置開機啟動不行。我們就把他放到/etc/rc.local文件中
/etc/init.d/mimedefang start

Openwebmail 要輸入很長一個網址才可以打開,所以我們把/var/www/html裡面新建一個index.html
裡面的內容為

<META HTTP-EQUIV=REFRESH CONTENT="0;URL=http://mail.uplookinghuzi.com/cgi-bin/openwebmail/openwebmail.pl">

這 個mimedefang + spamassassin 本人已經在一台郵件伺服器上用過,效果比較不錯,具體spamassassin的防垃圾郵件規則,大家可以到spam中國網站下載相應的規則放到/usr /share/spamassassin目錄就可以了.mimedefang的默認規則就已經很不錯了。大家也可以自己去研究,個人感覺這已經足夠了,不 過具體環境具體對待!mimedefang是用perl 編譯寫的,俺不怎麼懂perl !

郵件伺服器防垃圾是一個很長久的事情,要一步 一步測試,為什麼我寫這個文檔!是因為之前公司台灣的郵件伺服器用的是sendmail .老闆一天最多時候收到近萬封垃圾郵件(可能有些誇張,不過,我去給老闆看過,確實多得不得了,收也收不完,由於台灣的MIS已經離職,這個任務就給我了。而且他在那裡做的是生產系統這塊。郵件他很少管),我就用了mimedefang。然後垃圾郵件少了很多,多幾千到幾十。這是他自己說的,不過我確實幫他看過,那是沒有弄之前,一打開OUTLOOK。郵件就刷刷的下載,弄過之後,也沒有聽見他說過會擋住正常的郵件!呵呵!我在www.extmail.org裡面下載了一些規則!






Clamav 出錯的信息:如果你按照前面的做的,應該不會出現我這樣的信息!如果出現了,你要想辦法讓clamd 是以defang用戶的身份去運行,確定可以正常運行,因為clamd運行一段時間後為把自己鎖住。主要是因為沒有辦法訪問/var/spool /MIMEDefang下面的clamd.socket文件 。所以我們把clamd運行由defang用戶來執行

如果不是,看日誌會出 現以下錯誤信息:其實文件已經存在。就是許可權的問題!但是安裝完mimedefang后,提示設置許可權為700 或者750而且所屬主為defang 。結果我把許可權設置為750同樣報錯,發不了郵件。clamd服務同樣啟動不了,所以解決的方法只有一個。clamd服務運行的許可權由defang用戶來 執行。上面已經有詳細說明!如果整合mimedefang和clamav不成功,只有這方面問題(軟體安裝正常的情況)

下面是不成功的/var/log/messages 的clamd啟動不了的錯誤提示信息
ul 17 22:10:34 huzi freshclam: daily.inc is up to date (version: 7736, sigs: 43573, f-level: 33, builder: arnaud)
Jul 17 22:11:56 huzi clamd: Loaded 355013 signatures.
Jul 17 22:11:56 huzi clamd: Algorithmic detection enabled.
Jul 17 22:24:36 huzi clamd: Loaded 355013 signatures.
Jul 17 22:24:36 huzi clamd: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:04 huzi clamd: Loaded 355013 signatures.
Jul 17 22:28:04 huzi clamd: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:17 huzi clamd: Loaded 355013 signatures.
Jul 17 22:28:17 huzi clamd: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:58 huzi clamd: Loaded 355013 signatures.


這是我的文件

# ll /var/spool/MIMEDefang/
total 8
srwxrwxrwx 1 defang defang 0 Jul 18 18:14 clamd.socket
-rw-r----- 1 defang defang 5 Jul 18 18:14 mimedefang-multiplexor.pid
srw------- 1 defang defang 0 Jul 18 18:14 mimedefang-multiplexor.sock
-rw-r----- 1 defang defang 5 Jul 18 18:14 mimedefang.pid
srwxr-x--- 1 defang defang 0 Jul 18 18:14 mimedefang.sock



功能發送郵件給163,注意看到Mail OK字樣!當然這個域名不存在,163不可能可以發送給我,所以,如果生產環境中碰到不可以發送或者錯誤,要仔細查看日誌
ul 17 23:38:16 huzi sendmail: m6HEcDwM011784: to=<liuguan269@163.com>, ctladdr=<root@huzi.uplookinghuzi.com> (0/0), delay=00:59:50, xdelay=00:00:02, mailer=esmtp, pri=210353, relay=163mx02.mxmail.netease.com. , dsn=2.0.0, stat=Sent (Mail OK queued as mx12,PsCowLD7mwJUZ39IpJvfCw==.31298S2 1216309076)
Jul 17 23:38:58 huzi sendmail: m6HEcDwO011784: to=<liuguan269@163.com>, ctladdr=<root@huzi.uplookinghuzi.com> (0/0), delay=01:00:28, xdelay=00:00:42, mailer=esmtp, pri=210353, relay=163mx02.mxmail.netease.com. , dsn=2.0.0, stat=Sent (Mail OK queued as mx12,PsCowLD7mwJUZ39IpJvfCw==.31298S4 1216309119)


到我的163信箱中可以看到

日 期:        2008-07-18 18:10:47
發件人:        
root <root@huzi.uplookinghuzi.com>
添加到通訊錄
拒收
邀請
收件人:        liuguan269@163.com
抄送人:        (無)
主 題:        huzi    [舉報垃圾郵件]
附 件:        




以下是我安裝配置過程中出現的錯誤信息



希望大家不要出現這樣的問題!


Jul 17 22:28:04 huzi clamd: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:15 huzi clamd: clamd daemon 0.92.1 (OS: linux-gnu, ARCH: i386, CPU: i386)
Jul 17 22:28:15 huzi clamd: Running as user clamav (UID 100, GID 101)
Jul 17 22:28:15 huzi clamd: Log file size limit disabled.
Jul 17 22:28:15 huzi clamd: Reading databases from /var/clamav
Jul 17 22:28:15 huzi clamd: Not loading PUA signatures.
Jul 17 22:28:17 huzi clamd: Loaded 355013 signatures.
Jul 17 22:28:17 huzi clamd: Bound to address 127.0.0.1 on tcp port 3310
Jul 17 22:28:17 huzi clamd: Setting connection queue length to 30
Jul 17 22:28:17 huzi clamd: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
# ll /var/spool/MIMEDefang/

發現啟動clamd 服務后啟動又停止了
這時候我們要把/var/spool/MIMEDefang 目錄的許可權改一下
我是把clamav加入到defang組中。同時候設置目錄許可權為750 然後重新啟動clamd服務,然後clamd.socket文件就會生成。這時候再啟動clamd 服務!
chown defang.defang /var/spool/MIMEDefang
chmod 700 /var/spool/MIMEdefang

然後我們發郵件會發現發不出去。觀察日誌內容如下

# tail -f /var/log/maillog
Jul 17 22:27:48 huzi mimedefang-multiplexor: started; minSlaves=2, maxSlaves=10, maxRequests=500, maxIdleTime=300, busyTimeout=600, clientTimeout=10
Jul 17 22:27:48 huzi mimedefang-multiplexor: Starting slave 0 (pid 10665) (1 running): Bringing slaves up to minSlaves (2)
Jul 17 22:27:48 huzi mimedefang: MIMEDefang alive. slavesReservedForLoopback=-1 AllowNewConnectionsToQueue=0 doRelayCheck=0 doHeloCheck=0 doSenderCheck=0 doRecipientCheck=0
Jul 17 22:27:48 huzi mimedefang: Multiplexor alive - entering main loop
Jul 17 22:27:51 huzi mimedefang-multiplexor: Starting slave 1 (pid 10682) (2 running): Bringing slaves up to minSlaves (2)
Jul 17 22:30:07 huzi sendmail: m6HEU7mQ010962: from=root, size=48, class=0, nrcpts=1, msgid=<200807171430.m6HEU7mQ010962@huzi.uplookinghuzi.com>, relay=root@localhost
Jul 17 22:30:07 huzi sendmail: m6HEU7vh010963: Milter (mimedefang): local socket name /var/spool/MIMEDefang/mimedefang.sock unsafe
Jul 17 22:30:07 huzi sendmail: m6HEU7vh010963: Milter (mimedefang): to error state
Jul 17 22:30:07 huzi sendmail: m6HEU7vh010963: Milter: initialization failed, temp failing commands
Jul 17 22:30:07 huzi sendmail: m6HEU7mQ010962: to=root@localhost, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30048, relay= , dsn=4.0.0, stat=Deferred: 451 4.3.2 Please try again later
Jul 17 22:31:12 huzi mimedefang-multiplexor: Received SIGTERM: Stopping slaves and terminating
Jul 17 22:31:12 huzi mimedefang-multiplexor: Reap: slave 0 (pid 10665) exited normally with status 0
Jul 17 22:31:12 huzi mimedefang-multiplexor: Slave 0 resource usage: req=0, scans=0, user=0.348, sys=0.042, nswap=0, majflt=0, minflt=4712, maxrss=0, bi=0, bo=0
Jul 17 22:31:12 huzi mimedefang-multiplexor: Reap: slave 1 (pid 10682) exited normally with status 0
Jul 17 22:31:12 huzi mimedefang-multiplexor: Slave 1 resource usage: req=0, scans=0, user=0.346, sys=0.050, nswap=0, majflt=0, minflt=4714, maxrss=0, bi=0, bo=0
Jul 17 22:31:13 huzi mimedefang: MIMEDefang-2.64: mi_stop=1
Jul 17 22:31:15 huzi mimedefang-multiplexor: started; minSlaves=2, maxSlaves=10, maxRequests=500, maxIdleTime=300, busyTimeout=600, clientTimeout=10
Jul 17 22:31:15 huzi mimedefang-multiplexor: Starting slave 0 (pid 11019) (1 running): Bringing slaves up to minSlaves (2)
Jul 17 22:31:15 huzi mimedefang: MIMEDefang alive. slavesReservedForLoopback=-1 AllowNewConnectionsToQueue=0 doRelayCheck=0 doHeloCheck=0 doSenderCheck=0 doRecipientCheck=0
Jul 17 22:31:15 huzi mimedefang: Multiplexor alive - entering main loop
Jul 17 22:31:18 huzi mimedefang-multiplexor: Starting slave 1 (pid 11036) (2 running): Bringing slaves up to minSlaves (2)
Jul 17 22:31:29 huzi sendmail: m6HEVSUH011039: from=root, size=56, class=0, nrcpts=1, msgid=<200807171431.m6HEVSUH011039@huzi.uplookinghuzi.com>, relay=root@localhost
Jul 17 22:31:29 huzi sendmail: m6HEVTkv011040: Milter (mimedefang): local socket name /var/spool/MIMEDefang/mimedefang.sock unsafe
Jul 17 22:31:29 huzi sendmail: m6HEVTkv011040: Milter (mimedefang): to error state


然後重新啟動sendmail 服務。同樣報錯誤

原因是許可權問題 /var/spool/MIMeDefang 的用戶要為defang 許可權要為700才可以,但是這樣。Clamd重新啟動后又被鎖住了。所以只有把clamd的文件及日誌所屬主改為defang用戶來運行。就可以了!


Jul 17 23:17:55 huzi mimedefang.pl: MDLOG,m6HFHqkf012590,mail_in,,,<root@localhost.localdomain>,<liuguanhu@wanxin-sz.com.cn>,this is a test page
Jul 17 23:17:55 huzi sendmail: m6HFHqkf012590: Milter delete (noop): header: X-Spam-Score
Jul 17 23:17:55 huzi sendmail: m6HFHqkf012590: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 17 23:17:55 huzi sendmail: m6HFHq1m012589: to=liuguanhu@wanxin-sz.com.cn, ctladdr=root (0/0), delay=00:00:03, xdelay=00:00:03, mailer=relay, pri=30066, relay= , dsn=2.0.0, stat=Sent (m6HFHqkf012590 Message accepted for delivery)
Jul 17 23:17:56 huzi sendmail: m6HFHqkf012590: to=<liuguanhu@wanxin-sz.com.cn>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:04, xdelay=00:00:01, mailer=esmtp, pri=120372, relay=wanxin-sz.com.cn. , dsn=5.0.0, stat=Service unavailable
Jul 17 23:17:56 huzi sendmail: m6HFHqkf012590: m6HFHukf012594: DSN: Service unavailable  (對方說我的域名不合法。呵呵,我的域名是localhost.localdomian 而且用的是私有地址,所以,無法發送到對方郵件伺服器)
Jul 17 23:17:56 huzi sendmail: m6HFHukf012594: to=<root@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31680, dsn=2.0.0, stat=Sent

Jul 17 23:17:55 huzi sendmail: m6HFHqkf012590: Milter delete (noop): header: X-Spam-Score
Jul 17 23:17:55 huzi sendmail: m6HFHqkf012590: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 17 23:17:55 huzi sendmail: m6HFHq1m012589: to=liuguanhu@wanxin-sz.com.cn, ctladdr=root (0/0), delay=00:00:03, xdelay=00:00:03, mailer=relay, pri=30066, relay= , dsn=2.0.0, stat=Sent (m6HFHqkf012590 Message accepted for delivery)
Jul 17 23:17:56 huzi sendmail: m6HFHqkf012590: to=<liuguanhu@wanxin-sz.com.cn>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:04, xdelay=00:00:01, mailer=esmtp, pri=120372, relay=wanxin-sz.com.cn. , dsn=5.0.0, stat=Service unavailable
Jul 17 23:17:56 huzi sendmail: m6HFHqkf012590: m6HFHukf012594: DSN: Service unavailable
Jul 17 23:17:56 huzi sendmail: m6HFHukf012594: to=<root@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31680, dsn=2.0.0, stat=Sent
《解決方案》

sf,這麼好的貼不頂不行
pdf文檔捏?:
《解決方案》

看到了,坐板凳繼續頂!!
《解決方案》

:mrgreen: :mrgreen:

pdf 在第一貼裡面,有什麼問題可以跟貼!謝謝指點!
《解決方案》

clamd 又更新了,大家下載最新版本安裝吧

下載地址

http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/



clamav-0.93.3-1.el5.rf.i386.rpm

clamav-db-0.93.3-1.el5.rf.i386.rpm

clamav-devel-0.93.3-1.el5.rf.i386.rpm

clamd-0.93.3-1.el5.rf.i386.rpm

如果不給更新。安裝時候加上--nodeps --force參數!我剛才更新了一下,啟動的時候clamd.conf文件中有兩個參數不給用,把他註釋掉就行了。具體是代表什麼功能,裡面有說明。感覺沒有啥用吧

[ 本帖最後由 huzi1986 於 2008-7-19 13:43 編輯 ]
《解決方案》













《解決方案》

友情支持下,以前好像有個postfix實現的例子,都不錯
《解決方案》













《解決方案》

huzi。。。。很好很強大~~~強力支持




[火星人 ] RedHat 5.1sendmail+openwebmail + clamav+MIMEdefang+spamassassin防病毒郵件系統已經有605次圍觀

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