Hello List,

a week or so ago I upgraded my OpenBSD mail server from OpenBSD 5.3 to 5.4, and
at the same time went from postfix-2.9.6 to postfix-2.11.20130710.
postfix-2.11.20130710 is the OpenBSD 5.4 default package, in case someone is
wondering "why that?".

I've been using "reject_unknown_client_hostname" more or less successfully for
years.

I understand that reject_unknown_client_hostname is not recommended for
indiscriminate use. In the meantime I have changed to
reject_unknown_reverse_client_hostname (and the false rejections stopped).  I
understand the risks of rejecting mail from mail servers with incorrect DNS
configurations. The point of this mail is not to go down a rat-hole about using
FCrDNS (Forward-Confirmed reverse DNS), but rather to point out a possible
problem with the postfix implementation of FCrDNS.

Since postfix-2.11.20130710 we have been falsely rejecting mails on a large
scale. The error message is:

    450 4.7.1 Client host rejected: cannot find your hostname, [<ip-address>]

The false rejects seem to have one thing in common: their DNS mappings are
non-trivial. By "trivial" I mean an IP-address has a single PTR record.  The
false rejects have either multiple PTR records, or there is a CNAME record that
must be looked up before the PTR record can be looked up.

The rejects are also not, AFAICT, caused by transient DNS lookup errors. I saw
many cases of repeated, consistent false rejection.

I wrote a simple Perl script to check each IP-address from which postfix
rejected a mail due to FCrDNS. The output of the script is at the end of this
mail. For a given IP-address, the script first looks up any/all PTR records,
following a CNAME record if necessary, and then it looks up all A records for a
PTR result and checks whether there is an IP-address that matches the original
address. Below I only list the false postfix rejections that occurred a few days
ago. Postfix rejected mails for a total of 25 addresses in the corresponding log
file, but I removed the correct rejections.

cheers,

Rob Urban

--snip--
82.165.11.104 
    PTR:   [104.11.165.82.in-addr.arpa] --> [listserv.isdn4linux.de]
  - checking forward mapping -
    OK: listserv.isdn4linux.de maps to 82.165.11.104

163.20.103.129
    CNAME: [129.103.20.163.in-addr.arpa] --> 
[129.128/26.103.20.163.in-addr.arpa]
    PTR:   [129.128/26.103.20.163.in-addr.arpa] --> [dns.ymps.ntpc.edu.tw]
  - checking forward mapping -
    OK: dns.ymps.ntpc.edu.tw maps to 163.20.103.129

195.234.50.30 
    PTR:   [30.50.234.195.in-addr.arpa] --> [dns1.tle.de]
    PTR:   [30.50.234.195.in-addr.arpa] --> [mail1.tle.de]
  - checking forward mapping -
    OK: dns1.tle.de maps to 195.234.50.30
    OK: mail1.tle.de maps to 195.234.50.30

72.26.200.202 
    CNAME: [202.200.26.72.in-addr.arpa] --> [202.200/29.200.26.72.in-addr.arpa]
    PTR:   [202.200/29.200.26.72.in-addr.arpa] --> [mail.centos.org]
  - checking forward mapping -
    OK: mail.centos.org maps to 72.26.200.202

96.47.67.46   
    CNAME: [46.67.47.96.in-addr.arpa] --> [46.32/27.67.47.96.in-addr.arpa]
    PTR:   [46.32/27.67.47.96.in-addr.arpa] --> [forth.proz.com]
  - checking forward mapping -
    OK: forth.proz.com maps to 96.47.67.46

173.231.138.204
    CNAME: [204.138.231.173.in-addr.arpa] --> 
[204.192/27.138.231.173.in-addr.arpa]
    PTR:   [204.192/27.138.231.173.in-addr.arpa] --> [mail267.us2.mcsv.net]
  - checking forward mapping -
    OK: mail267.us2.mcsv.net maps to 173.231.138.204

195.178.100.249
    PTR:   [249.100.178.195.in-addr.arpa] --> [bmx1.immobilienscout24.de]
    PTR:   [249.100.178.195.in-addr.arpa] --> [bmx.bounce.immobilienscout24.de]
  - checking forward mapping -
    OK: bmx1.immobilienscout24.de maps to 195.178.100.249
    OK: bmx.bounce.immobilienscout24.de maps to 195.178.100.249

192.83.181.136
    PTR:   [136.181.83.192.in-addr.arpa] --> [webmail.ntsu.edu.tw]
    PTR:   [136.181.83.192.in-addr.arpa] --> [mail.ntsu.edu.tw]
    PTR:   [136.181.83.192.in-addr.arpa] --> [staffmail.ntsu.edu.tw]
  - checking forward mapping -
    OK: webmail.ntsu.edu.tw maps to 192.83.181.136
    OK: mail.ntsu.edu.tw maps to 192.83.181.136
    OK: staffmail.ntsu.edu.tw maps to 192.83.181.136

200.20.112.34 
    PTR:   [34.112.20.200.in-addr.arpa] --> [correio.psycho.ufrj.br]
    PTR:   [34.112.20.200.in-addr.arpa] --> [correio.psicologia.ufrj.br]
  - checking forward mapping -
    OK: correio.psycho.ufrj.br maps to 200.20.112.34
    OK: correio.psicologia.ufrj.br maps to 200.20.112.34

74.92.67.124  
    PTR:   [124.67.92.74.in-addr.arpa] --> [terminal.standardelectronics.com]
    PTR:   [124.67.92.74.in-addr.arpa] --> [mail.standardelectronics.com]
  - checking forward mapping -
    OK: terminal.standardelectronics.com maps to 74.92.67.124
    OK: mail.standardelectronics.com maps to 74.92.67.124

195.234.50.3  
    PTR:   [3.50.234.195.in-addr.arpa] --> [dns2.tle.de]
    PTR:   [3.50.234.195.in-addr.arpa] --> [mail2.tle.de]
  - checking forward mapping -
    OK: dns2.tle.de maps to 195.234.50.3
    OK: mail2.tle.de maps to 195.234.50.3

Reply via email to