Is there a place for RRS - a recipient rewriting scheme.

Neil Brown <[email protected]>
Newsgroups gmane.mail.spam.srs.general
Message-ID <[email protected]>

Hi,
 SRS was created to try to overcome a perceived problem with SPF.
 That problem being that SPF cannot reliably assess mail that has
 passed through a forwarder.

 SRS addresses this problem by requiring the forwarder to rewrite the
 sender address.

 Some people are unhappy with this solution.

 One way to describe the basis for this unhappyiness is that requiring
 a forwarder to do something is simply not possible.  I can control my
 own mail server.  I cannot control anyone else's.

 For this reason, I think there needs to be a solution to the
 forwarder problem that each party can independently enact to help be
 sure that mail gets through.

 The forwarder can use SRS on mail that passes through and thereby
 make the mail more likely to be recieved.
 The original sensed can (possibly) use universal SRS to authenticate
 themselves as sender which might help their mail get  through (if
 recipients that implement SPF are willing to check universal SRS as
 well).

 But what can the recipient do?  I.e. what can I do the make sure that
 mail forwarded to users at my site get through, but that still allows
 me to reject lots of mail based on SPF checks.

 One thing that I have mentioned is to have local users register any
 aliases that might be sending them mail, and to allow any mail to
 them from authorised senders for that domain.
 But this solution has real problems as keeping this database uptodate
 and working would undoubtedly be an unpleasant overhead.

 Another solution that recently occurred to me is to use recipient
 rewriting.   It would work like this:

   When someone wants to set up a forwarder somewhere that forwards to
   their account on my mailserver, they ask for a signed address (using
   some local setuid program or a webpage that authenticates them or
   similar). 
   This address looks something like:
	RRS+HHHH+forwarderdomain+forwarderlocalpart+locallocalpart@domain
   where the HHHH is a crypto HASH of some secret with the rest of the
   address. 

   If I receive an address like that, I check that the HHHH is
   correct, and if it is, I use forwarderlocalpart@forwarderdomain as
   the responsible sender for an SPF check.  The result of that check
   is used as input to my local policy for rejecting or accepting
   email.

   If the mail is accepted, it is sent on to locallocalpart@domain of
   course.

 This approach still requires my customers to be aware of their
 forwarders and to take local action with respect to them, but it
 means that I don't have to maintain a database. 

Having a range of mechanisms that I can use depending on whether I am
acting as a sender, and recipient, or a forwarder means that I can
maximise the chance of my customers mail getting through, both
incoming and outgoing, without depending on particular behaviour of
other sites.  I think this is a win.

NeilBrown
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.