David Summers wrote:
> 
> Today I noticed that I got some SPAM to root user that said it was from
> root at my host.  This shouldn't be possible because SPF should be
> checking and rejecting forged mail that says it comes from my host when
> it really comes from somewhere else.
> 
> I turned on debugging and found the following problem in the code and
> generated this patch which "fixed" the problem.
> 
> --- sender_permitted_from    2007/11/07 04:01:58    1.1
> +++ sender_permitted_from    2007/11/07 04:03:18
> @@ -74,7 +74,9 @@
>    my ($self, $transaction, $rcpt, %param) = @_;
> 
>    # special addresses don't get SPF-tested.
> -  return DECLINED if $rcpt and $rcpt->user and $rcpt->user =~
> /^(?:postmaster|abuse|mailer-daemon|root)$/i;
> +  # Check is turned off.  Why should we disable SPF for special users
> +  # which allows SPAM through?
> +  #  return DECLINED if $rcpt and $rcpt->user and $rcpt->user =~
> /^(?:postmaster|abuse|mailer-daemon|root)$/i;
> 
>    my $query = $transaction->notes('spfquery');
> 
> 
> Question: Isn't this the correct thing to do?  (Not allow foreign users
> to forge addresses?)  Why would anyone want to allow anyone else to
> forge special addresess?  I'm getting several SPAM emails a day that are
> being allowed through because of this.

To state the obvious, the above code turns off SPF checking when the
recipient is one of the above accounts.

> In researching it, I saw a comment about RFC 2142 which states that
> there have to be special addresses allowed, postmaster, root, etc., but
> not allowing them to pass the SPF check doesn't prevent a valid sender
> from sending email to those addresses, SPF check will only prevent
> invalid (forged) mail.

> Am I missing something?

The rabid belief by some that RFC2142 mandated addresses MUST NOT be
filtered under any circumstances.  Including people who misinterpret SPF
records ;-)  [We publish ~all, some people interpret email .forwarded
thru something not in the SPF record to be forged and bounce it.]

Reply via email to