Loading ...
Sorry, an error occurred while loading the content.

Re: Restrictions after postscreen

Expand Messages
  • Noel Jones
    ... If the DNS lookup fails with a temporary error, the mail will be deferred. It s important to note that not all clients labeled as unknown will be
    Message 1 of 67 , May 2, 2013
      On 5/2/2013 6:27 AM, Vincent Lefevre wrote:
      > On 2013-05-01 07:14:37 -0500, /dev/rob0 wrote:
      >> On Wed, Apr 24, 2013 at 03:44:19PM -0700, Steve Jenkins wrote:
      >>> warn_if_reject reject_unknown_reverse_client_hostname,
      >> Safe, because many large receivers do this as well.
      > That's interesting. Several months ago, I intended to add it, but
      > I noticed that legitimate mail I received sometimes contained
      > "unknown" (at least for some user), e.g.
      > Received: from <snip> (unknown [])
      > by ioooi.vinc17.net (Postfix) with ESMTP id 017ED31D51
      > for <vincent@...>; Tue, 19 Jul 2011 05:03:52 +0200 (CEST)
      > and at that time, I thought that the machine didn't have a correct
      > reverse hostname, so that I thought that adding this option would be
      > bad. But if I grep all the messages from this IP, I now notice that
      > for most of them, I get "host1743300226138.direcway.com" instead of
      > "unknown", which occurs only from time to time. This makes me think
      > that the "unknown" could just be due to a temporary failure, but
      > with the above option, the mail wouldn't be rejected (it would just
      > be delayed from time to time due to the 450 reply, as documented).
      > Is this correct?
      > Regards,

      If the DNS lookup fails with a temporary error, the mail will be

      It's important to note that not all clients labeled as "unknown"
      will be rejected by reject_unknown_reverse_client_hostname.

      For enlightenment, compare the docs on
      reject_unknown_client_hostname (a strict test not widely used), with
      the docs on reject_unknown_reverse_client_hostname (a generally safe

      Very strict:

      Generally safe:

      -- Noel Jones
    • Stan Hoeppner
      ... permits always come before rejects . Thus whitelist type entries should always be at the top of the restrictions list. As you are using
      Message 67 of 67 , May 14, 2013
        On 5/14/2013 11:45 AM, Steve Jenkins wrote:
        > On Tue, May 14, 2013 at 8:33 AM, /dev/rob0 <rob0@...> wrote:
        >> On Tue, May 14, 2013 at 07:49:50AM -0700, Steve Jenkins wrote:
        >>> smtpd_recipient_restrictions =
        >>> reject_invalid_helo_hostname,
        >>> warn_if_reject reject_non_fqdn_helo_hostname,
        >>> reject_unknown_reverse_client_hostname,
        >>> warn_if_reject reject_unknown_helo_hostname,
        >>> check_reverse_client_hostname_access
        >> pcre:/etc/postfix/fqrdns.pcre,
        >>> check_helo_access hash:/etc/postfix/helo_access,
        >>> check_sender_access hash:/etc/postfix/sender_access,
        >>> reject_rbl_client zen.spamhaus.org,
        >>> reject_rhsbl_client dbl.spamhaus.org,
        >>> reject_rhsbl_sender dbl.spamhaus.org,
        >>> reject_rhsbl_helo dbl.spamhaus.org,
        >>> permit_dnswl_client list.dnswl.org=127.0.[0..255].[1..3],
        >>> permit
        >> The last two lines are no-op. If you have anything you want to be
        >> subjected to the list.dnswl.org whitelist, put it after the
        >> permit_dnswl_client. If not, there is no point in querying it.
        > Excellent point. If the next step is going to "permit" anyway, then no use
        > in the extra query. I've moved the dnswl.org line up so that it's just
        > above the three "local" check_* lines.

        "permits" always come before "rejects". Thus whitelist type entries
        should always be at the top of the restrictions list. As you are using
        (client|helo|sender|recipient) sections any whitelisting in
        smtpd_recipient_restrictions should typically be at the very top.

        permit_dnswl_client list.dnswl.org=127.0.[0..255].[1..3]
        ^^^^^^ ^^^^

        This shows you are explicitly permitting anything/everything listed in
        the dnswl. Are you sure that is what you want? I use...

        permit_dnswl_client list.dnswl.org=127.0.[2..14].[2..3]

        which does not explicitly permit email marketing providers nor any IP
        with trustworthiness score of 1. A score of 1 is equivalent to a
        SpamAssassin score of -1, which does not merit a direct shot to the
        queue. That would typically require an SA score of -5. I want these
        clients to go through all of my other restrictions before allowing their
        payload into my queue.

        Also worth noting, there are currently only 14 categories (3rd octet of
        a reply), so specifying 255 is not necessary, and possibly problematic.
        Hypothetically, if dnswl decided one day to create categories 16,
        political campaigns, and 17, religious newsletters, you are currently
        setup to automatically permit such clients.

        Remember, the sole purpose of whitelisting is to bypass all of your
        other spam checks and get the mail into your queue unmolested. IMO, not
        every IP listed by dnswl is deserving of this honor, not even close to
        all of them.

        See section "Return codes" at: http://www.dnswl.org/tech

      Your message has been successfully submitted and would be delivered to recipients shortly.