1 最后由 yzhkpli (2011-04-02 22:17:43) 编辑

主题: iredmail系统初步分析

对iredmail系统的简单分析,希望能抛砖引玉。

postfix完成收发
dovecot完成sasl认证和pop3服务。
邮件列表可能是在iredadmin-pro用iredapd配合group完成邮件列表控制
参考这里:http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/LDAP/Add.Maillist.with.phpLDAPadmin
官方文档提到mailist也是用group完成。


本人没有iredadminpro版,手动用的是参考这里
http://www.iredmail.org/wiki/index.php? … pLDAPadmin
建立alias。(如果是AD认证的,貌似也只能是用alias来作为mailist)
然后用smtpd_recipient_restrictions去做的限制。
smtpd_recipient_restrictions 参考http://www.postfix.org/RESTRICTION_CLASS_README.html


邮件收发频率限制可以用 milter
参考:
http://www.iredmail.org/oldbbszh/archiver/tid-395.html

dk-milter consists of two parts: A milter-based application (dk-filter) which plugs in to Sendmail to provide DomainKeys service, and a library (libdk) which can be used to build DomainKeys-compliant applications or MTAs. See the home page for details.



但是iredmail使用的是policyd。而且是1.8,并不是最新的v2。
policyd官方文档见:
http://policyd.sourceforge.net/readme.html

iredmail的policyd默认没有启动,需要手动开启。
grep -n SENDERTHROTTLE /etc/policyd.conf
619:SENDERTHROTTLE=0   #表示没有启用
参考:http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Throttling/RHEL.CentOS
注:policyd还可以实现其它功能。比如发送邮件的频率,限制具体到每个账户的附件的大小。


防范垃圾邮件主要用DNS上做SPF和DKIM。使用spamassassin做after-queue检测。其中dkim不是用专门的软件,例如opendkim或者dkim-milter,而是spamassassin。



SPF的原理参考
http://wangxu.me/blog/p/215
大致意思是说:先后检查邮件的HELO SPF和Mail From。如果第一个HELO SPF检查结果是REJECT/DEFER,
那么后面的Mail From就不需要检查了。

参考:(都是perl版的)
http://www.wenzk.com/archives/1178
http://blogold.chinaunix.net/u3/106477/ … 44053.html
http://wangxu.me/blog/p/215
http://www.extmail.org/forum/thread-9421-1-5.html


我发觉一个问题,虽然系统安装了perl-Mail-SPF
rpm -qa|grep -i spf
    perl-Mail-SPF-2.006-1.el5.rf
    perl-Mail-SPF-Query-1.999.1-2.el5.rf
但是,在系统中并没有设置用postfix-policyd-spf-perl。而是推荐使用python版的spf。
参考文档见:
http://www.iredmail.org/wiki/index.php? … _SPF_check


DKIM默认是启用的。见/etc/amavisd.conf
$enable_dkim_verification = 1;  # enable DKIM signatures verification
$enable_dkim_signing = 1;    # load DKIM signing code, keys defined by dkim_ke
参考这里:http://www.iredmail.org/wiki/index.php?title=IRedMail/FAQ/Enable.Disable.DKIM


但是iredmail默认仅仅是给第一个域设置dkim。如何给后来的域增加dkim记录
参考这里:http://www.iredmail.org/forum/post1807.html#p1807


iredmail里面还安装有greylist。默认没有启动。如果需要启动,请参考这里
http://www.iredmail.org/wiki/index.php? … reylisting