发三次是policyd源代码要求的吧。我在policyd.conf和policyd库中都没看到这个次数的设置。


尽量用policyd一个软件实现吧。

求问:这个Convert-TNEF做啥的??

一直出现Recipient address rejected: Policy Rejection- Please try later
以前都没这问题 , 现在寄10次都是一样

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

难道policyd做了限制??按理说发送3次差不多就可以了。


postmaster was rejected because it would exceed the quota for the mailbox
这个是信箱满了。

灰名单可以手动加白名单。

有三种风格:

  IP Whitelisting format:

    INSERT INTO whitelist (_whitelist,_description) \
      VALUES ('127.%.%.%','# localhost');
    INSERT INTO whitelist (_whitelist,_description) \
      VALUES ('192.168.2.10','# lan server');


  Sender Whitelisting format:

    INSERT INTO whitelist_sender (_whitelist,_description) \
      VALUES ('camis@mweb.co.za','# whitelist single address');
    INSERT INTO whitelist_sender (_whitelist,_description) \
      VALUES ('@mweb.co.za','# whitelist entire domain');

    Please note that address whitelist will be matched only against
    the  sender address. For recipient  whitelisting,  please refer
    to the opt-in/opt-out section below.


  DNS name whitelisting

    INSERT INTO whitelist_dnsname (_whitelist,_description) \
      VALUES ('%.mweb.co.za','# whitelist *.mweb.co.za');
    INSERT INTO whitelist_dnsname (_whitelist,_description) \
      VALUES ('%.mail.mud.yahoo.com','# whitelist all yahoo mud mailservers');
    INSERT INTO whitelist_dnsname (_whitelist,_description) \
      VALUES ('n10.bulk.dcn.yahoo.com','# whitelist only this mailserver');

又看了下。
貌似应该设置一个全域级别的
INSERT INTO throttle \
(_from,_count_max,_quota_max,_time_limit,_mail_size,_date,_priority)
VALUES ('@domain.com',      # domain                                   
          50,                # maximum messages per time unit
          250000000,         # size in bytes (250 megs) (maximum is 2gig)
          86400,             # time unit in seconds (1 day)
          10240000,          # maximum message size (10 meg)
          UNIX_TIMESTAMP(),  # current time
          5);                # priority of record

policyd貌似可以通过

INSERT INTO throttle \
(_from,_count_max,_quota_max,_time_limit,_mail_size,_date,_priority)
VALUES ('user@domain.com',  # from address                             
          50,                # maximum messages per time unit    每个时间段发送邮件的数量
          250000000,         # size in bytes (250 megs) (maximum is 2gig)每个时间段发送邮件大小的数量
          86400,             # time unit in seconds (1 day)        一个时间段是1天
          10240000,          # maximum message size (10 meg)    每封邮件最大的限额
          UNIX_TIMESTAMP(),  # current time
          10);               # priority of record                记录的优先级

设置邮件的限额。但是这个限额的大小不能突破main.cf中的 message_size_limit。

这样的话,如果最大的附件大小为30MB。那么默认所有的人都可以发送30MB的附件(不考虑base64编码的影响)。
除非是在throttle 表中设定的。

如果忘记对一些人设定。那这个policyd就木有意义了吧。

不好意思,下午太困。迷糊了。。。。

参考下这里
http://www.vfocus.net/art/20090818/5700.html

DRBD是一种块设备,可以被用于高可用(HA)之中。它类似于一个网络RAID-1功能。当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上。以相同的形式记录在一个文件系统中。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵。因为数据同时存在于本地主机和远程主机上。切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了。

几经周折最后公司确定是用ad绑定用户。问题是又要增加一个domain。将来可能又要两个,三个,,,,于是我打算,在virtual_box_map设置多个值,第一个写上指向ad的。第2个写到指向ldap的。这样不知道会不会搞砸。。

有木有这么搞过的??

之所以这么混合搞,因为一个dc上恐怕不能设置多个domain。。我个人以为。求指点批判。谢谢。

应该设置一个drbd吧。平时就用一台。那一台drbd就闲着。万一挂掉后,用hearbeat来自动切换到drbd的备机上。

