Date: Sat, 28 Aug 2010 17:28:25 +1000 (EST) From: Ian Smith <smithi@nimnet.asn.au> To: Paul Macdonald <paul@ifdnrg.com> Cc: freebsd-questions@freebsd.org Subject: Re: sendmail rdns question Message-ID: <20100825020741.E44189@sola.nimnet.asn.au> In-Reply-To: <20100824120028.7D5EE1065702@hub.freebsd.org> References: <20100824120028.7D5EE1065702@hub.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In freebsd-questions Digest, Vol 325, Issue 5, Message: 4 On Tue, 24 Aug 2010 12:06:33 +0100 Paul Macdonald <paul@ifdnrg.com> wrote: > Hi, > > Sorry for posting on a bsd list but i figure there's more than a few > sendmail experts here. > > I would like to run reverse dns checks on one of my boxes but the > check_rnds macro looks a bit overkill to me. > > I want to reject the mail if there's no reverse dns, but not if there is > rdns but the PTR loop isn't closed (which is very common). > > So accepting these types: > > reject=451 4.1.8 Possibly forged hostname for > > but rejecting these types > reject=550 5.7.1 <........>... Fix reverse DNS for > ....................... > > In sendmail, FEATURE(`require_rdns')dnl seems to do both. Well yes, it does just that, which is usually what's desired. Eg from the other day, reformatted for readability: Aug 24 19:13:43 xxxxx sm-mta[22564]: ruleset=check_relay, arg1=[220.229.138.147], arg2=220.229.138.147, relay=adsl-220-229-138-147.TC.sparqnet.net [220.229.138.147] (may be forged), reject=451 4.1.8 Possibly forged hostname for 220.229.138.147 % dig +short -x 220.229.138.147 adsl-220-229-138-147.TC.sparqnet.net. % dig +short adsl-220-229-138-147.TC.sparqnet.net. % (RDNS, but the supplied RDNS does not resolve - no 'closed loop' as you put it - so deferred. It's a good clue to the (genuine) sender to fix it, but you'll find that 99% of these will be spam anyway) Aug 24 22:40:59 xxxxx sm-mta[33233]: ruleset=check_relay, arg1=[217.107.186.83], arg2=217.107.186.83, relay=[217.107.186.83], reject=550 5.7.1 Fix reverse DNS for 217.107.186.83 % dig +short -x 217.107.186.83 % (no RDNS - so rejected) In sendmail.cf you'll see something like this (tabs lost in cut'n'paste) R$* $: $&{client_addr} $| $&{client_resolve} R$=R $* $@ RELAY We relay for these R$* $| OK $@ OK Resolves. R$* $| FAIL $#error $@ 5.7.1 $: 550 Fix reverse DNS for $1 R$* $| TEMP $#error $@ 4.1.8 $: 451 Client IP address $1 does not resolve R$* $| FORGED $#error $@ 4.1.8 $: 451 Possibly forged hostname for $1 You could make the FORGED ones return '$@ OK' also .. NOT recommended! You'd be much better off whitelisting particular senders that for some reason can't fix their broken RNS, by adding 'someone@somewhere OK' to your /etc/mail/access file. cheers, Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100825020741.E44189>