bbs.ChinaUnix.net
首页 | 微博 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


postfix例外某些被列入rbl的IP地址。(已解决)


  首页 » 论坛 » Mail服务器 »
[打印] [收藏] [本帖文本页] [推荐此主题给朋友]

我在postfix里设置了rbl检查,我想问可不可以在postfix的main.cf里设置hash maps或者regrex maps例外某些被列入rbl的地址呢?

因为使用了rbl的确能把很多垃圾邮件地址挡掉,但我们公司有些客户的邮件系统地址也被列入rbl,申请撤离后没多久又被加入黑名单,故此想知道有没有办法可以既使用rbl功能,又对某些有用但被列入rbl的邮件地址进行例外通过。

之前用了一个办法: 将rbl整合到spamassassin里,不加到postfix直接当掉,但发现好像效果不佳,而且评分要抓的很小心。所以想问问有没有上面我所想的办法。

有请各位大虾帮忙。 谢谢!

[ 本帖最后由 恋夏寒 于 2008-1-23 15:28 编辑 ]





QUOTE:
原帖由 恋夏寒 于 2008-1-22 09:23 发表
我在postfix里设置了rbl检查,我想问可不可以在postfix的main.cf里设置hash maps或者regrex maps例外某些被列入rbl的地址呢?

因为使用了rbl的确能把很多垃圾邮件地址挡掉,但我们公司有些客户的邮件系统地址 ...


一般來說,在  sendmail 中被列入 RBL 的在 access 中若為 OK 則信件仍可進來,
我想 postfix 應該也是相同的
實踐才是真理
__________________________________
no pm,no answer





QUOTE:
原帖由 abel 于 2008-1-22 11:07 发表

一般來說,在  sendmail 中被列入 RBL 的在 access 中若為 OK 則信件仍可進來,
我想 postfix 應該也是相同的
實踐才是真理




好的  谢谢你的意见, 虽然不是肯定,但给了我一个思路,我试试。





QUOTE:
原帖由 abel 于 2008-1-22 11:07 发表

一般來說,在  sendmail 中被列入 RBL 的在 access 中若為 OK 則信件仍可進來,
我想 postfix 應該也是相同的
實踐才是真理




测试发现不行。  我说说我的具体测试过程吧:

我的rbl check是加在 smtpd_recipient_restrictions 和 smtpd_client_restrictions 中,而我在此两项参数中加入了check_recipient_access regexp:/etc/postfix/pass_ip 和 check_client_access regexp:/etc/postfix/pass_ip , 形成以下配置参数。

  1. smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access regexp:/etc/postfix/pass_ip, reject_unauth_destination, reject_non_fqdn_hostname, reject_unknown_sender_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_invalid_hostname, reject_rbl_client cbl.anti-spam.org.cn=127.0.8.2, reject_rbl_client cdl.anti-spam.org.cn=127.0.8.4, reject_rbl_client cblplus.anti-spam.org.cn=127.0.8.6, reject_rbl_client cblless.anti-spam.org.cn=127.0.8.5

  2. smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, check_client_access regexp:/etc/postfix/pass_ip, reject_unknown_client, reject_rbl_client cbl.anti-spam.org.cn=127.0.8.2, reject_rbl_client cdl.anti-spam.org.cn=127.0.8.4, reject_rbl_client cblplus.anti-spam.org.cn=127.0.8.6, reject_rbl_client cblless.anti-spam.org.cn=127.0.8.5
复制代码


我在/etc/postfix/pass_ip加入被列入RBL的IP地址。例如:(正则表示法)

  1. /203.86.17.3$/      OK
  2. /203.169.153.88$/   OK
复制代码


运行:  /usr/sbin/postmap -q - regexp:/etc/postfix/pass_ip < /etc/postfix/pass_ip  和  /usr/sbin/postfix reload 后
被列入RBL的IP依然被挡了,是不是这个access表不应该加在那两个参数中啊? 应该加在sender check中?



好像应该使用的是check_sender_access而不是check_recipient_access和check_client_access,我先试试。 待会给答案。



实验证明,的确是用check_sender_access加在那两个参数里。而且maps里面的内容必须是邮件地址或域名。

我还尝试了一个解决办法:

  1. smtpd_restriction_classes = from_freemail_host

  2. from_freemail_host = check_client_access hash:/etc/postfix/freemail_hosts, reject

  3. smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/freemail_access

  4. smtpd_client_restrictions = check_sender_access hash:/etc/postfix/freemail_access
复制代码


/etc/postfix/freemail_access的格式
yahoo.com  from_freemail_host

/etc/postfix/freemail_hosts的格式:
yahoo.com  OK

以上办法证实是可行的,但要注意一点,如果你的postfix同时配置了防止假冒地址(Preventing sender spoofing)的话,以上动作会使从yahoo.com发过来的信都会显示:'554 5.7.1 <XXXX@yahoo.com>: Sender address rejected: Access denied'。

解决办法就是把yahoo.com的mx记录的ip地址也加入到freemail_access和freemail_hosts中去。

以上所说的方法同时适用于例外某些没有反解的但又需要正常联系的邮件地址。



很不错
__________________________________
SA & DBA
QQ:967409
MSN:ruochen0926(at)hotmail.com



Copyright © 2001-2010 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP