免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 17429 | 回复: 36
打印 上一主题 下一主题

[Mail] RedHat 5.1sendmail+openwebmail + clamav+MIMEdefang+spamassassin防病毒邮件系统 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-19 02:20 |只看该作者 |倒序浏览
RedHat Enterprise Linux 5.1 sendmail + dovecot + saslauthd + openwebmail + clamav +MIMEdefang + spamassassin防垃圾邮件防病毒邮件系统  
文档也可以见PDF---------------------->
邮邮件服务器结构


mimedefang 主要是调用spamassassin 来防垃圾,和clamav来防病毒


  







熬夜的成果和大家分享一下,这个是我以前实际生产服务器中用到的其中一些的软件,当然也参考了网上很多资料!其实过程也比较简单,关健就整合部分,也是让大家少走些弯路。以前公司是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服务器当然还是编译的好一些!也要看你的环境及上级领导要求吧!好了,废话太多了!)

[root@huzi source]# 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

修改内容如下

[Server]
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)

不然会出现如下错误


[root@huzi source]# 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).
[root@huzi source]# ll /var/log/clamav/freshclam.log
-rw-r----- 1 defang clamav 4706 Jul 17 22:10 /var/log/clamav/freshclam.log

[root@huzi source]# chmod -R 770 /var/log/clamav/
[root@huzi source]# frechclam



[root@huzi source]# 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
[root@huzi source]# 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



[root@huzi source]# 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/openwebma ... -1.7-2.el5.i386.rpm

# cd /etc/yum.repos.d
# lftpget http://openwebmail.org/openwebma ... se/openwebmail.repo

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

  Installing: openwebmail-data             ######################### [4/4]

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/N]: 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/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: perl-Text-Iconv              ######################### [1/4]
  Installing: perl-suidperl                ######################### [2/4]
  Installing: openwebmail                  ######################### [3/4]

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[850]: 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[4592]: m6IArbo3004592: Milter delete (noop): header: X-Spam-Score (正常结合mimedefang使用了)
Jul 18 18:53:41 huzi sendmail[4592]: m6IArbo3004592: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180  (mimedefang 已经正常和上面的spamassassin一起使用)
Jul 18 18:53:41 huzi sendmail[4591]: m6IArbL3004591: to=huzi, ctladdr=root (0/0), delay=00:00:04, xdelay=00:00:04, mailer=relay, pri=30027, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m6IArbo3004592 Message accepted for delivery)
Jul 18 18:53:41 huzi sendmail[4595]: 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 编辑 ]

mime.png (41.68 KB, 下载次数: 111)

mime.png

RedHat Enterprise Linux 5.pdf

206.94 KB, 下载次数: 274

论坛徽章:
0
2 [报告]
发表于 2008-07-19 02:20 |只看该作者
下面全部是测试信息及我碰到的错误的地方..

下面我e用httpd WEB MAIL登录 发送一个.exe 的扩展名的文件。这是服务器端邮件日志

Jul 18 18:21:44 huzi mimedefang.pl[3866]: filter: m6IALeFS004120:  drop_with_warning=1
Jul 18 18:21:44 huzi sendmail[4120]: m6IALeFS004120: Milter delete (noop): header: X-Spam-Score
Jul 18 18:21:44 huzi sendmail[4120]: 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[4120]: m6IALeFS004120: Milter change: header MIME-Version: from 1.0 to 1.0
Jul 18 18:21:44 huzi sendmail[4120]: m6IALeFS004120: Milter message: body replaced
Jul 18 18:21:44 huzi sendmail[4120]: m6IALeFS004120: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 18 18:21:44 huzi sendmail[4123]: 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.




测试完成。设置所有服务开机启动


[root@huzi conf]# chkconfig clamd on
[root@huzi conf]# chkconfig sendmailon
[root@huzi conf]# chkconfig spamassassin on
[root@huzi conf]# chkconfig saslauthd on
[root@huzi conf]# 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[10149]: daily.inc is up to date (version: 7736, sigs: 43573, f-level: 33, builder: arnaud)
Jul 17 22:11:56 huzi clamd[10199]: Loaded 355013 signatures.
Jul 17 22:11:56 huzi clamd[10199]: Algorithmic detection enabled.
Jul 17 22:24:36 huzi clamd[10512]: Loaded 355013 signatures.
Jul 17 22:24:36 huzi clamd[10512]: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:04 huzi clamd[10749]: Loaded 355013 signatures.
Jul 17 22:28:04 huzi clamd[10749]: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:17 huzi clamd[10784]: Loaded 355013 signatures.
Jul 17 22:28:17 huzi clamd[10784]: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:58 huzi clamd[10955]: Loaded 355013 signatures.


