原帖由 anthonyfeng 于 2006-6-30 15:57 发表
用OA 或gpg
原帖由 tanyear 于 2006-6-30 15:45 发表
好的邮件服务器会检查通过验证的用户和邮件中的发件人是否吻合
原帖由 galaxy1975 于 2006-7-1 02:03 发表
postfix可以在policy中检测一下发件人和认证名是否相同
原帖由 abel 于 2006-7-3 11:13 发表
就 sendmail 而言,應該是在
Local_check_mail 中比對 auth_authen (Auth username) 和 $&f (Envelope From ) 中是否不同,
不過這個 rule 寫法我個人不是很了解,也沒有興趣了解,因為對我來說跟本用不到或有 ...
原帖由 dragonets 于 2007-1-24 14:37 发表
少了一行语句
read_commands_file(); # 执行此句才能激活全局变量 $SendmailMacros
return ('REJECT','This is not allow for AUTH!=Sender') if (!($Sender=~ /^$SendmailMac ...
原帖由 abel 于 2007-1-24 14:42 发表
哈~您說的沒有錯,確實需要 read....() 才行,
因為這個動作還在 filter_sender , 所以需要 read_commands_file
原帖由 dragonets 于 2007-1-24 15:02 发表
我还有个问题想请教一下abel,盼望能指点一二。
Sendmail 用户发内部邮件的时候,可以不经过验证就发内部邮件。
在没有验证的情况下,$SendmailMacros 的值是什么?是否为空?
原帖由 abel 于 2007-1-24 15:25 发表
{auth_type}, {auth_authen} {auth_author} 不算為空,應視為未定義
也就是可以用 來判斷
if (!defined($SendmailMacros{"auth_authen"})) {
...
}
原帖由 dragonets 于 2007-1-24 15:44 发表
谢谢abel!
实验成功!
有这2句就可以确定唯一的发信者了。整理一下
sub filter_sender {
my ($sender,$ip,$hostname,$helo)=@_;
read_commands_file();
# 执行此句才能激活全局变量 $Sendm ...
原帖由 abel 于 2007-1-24 16:03 发表
您應該回應英文的訊息,不然 Sendmail 會以 7bit 來處理,所以看見的會數化亂碼
原帖由 beerpapo 于 2007-1-25 09:42 发表
可以看邮件头里面发送假冒邮件的计算机名称,但如果连计算机名也改了就没办法了
Received: from 6tkt12x ([218.19.11.230])
(envelope-sender <xxxxx>)
by 10.0.0.102 with ESMTP
for <xx ...
原帖由 abel 于 2007-1-25 09:55 发表
如果我用 telnet 來送,除了 IP 外,什麼都可以假了
而且若我 auth_authen = Sender , 但 Mail Header 中的 From: 又是老板,那一般的人也很難判斷
這到底是不是老板發的了
當然,這種狀況在 sendmail + m ...
原帖由 dragonets 于 2007-1-25 10:02 发表
所有出去进来的信我在filter_end做了add_recipient("postmaster"),是否能找到是谁发的?
原帖由 abel 于 2007-1-25 09:55 发表
如果我用 telnet 來送,除了 IP 外,什麼都可以假了
而且若我 auth_authen = Sender , 但 Mail Header 中的 From: 又是老板,那一般的人也很難判斷
這到底是不是老板發的了
當然,這種狀況在 sendmail + m ...
原帖由 枫影谁用了 于 2007-1-25 10:39 发表
Postfix不会!应该比Sendmail更容易.
http://blog.chinaunix.net/u/9817/showart.php?id=207355
如果采用ldap或mysql的话应该更简单.
原帖由 枫影谁用了 于 2007-1-25 10:39 发表
Postfix不会!应该比Sendmail更容易.
http://blog.chinaunix.net/u/9817/showart.php?id=207355
如果采用ldap或mysql的话应该更简单.
原帖由 abel 于 2007-1-25 10:54 发表
你說的不過是
Envelope Sender 和 auth 的比對而以,和 Header From 跟本沒有關係
http://archives.neohapsis.com/archives/postfix/2005-11/0452.html
這篇也說了, postfix 尚做不到 Header 中 ...
原帖由 abel 于 2007-1-25 10:54 发表
你說的不過是
Envelope Sender 和 auth 的比對而以,和 Header From 跟本沒有關係
http://archives.neohapsis.com/archives/postfix/2005-11/0452.html
這篇也說了, postfix 尚做不到 Header 中 ...
原帖由 abel 于 2007-1-26 11:37 发表
你用一些標準的 MTA ,在 Envelope Sender,authen,Header From 都是一樣的,
你若用 spam tools 發的信這些東西都可以不一樣,所以最好應該做到三者的一致性檢查
我的意思是其他的 MTA 應該沒有這種功能,但 sen ...
原帖由 dragonets 于 2007-1-27 09:37 发表
已经成功,谢谢abel指点。
在filter_begin增加:
if ($Sender =~ /\@dragonetsss\.com/) {
my $header_object = $entity->head;
my $header_from= $header_object->get('From', 0);
return action ...
原帖由 abel 于 2007-1-29 09:20 发表
這種做法有一點你必需注意的是 mailling list 的問題 (aliases)
也就是若是用 mailman 或 majadomo 之類的,可能 Envelope From != Header From
避免方式就是判斷 Header List-* 之類的是否存在
原帖由 dragonets 于 2007-1-29 10:03 发表
谢谢提醒,我现在暂时用不到那2个。呵呵,以后有时间在研究下那2个。
原帖由 abel 于 2007-1-29 10:28 发表
這無關你用不用,而是你的 user 是否有訂閱外面的 mailing list , 若這些 mailing list
使用 mailman 等,其 Sender 會不同於 header from
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |