Re: [exim] help me close an open relay

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: Zbigniew Szalbot
CC: exim-users
Subject: Re: [exim] help me close an open relay
[I've lost track of this thread a bit, so I am going to try and
reinforce what the problem is an some suggested fixes....]

On 29 May 2007, at 12:23, Zbigniew Szalbot wrote:
> This is the content of the file:
>
> accept    hosts          = +relay_from_hosts

>
> accept
>        senders       = :
>        condition     = ${if >{$recipients_count}{1}{0}{1}}

[ rest of ACLs snipped]

The bottom ACL there is the problem. It is accepting any mail with
empty senders and only one recipient.

There are a number of potential solutions to this...

   1. Do not treat empty senders any different to other mail
      coming through the box - ie delete this ACL entirely.
   2. Add a check within the same ACL to ensure that recipients
      are local (and another ACL for remote recipients caused
      by a locally generated bounce)
   3. Reverse the test to reject bounces to multiple recipients
      (not quite safe - aliasing can legitimately cause multi recipient
      bounces).


Really in your RCPT ACL you want to:-
   + ACCEPT if locally generated
   + ACCEPT if authenticated
   + REJECT if destination cannot be verified
   + ACCEPT if in relay networks (ie local network)
   + REJECT (or WARN) if sender host is on DNS lists you use
   + REJECT if bounce to (remote/non-local) address
     *** legitimate locally generated bounces are accepted by earlier  
rules
   + ACCEPT everything else


there are variations on this, including ordering things to get the
best use of your CPU...

    Nigel.
--
[ Nigel Metheringham           Nigel.Metheringham@??? ]
[ - Comments in this message are my own and not ITO opinion/policy - ]