这是我的文件

[root@huzi mail]# 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[12904]: 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. [220.181.12.62], dsn=2.0.0, stat=Sent (Mail OK queued as mx12,PsCowLD7mwJUZ39IpJvfCw==.31298S2 1216309076)
Jul 17 23:38:58 huzi sendmail[12904]: 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. [220.181.12.62], 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[10749]: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
Jul 17 22:28:15 huzi clamd[10784]: clamd daemon 0.92.1 (OS: linux-gnu, ARCH: i386, CPU: i386)
Jul 17 22:28:15 huzi clamd[10784]: Running as user clamav (UID 100, GID 101)
Jul 17 22:28:15 huzi clamd[10784]: Log file size limit disabled.
Jul 17 22:28:15 huzi clamd[10784]: Reading databases from /var/clamav
Jul 17 22:28:15 huzi clamd[10784]: Not loading PUA signatures.
Jul 17 22:28:17 huzi clamd[10784]: Loaded 355013 signatures.
Jul 17 22:28:17 huzi clamd[10784]: Bound to address 127.0.0.1 on tcp port 3310
Jul 17 22:28:17 huzi clamd[10784]: Setting connection queue length to 30
Jul 17 22:28:17 huzi clamd[10784]: Socket file /var/spool/MIMEDefang/clamd.socket could not be bound: Permission denied
[root@huzi mail]# 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

然后我们发邮件会发现发不出去。观察日志内容如下

[root@huzi ~]# tail -f /var/log/maillog
Jul 17 22:27:48 huzi mimedefang-multiplexor[10664]: started; minSlaves=2, maxSlaves=10, maxRequests=500, maxIdleTime=300, busyTimeout=600, clientTimeout=10
Jul 17 22:27:48 huzi mimedefang-multiplexor[10664]: Starting slave 0 (pid 10665) (1 running): Bringing slaves up to minSlaves (2)
Jul 17 22:27:48 huzi mimedefang[10680]: MIMEDefang alive. slavesReservedForLoopback=-1 AllowNewConnectionsToQueue=0 doRelayCheck=0 doHeloCheck=0 doSenderCheck=0 doRecipientCheck=0
Jul 17 22:27:48 huzi mimedefang[10680]: Multiplexor alive - entering main loop
Jul 17 22:27:51 huzi mimedefang-multiplexor[10664]: Starting slave 1 (pid 10682) (2 running): Bringing slaves up to minSlaves (2)
Jul 17 22:30:07 huzi sendmail[10962]: 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[10963]: m6HEU7vh010963: Milter (mimedefang): local socket name /var/spool/MIMEDefang/mimedefang.sock unsafe
Jul 17 22:30:07 huzi sendmail[10963]: m6HEU7vh010963: Milter (mimedefang): to error state
Jul 17 22:30:07 huzi sendmail[10963]: m6HEU7vh010963: Milter: initialization failed, temp failing commands
Jul 17 22:30:07 huzi sendmail[10962]: m6HEU7mQ010962: to=root@localhost, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30048, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 451 4.3.2 Please try again later
Jul 17 22:31:12 huzi mimedefang-multiplexor[10664]: Received SIGTERM: Stopping slaves and terminating
Jul 17 22:31:12 huzi mimedefang-multiplexor[10664]: Reap: slave 0 (pid 10665) exited normally with status 0
Jul 17 22:31:12 huzi mimedefang-multiplexor[10664]: 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[10664]: Reap: slave 1 (pid 10682) exited normally with status 0
Jul 17 22:31:12 huzi mimedefang-multiplexor[10664]: 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[10680]: MIMEDefang-2.64: mi_stop=1
Jul 17 22:31:15 huzi mimedefang-multiplexor[11018]: started; minSlaves=2, maxSlaves=10, maxRequests=500, maxIdleTime=300, busyTimeout=600, clientTimeout=10
Jul 17 22:31:15 huzi mimedefang-multiplexor[11018]: Starting slave 0 (pid 11019) (1 running): Bringing slaves up to minSlaves (2)
Jul 17 22:31:15 huzi mimedefang[11034]: MIMEDefang alive. slavesReservedForLoopback=-1 AllowNewConnectionsToQueue=0 doRelayCheck=0 doHeloCheck=0 doSenderCheck=0 doRecipientCheck=0
Jul 17 22:31:15 huzi mimedefang[11034]: Multiplexor alive - entering main loop
Jul 17 22:31:18 huzi mimedefang-multiplexor[11018]: Starting slave 1 (pid 11036) (2 running): Bringing slaves up to minSlaves (2)
Jul 17 22:31:29 huzi sendmail[11039]: 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[11040]: m6HEVTkv011040: Milter (mimedefang): local socket name /var/spool/MIMEDefang/mimedefang.sock unsafe
Jul 17 22:31:29 huzi sendmail[11040]: m6HEVTkv011040: Milter (mimedefang): to error state


