免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5639 | 回复: 6

[Mail] postfix例外某些被列入rbl的IP地址。(已解决) [复制链接]

论坛徽章:
0
发表于 2008-01-22 09:23 |显示全部楼层
我在postfix里设置了rbl检查,我想问可不可以在postfix的main.cf里设置hash maps或者regrex maps例外某些被列入rbl的地址呢?

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

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

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

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

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2008-01-22 11:07 |显示全部楼层
原帖由 恋夏寒 于 2008-1-22 09:23 发表
我在postfix里设置了rbl检查,我想问可不可以在postfix的main.cf里设置hash maps或者regrex maps例外某些被列入rbl的地址呢?

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

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

论坛徽章:
0
发表于 2008-01-22 17:31 |显示全部楼层
原帖由 abel 于 2008-1-22 11:07 发表

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



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

论坛徽章:
0
发表于 2008-01-22 17:45 |显示全部楼层
原帖由 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中?

论坛徽章:
0
发表于 2008-01-22 18:03 |显示全部楼层
好像应该使用的是check_sender_access而不是check_recipient_access和check_client_access,我先试试。 待会给答案。

论坛徽章:
0
发表于 2008-01-23 09:25 |显示全部楼层
实验证明,的确是用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中去。

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

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
发表于 2008-03-14 14:46 |显示全部楼层
很不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP