看板FreeBSD
标 题Re: 关於用 postfix 阻挡 dynamic ip 发的广告信
发信站SayYA 资讯站 (Sun Jul 4 16:33:59 2004)
转信站ptt!ctu-reader!news.nctu!SayYa
※ 引述《[email protected] (汀)》之铭言:
> 从 google 上挖到两种方法,第一种方法是:
> --------------------------------------------------------
> 设定方法:
> 以 Sendmail 8.12.x 的版本为例, 只要在 access 设定
> connect:dymanic.domain.name REJECT
> 即可阻挡掉由浮动 IP 直接发送过来的信件
> --------------------------------------------------------
> 我知道 postfix 也能这样设,但是会变成要 case by case。
怎样算是 case by case ?
> 第二种方法是用 procmail 去挡:
> --------------------------------------------------------
> # 拒绝由各ISP 动态 IP relay 过来的信件
> :0 BH
> * ^Received:.*from.*\(.*(\-|\.).*(\-|\.).*(\-|\.).*\.dynamic\..*
> /dev/null
这挡法不正确,因为您要挡的是这些主机来源直接的 smtp 连线,
而不是 mail header 内有 Recevied 於 dynamic 项目的信件。
> --------------------------------------------------------
> 结果我发现这样做的话,只要发信人是用 dynamic ip 上网寄信,
> 就会在第二段 Recevied: 那行被这个规则送进 /dev/null 去。
> 不知道有没有更好的方法来设定呢?
procmail 这类 mda 是无法很简单处理,因为你要判定的话就是取出
mail header 最前面一笔 Recevied 纪录确认是否有包含 dynamic
项目设定,这样才不会误挡。不过这个效率可能比较差就是了,因为
无法直接於 smtp 沟通交谈那关处理掉。
使用 postfix 当 mta 的话有很多设定方式,比方在
smtpd_recipient_restrictions 使用像是:
smtpd_recipient_restrictions =
check_client_access regexp:/etc/postfix/client_checks
其中 client_checks 档案像是设定:
/\.dynamic\./ REJECT
--
真诚最可贵 用心最踏实
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: kendlee.sayya.org