然后重新启动sendmail 服务。同样报错误

原因是权限问题 /var/spool/MIMeDefang 的用户要为defang 权限要为700才可以,但是这样。Clamd重新启动后又被锁住了。所以只有把clamd的文件及日志所属主改为defang用户来运行。就可以了!


Jul 17 23:17:55 huzi mimedefang.pl[11725]: MDLOG,m6HFHqkf012590,mail_in,,,<root@localhost.localdomain>,<liuguanhu@wanxin-sz.com.cn>,this is a test page
Jul 17 23:17:55 huzi sendmail[12590]: m6HFHqkf012590: Milter delete (noop): header: X-Spam-Score
Jul 17 23:17:55 huzi sendmail[12590]: m6HFHqkf012590: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 17 23:17:55 huzi sendmail[12589]: m6HFHq1m012589: to=liuguanhu@wanxin-sz.com.cn, ctladdr=root (0/0), delay=00:00:03, xdelay=00:00:03, mailer=relay, pri=30066, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m6HFHqkf012590 Message accepted for delivery)
Jul 17 23:17:56 huzi sendmail[12594]: 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. [58.61.45.210], dsn=5.0.0, stat=Service unavailable
Jul 17 23:17:56 huzi sendmail[12594]: m6HFHqkf012590: m6HFHukf012594: DSN: Service unavailable  (对方说我的域名不合法。呵呵,我的域名是localhost.localdomian 而且用的是私有地址,所以,无法发送到对方邮件服务器)
Jul 17 23:17:56 huzi sendmail[12594]: 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[12590]: m6HFHqkf012590: Milter delete (noop): header: X-Spam-Score
Jul 17 23:17:55 huzi sendmail[12590]: m6HFHqkf012590: Milter add: header: X-Scanned-By: MIMEDefang 2.64 on 192.168.1.180
Jul 17 23:17:55 huzi sendmail[12589]: m6HFHq1m012589: to=liuguanhu@wanxin-sz.com.cn, ctladdr=root (0/0), delay=00:00:03, xdelay=00:00:03, mailer=relay, pri=30066, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (m6HFHqkf012590 Message accepted for delivery)
Jul 17 23:17:56 huzi sendmail[12594]: 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. [58.61.45.210], dsn=5.0.0, stat=Service unavailable
Jul 17 23:17:56 huzi sendmail[12594]: m6HFHqkf012590: m6HFHukf012594: DSN: Service unavailable
Jul 17 23:17:56 huzi sendmail[12594]: m6HFHukf012594: to=<root@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31680, dsn=2.0.0, stat=Sent

论坛徽章:
0
3 [报告]
发表于 2008-07-19 12:16 |只看该作者
sf,这么好的贴不顶不行
pdf文档捏?:

论坛徽章:
0
4 [报告]
发表于 2008-07-19 12:16 |只看该作者
看到了,坐板凳继续顶!!

论坛徽章:
0
5 [报告]
发表于 2008-07-19 13:37 |只看该作者


pdf 在第一贴里面,有什么问题可以跟贴!谢谢指点!

论坛徽章:
0
6 [报告]
发表于 2008-07-19 13:40 |只看该作者
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 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-07-19 13:54 |只看该作者












论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2008-07-19 13:59 |只看该作者
友情支持下,以前好像有个postfix实现的例子,都不错

论坛徽章:
0
9 [报告]
发表于 2008-07-19 14:26 |只看该作者












论坛徽章:
0
10 [报告]
发表于 2008-07-19 14:46 |只看该作者
huzi。。。。很好很强大~~~强力支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP