ram:
> I need to implement smtpd login maps on our postfix servers so as
> minimize the chances of a compromised client machine screwing our smtp
> relay.
> 
> But this cannot be done overnight. There are various clients who use
> different envelope sender domains (for perfectly legitimate reasons) and
> I cannot get a mapping for all such entries. 
> 
> How can I use reject_authenticated_sender_login_mismatch only for some
> auth logins. Especially those who insist on using some junk mailserver
> in their offices and cannot sufficiently secure their network
> 
> 
> So I want to say 
> if(sasl authenticated) {
>       if(suspect client login) {
>               reject_authenticated_sender_login_mismatch

Currently it can be done with a policy daemon (the protocol provides
both the sasl login and the sender address).

To do this in smtpd, the obvious approach is to add an access map
feature that searches a table by the SASL login name.

/etc/postfix/main.cf:
    smtpd_something_restrictions =
        ...
        check_sasl_access hash:/etc/postfix/sasl_access
        ...

/etc/postfix/sasl_access:
    us...@example.com   reject_sender_login_mismatch

But the more *general* solution would be a way to say:

    check_access attribute_name hash:/etc/postfix/access_table

Where "attribute_name" can be sasl_username, ccert_fingerprint, or
any other smtpd policy protocol attribute name.

If I have time then I would do that, and solve a whole bunch of
future feature requests.

        Wietse

Reply via email to