始终只有一台在操作共享存储。当然不会冲突。

RT!貌似安装后效果也不大,也就是一个心理作用:-(

yum install php-pear
yum install php-devel
#安装apxs命令
yum install httpd-devel
#安装apc
pecl install apc

#enable apc
echo "extension=apc.so" > /etc/php.d/apc.ini

#重启apache后生效
/etc/init.d/httpd start
如果有错误请参考
http://2bits.com/articles/installing-ph … tos-5.html

看了一下,还是张兄写的更简洁易懂。居然webmail都可以做一个

grep -c failed /var/log/dovecot.log

fail2ban-regex /var/log/dovecot.log /etc/fail2ban/filter.d/dovecot-pop3imap.conf

返回数字一样的。

终于搞定了。。。。一番折腾。

要点
1、设置fail2ban.conf文件,使log写入到指定文件而不是SYSLOG。
2、设置jail.conf或者是jail.local,不要太多的段。仅仅要default和dovecot和postfix。即兰州提供的。
3、删掉多余的filter。仅仅保留兰州提供的。但是根据自己的dovecot日志样本做修改。但是必须要保留<HOST>。否则会报告No 'host' group".

发现一个问题。就是用yum安装的必须要修改一个地方
fail2ban.conf文件中
logtarget = SYSLOG
需要修改成
logtarget = /var/log/fail2ban.log
才能写入到日志中。

sdaniel 写道:

检查一下这个要求是否满足,否则不应该没有日志的,并且重启fail2ban时,会有邮件到管理员邮箱的:

Required:
   >=python-2.3 (http://www.python.org)
Optional:
   >=gamin-0.0.21 (http://www.gnome.org/~veillard/gamin)

邮件样例如下:
Hi,

The jail POSTFIX has been started successfully.

Regards,

Fail2Ban

看样子都满足。
[root@mail01 ~]# rpm -qa|grep gamin
gamin-0.1.7-8.el5
gamin-python-0.1.7-8.el5
[root@mail01 ~]# rpm -qa|grep python
python-2.4.3-27.el5

重启fail2ban服务也确实能收到通知邮件。但是。。。。无论多少次输入错误密码都不屏蔽。然后改成正确密码。还让你收邮件。我没有设置到ignoreip。但是服务器和客户端都在一个10.0.101.×网段中。

谢谢s兄指点。不过今天下午折腾了一顿也没搞定。配置文件几乎照抄。不过我是用epel源的yum安装的。

我对比了一下dovecot的错误密码登录日志。

将/etc/fail2ban/filter.d/dovecot-pop3imap.conf中
failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed).*rip=(?P<host>\S*),.*
修改为failregex =  \(auth failed

重启failban,结果根本没用!!连/var/log/fail2ban.log这个文件都没生成!!!悲催吧。

马克一下。这个需要设置一个ip白名单吧。要是公司办公室内有一个人输错了,那几百号人的foxmail都报错啦。这就要炸锅了。

我这边不是明文啊。。。。

经ed兄指点。发现126在15,30分钟后,分别进行再次和第三次的投递。第2次就收到啦。

真是悲剧啊。126就不给再次投递。。。。。。

centos网站找了到修复命令修复====能给共享下么?谢谢。

呵呵表激动。先教你点实惠的:
你所谓的界面是webmail。要通过主机名,域名看到webmail页面,就必须有主机名到ip的解析,这个解析可以是dns来完成,也可以是hosts里面直接写死。这一点都没搞定,就要搞mailserver,不如洗洗出去把妹。。。。

另外你的理解力太差。搞技术目前还是差了点。恕在下直言。

修改你的windows主机的hosts文件。老弟还是看点基础的东西比较好。或者我代你写论文,千字一百?$_$

对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

那就是说默认的iredmail没有用policyd-spf!组件也了解了一下。您这么一说和我想的又不一样了。

RT!
http://www.iredmail.org/wiki/index.php? … _SPF_check

但是即使是最新的0.7也是用perl版的!python版要用源码编译安装吧。在官网上看了一下,发现只有debian的包。没有rpm包!