[Mailman-Developers] before next release: disable backscatter in default installation
Ian Eiloart
iane at sussex.ac.uk
Tue Apr 1 12:52:55 CEST 2008
--On 1 April 2008 03:11:17 +0200 Mads Kiilerich <mads at kiilerich.com> wrote:
> Mark Sapiro wrote, On 03/31/2008 06:26 PM:
>> So what do I do practically in this case. Calling out to verify the
>> recipient won't help because the recipient is valid.
>
> I think that we - admins and developers - have to realize that times are
> changing.
agreed.
> Once upon a time when the RFCs were written then mail was asynchronous
> store-and-forward. MTAs accepted mails before being 100% certain that
> they could and would deliver them, and as soon as the mail had hit the
> disk then the receiving MTA took over delivery responsibility from the
> sending MTA.
true.
> In such a scenario Mailman "is just" a MTA with bouncing/holding
> filtering and dynamic alias expansion of envelope-rcpt and replacement of
> envelope-from with a robot address.
yes.
> But now in modern times all mail handling has to be synchronous.
that would be nice.
> Spam and
> virus and backscatter does that a MTA should never take responsibility
> for anything from an untrusted sender before the mail has actually been
> taken fully care of by someone - perhaps just by making it the problem of
> the next MTA/MDA. Yes, doing this all the way to the final mailboxes
> might be more expensive than the old way of doing it - but at the same
> time the same amount of work (or less?) has to be done, so it can't be
> that bad ... except for the number of live connections. I think that the
> RFCs allows fully synchronous mail handling, they just have to be used
> another way than they usually are today.
No, they don't allow fully synchronous mail handling. The problem is that
much spam filtering depends on message content (headers and body). And,
different recipients have different views on what is acceptable content.
The RFCs don't allow us handle differences of opinion, because SMTP has no
way of saying "foo at example.com" will accept this message, but
"bar at example.net" will not.
In theory, this could be dealt with by adopting LMTP instead of SMTP. LMTP
does allow us to reject or defer for individual recipients after we've seen
the message content. But that's always going to be a slow process, and
it'll be a brave sysadmin who first says "you can only deliver to us using
LMTP".
The first step to this would be an extension to SMTP which allows a server
to say "you may switch to LTMP" if you wish. MTA's might be configured to
switch to single recipient deliveries when LMTP wasn't available. But, what
spammer would use LMTP if SMTP were available?
It's nice to know that Mailman 3 is likely to have an LMTP engine, because
it will be possible for lists to use different content-based rules, and
reject (not bounce) messages to multiple lists depending on individual list
rules. For example, one list might reject a message with attachments. Of
course, this will only push the problem back to the local MTA, but that is
at least some progress.
> In Marks specific case in this scenario: The verification phase has been
> replaced by actually doing the delivery all the way to the final
> recipients, so the recipient ending up being invalid will be handled
> properly.
>
> In this scenario Mailman is a MTA which decouples the synchronous chain.
> Mails are accepted and enqueued by Mailman iff responsibility is taken,
> either for immediate delivery or manual review - all other mails are
> rejected. All filtering thus has to be done synchronously. Delivery to
> list members is a separate process where target mail hosts probably will
> provide synchronous delivery status feedback (perhaps as DSN bounces from
> a trusting "real" MTA) (and if other mail hosts chooses to accept and
> then bounce later then they have a problem, but Mailman can still handle
> receiving bounces).
>
> Lots of details are missing in this description. But do you agree that
> this is the direction we have to take as developers and admins?
That would depend on whether we thought converting the world to LMTP is
worth the effort. Perhaps it is, but not in my view simply so that we can
fight spam. The real problem that we have to solve is trusting
return-paths. At the moment, we can't trust or distrust anyone because it
is so trivial to forge return-paths. SPF and DKIM offer solutions to
authenticate senders, and hold domain owners accountable for email that's
sent.
Once they're widely deployed, we will be able to make reasonable decisions
about whether to trust the email sender based on the sending domain, or
even on the individual sender.
At that point, we'll be able to synchronously chain callouts, without
requiring to look at any message content. Sites will reliably be able to
blacklist or whitelist based on Mail From. We'll be able to build trust
networks (like RBL lists, but with domains and email addresses, not IP
addresses), and we won't need to scan content at all.
> /Mads
>
> ps: This might be a bad description of trivial observation, but it
> suddenly made sense to me and I wanted to share it, even though I'm
> mostly a lurker on this list. Take it or leave it ;-)
>
--
Ian Eiloart
IT Services, University of Sussex
x3148
More information about the Mailman-Developers
mailing list