Jakob Hirsch wrote:
Bill Hacker wrote:

*SNIP*

Let me check if I understand right: You check if the sender domain matches
the helo domain? So following would invalid in your eyes?

EHLO example.net
MAIL FROM:<[EMAIL PROTECTED]>

If this is what you mean, you are wrong.

That is what I mean, and earns such a sender a 'demerit' of 1 point:
An outright deny/drop/discard on ONE such point would be 'wrong'.
See comments below:

  # HELO_5: IF HELO verification fails THEN prep message.
# *CANNOT REJECT YET* Too many Mis-matched ID's, some of our own included!
  #
  warn
    condition   = ${if !def:acl_c1 {true}{false}}
    !verify     = helo
    set acl_c1  = X-HELO-Warning: Remote host $sender_host_address \
                  ${if def:sender_host_name {($sender_helo_name) }}\
                  is cross-dressed as $sender_helo_name  !!!
    log_message = H5 $acl_c3 has mismatched ID's in HELO/EHLO greeting.
    set acl_c2  = $acl_c2  Mismatched HELO=1
    set acl_c5  = ${eval:$acl_c5 + 1}

But this is but one of several tests for 'good practice'.

Here is another 'soft' fail that can add to the score and eventually become a 'hard' fail:

  # FROM_6: IF FAIL sender_verify THEN prep message AND add to header.
  #
  warn
    !verify     = sender/defer_ok/callout=10s,defer_ok
set acl_c2 = $acl_c2 Sender Verify = $sender_verify_failure $sender_address_data
    set acl_c5  = ${eval:$acl_c5 + 1}
log_message = F6 $acl_c3 failed sender verify at $sender_verify_failure for $sender_address $sender_address_data

And another (held-off until 'DATA' phase to avoid 'cost' of an external lookup if already rejected...):

# DATA_6B: IF host rDNS lookup fails THEN warn AND flag for later NOT delay.
  #
  warn
log_message = C5 $sender_host_name $sender_host_address failed rDNS lookup with score of $acl_c5 for $acl_c2
    !condition  = ${if eq{$acl_m4}{0}}
    !condition  = +relay_from_hosts
    !verify     = reverse_host_lookup
message = X-DNS-Broken-Warn: rDNS lookup failed for $Sender_host_address
    set acl_c2  = $acl_c2  Missing rDNS PTR=1
    set acl_c5  = ${eval:$acl_c5 + 1}


Too many such 'points' regardless of the 'mix', on the same connection can very accurately ID a zombie or spambot, can be tested against a global, per-domain, or per-user threshold with near-zero false alarms, and a very much lightened load on resource-intensive SA.

We have been saving and checking the rejections since last October, falsing is NOT a problem, and spam is miniscule. SA catches the 'complex' ones, but such rules as above get the majority before they ever reach it.

YMMV


Well, I hope your mail system works better than your homepage...

What homepage??


http://www.conducive.org/



Ah!  'Cobbler's children going barefoot, as it were.... when I have time....

precisa.ch better represents our work...

Bill


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

Reply via email to