<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.7" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Lazy postmasters in Norway</title>
	<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Fri, 22 Aug 2008 04:07:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.7</generator>

	<item>
		<title>by: Administrator</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-5822</link>
		<pubDate>Fri, 07 Apr 2006 07:24:49 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-5822</guid>
					<description>Note to readers who aren't up on admin talk:
BOFH means Bastard Operator From Hell.
There's a website someone created with lots of creative excuses for admin personnel to use in order to not fix computer problems. And a few stories of the first BOFH and how he tormented his users. It's belly laughs guaranteed for admins, but I wouldn't recommend emulating that stuff.

Though I must admit insisting on at least a fully qualified hostname makes some people angry. And I rarely get any thanks for notifying fellow admins that they don't know how to do their jobs...</description>
		<content:encoded><![CDATA[<p>Note to readers who aren&#8217;t up on admin talk:<br />
BOFH means Bastard Operator From Hell.<br />
There&#8217;s a website someone created with lots of creative excuses for admin personnel to use in order to not fix computer problems. And a few stories of the first BOFH and how he tormented his users. It&#8217;s belly laughs guaranteed for admins, but I wouldn&#8217;t recommend emulating that stuff.</p>
<p>Though I must admit insisting on at least a fully qualified hostname makes some people angry. And I rarely get any thanks for notifying fellow admins that they don&#8217;t know how to do their jobs&#8230;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: John Daemon</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-5813</link>
		<pubDate>Fri, 07 Apr 2006 01:48:28 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-5813</guid>
					<description>I stumbled across this article on google while searching for the reason my mailqueue was filling up from AOL sends.  the HELO check is a good one, and I'm willing to get a bit BOFH'ish if it means reducing my spam load.  I cant use the "nuclear option" of a mass-block against china, as we (the company i work for) do business in china.  Now i just need to wait on my lazy NS hosting providor to map me a RDNS :\.</description>
		<content:encoded><![CDATA[<p>I stumbled across this article on google while searching for the reason my mailqueue was filling up from AOL sends.  the HELO check is a good one, and I&#8217;m willing to get a bit BOFH&#8217;ish if it means reducing my spam load.  I cant use the &#8220;nuclear option&#8221; of a mass-block against china, as we (the company i work for) do business in china.  Now i just need to wait on my lazy NS hosting providor to map me a RDNS :\.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Administrator</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3436</link>
		<pubDate>Thu, 16 Feb 2006 10:26:59 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3436</guid>
					<description>I currently use reject_non_fqdn_hostname and policyd-weight.

There are a few false positives with reject_non_fqdn_hostname, but not more than I can live with. I usually notify the senders I and my customers want to receive mail from.</description>
		<content:encoded><![CDATA[<p>I currently use reject_non_fqdn_hostname and policyd-weight.</p>
<p>There are a few false positives with reject_non_fqdn_hostname, but not more than I can live with. I usually notify the senders I and my customers want to receive mail from.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Robert Felber</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3435</link>
		<pubDate>Thu, 16 Feb 2006 07:27:20 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3435</guid>
					<description>The interessting thing on all that HELO checking is, that it often produces false positives. Thus policyd-weight does _not only_ check the HELO vs IP but also the envelope sender domain:

HELO_(SUB)_DOMAIN == Client IP/16/24/32    &#124;&#124;
SENDER_(SUB)_DOMAIN == Client IP/16/24/32

then: HELO OK
else: HELO NOT OK, check this with reverse records, and so on;

additionally it weights it with RBL/RHSBL results

We say HELO (NOT OK&#124;OK) here because it is a little bit hard to differenciate scriptwise between HELO and sender envelope for "reporting".

The reason for this check is, that we could do this also with SPF, but SPF breaks forwarding, policyd-weight doesn't as either the HELO _should_ match, and as a backup we check whether the sender domain matches. As a very last resort we also check the reverse records.

Another reason for policyd-weight was, that reject_unknown_*, reject_rbl_client and others produced way too much false positives as postfix restrictions are on a 1&#124;0 base. Either ok, or not ok.</description>
		<content:encoded><![CDATA[<p>The interessting thing on all that HELO checking is, that it often produces false positives. Thus policyd-weight does _not only_ check the HELO vs IP but also the envelope sender domain:</p>
<p>HELO_(SUB)_DOMAIN == Client IP/16/24/32    ||<br />
SENDER_(SUB)_DOMAIN == Client IP/16/24/32</p>
<p>then: HELO OK<br />
else: HELO NOT OK, check this with reverse records, and so on;</p>
<p>additionally it weights it with RBL/RHSBL results</p>
<p>We say HELO (NOT OK|OK) here because it is a little bit hard to differenciate scriptwise between HELO and sender envelope for &#8220;reporting&#8221;.</p>
<p>The reason for this check is, that we could do this also with SPF, but SPF breaks forwarding, policyd-weight doesn&#8217;t as either the HELO _should_ match, and as a backup we check whether the sender domain matches. As a very last resort we also check the reverse records.</p>
<p>Another reason for policyd-weight was, that reject_unknown_*, reject_rbl_client and others produced way too much false positives as postfix restrictions are on a 1|0 base. Either ok, or not ok.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Administrator</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3317</link>
		<pubDate>Sat, 11 Feb 2006 15:53:18 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3317</guid>
					<description>I concur on foregoing reject_unknown_hostname for now (that's the one that checks reverse DNS).

And I expect legit mail to be rejected with reject_non_fqdn_hostname. But the check is not expensive in terms of time. And it cuts down on the number of lookups done with policyd-weight. While I was testing (using warn_if_reject in front of the restriction), I found that most of the mail that would have been rejected with the reject_non_fqdn_hostname check was in fact rejected by policyd-weight.

And servers that use non-qualified domains as HELO's really need to grow up.</description>
		<content:encoded><![CDATA[<p>I concur on foregoing reject_unknown_hostname for now (that&#8217;s the one that checks reverse DNS).</p>
<p>And I expect legit mail to be rejected with reject_non_fqdn_hostname. But the check is not expensive in terms of time. And it cuts down on the number of lookups done with policyd-weight. While I was testing (using warn_if_reject in front of the restriction), I found that most of the mail that would have been rejected with the reject_non_fqdn_hostname check was in fact rejected by policyd-weight.</p>
<p>And servers that use non-qualified domains as HELO&#8217;s really need to grow up.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Matthias Leis</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3316</link>
		<pubDate>Sat, 11 Feb 2006 15:40:04 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3316</guid>
					<description>I would also like to reject based on invalid/bogus/wrong/whatever HELOs, since it would make further filtering steps a lot easier (and it would cut out a good proportion of rDNS-less areas of China...). 

However, when I did exactly that (ie reject based on no-good HELO), I was confronted with a ton of false positives - otherwise perfectly legit mail servers that either had no rDNS, or that HELOed with an name that only made sense behind some firewall/router, or unqualified hostnames...

Additionally, DNS problems (timeouts etc) may impact the whole setup as well. 

The trade-off between efficiency, accuracy, reliability and administration effort was just not right for my systems.</description>
		<content:encoded><![CDATA[<p>I would also like to reject based on invalid/bogus/wrong/whatever HELOs, since it would make further filtering steps a lot easier (and it would cut out a good proportion of rDNS-less areas of China&#8230;). </p>
<p>However, when I did exactly that (ie reject based on no-good HELO), I was confronted with a ton of false positives - otherwise perfectly legit mail servers that either had no rDNS, or that HELOed with an name that only made sense behind some firewall/router, or unqualified hostnames&#8230;</p>
<p>Additionally, DNS problems (timeouts etc) may impact the whole setup as well. </p>
<p>The trade-off between efficiency, accuracy, reliability and administration effort was just not right for my systems.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Chris Mikkelson</title>
		<link>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3304</link>
		<pubDate>Sat, 11 Feb 2006 04:01:06 +0000</pubDate>
		<guid>http://spamhuntress.com/2006/02/10/lazy-postmasters-in-norway/#comment-3304</guid>
					<description>I don't think reject_uknown_hostname checks the IP.  It merely requires the given name to resolve (according to postconf(5), anyway).

If you're not blocking hosts without matching reverse DNS outright, this might not be a bad check to apply to them.  If there's no reverse, make sure the HELO host resolves to the client IP.  If that fails, reject the connection with:

450 cannot find your hostname -- and we really tried, too

:-)

Even the relatively conservative reject_invalid_hostname will catch a lot of mail sent through PIXes...

There are very few HELO checks you can do that don't have false positives.  About the best you can do is choose some with minimal false positives, put them after a check_recipient_access call allowing mail to postmaster, etc., and hope that the few legitimate senders will either fix their problem or contact you to be whitelisted...</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think reject_uknown_hostname checks the IP.  It merely requires the given name to resolve (according to postconf(5), anyway).</p>
<p>If you&#8217;re not blocking hosts without matching reverse DNS outright, this might not be a bad check to apply to them.  If there&#8217;s no reverse, make sure the HELO host resolves to the client IP.  If that fails, reject the connection with:</p>
<p>450 cannot find your hostname &#8212; and we really tried, too</p>
<p>:-)</p>
<p>Even the relatively conservative reject_invalid_hostname will catch a lot of mail sent through PIXes&#8230;</p>
<p>There are very few HELO checks you can do that don&#8217;t have false positives.  About the best you can do is choose some with minimal false positives, put them after a check_recipient_access call allowing mail to postmaster, etc., and hope that the few legitimate senders will either fix their problem or contact you to be whitelisted&#8230;
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
