From: Alexey V. Degtyarev <[email protected]>
> > From: Phil Pennock 
> > You want something like this (untested):
> > 
> > acl_signedin_or25_check:
> >   accept condition = ${if ={25}{$interface_port}}
> >  require  authenticated = *
> >       condition = ${if def:tls_cipher}
> >        message = Must be authenticated over TLS
> >   accept
> > 
> > and then inside acl_check_rcpt you would have:
> >   require   acl = acl_signedin_or25_check
> 
> I think even more simple would be to use server_advertise_condition option for
> desired authenticator. This example should work as requested: LOGIN
> authentication mech won't be advertised (and won't be allowed even if
> requested) without TLS established:
> 
> LOGIN:
>   driver                     = plaintext
>   server_set_id              = $auth1
>   server_prompts             = <| Username: | Password:
>   server_condition           = ${if saslauthd{{$auth1}{$auth2}}}
>   server_advertise_condition = ${if def:tls_cipher}

I do already have the server_advertise_condition (from the default 
configuration).
And it seems to work as when I try to authenticate on port 25, exim ignores the 
login/pass I provided.
But I am still allowed to send emails (unauthenticated).

What I am trying to do (which should be the same as most email servers):
- I want the server to receive emails normaly.
- I want the server to only allow sending emails from authenticated users (with 
encryption).

So, for sending emails, I want to 'block' port 25 (already removed 587 from 
daemon_smtp_ports) and only 'allow' port 465.
Or maybe, the following would be enough?

acl_check_rcpt:
  deny    !authenticated = *
               message         = Must be authenticated over TLS
   accept

I just want "if trying to send an email and not authenticated, deny".

Thx,
JD


      

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to