PermaLink HELO goodbye
I have been bashing on for long enough about the inexplicable absence of even the most basic ability in the Domino SMTP MTA to make decisions on mail routing based on what connecting hosts say in HELO, and then if necessary to issue a 554 response as early as practically possible in such cases (after MAIL FROM is the best place).

While still a requirement longer term in the MTA itself, Daniel Koffler has now demonstrated a very easy tweak that has the desired effect including the issuing of a 554 rejection code to the connecting MTA (although quite late in the SMTP conversation, after the DATA phase). We have been running this over the weekend and it is already rejecting spam.

I am writing one last time to commend this tweak to you (and to encourage Daniel to incorporate some of my other suggestions).

This has the effect of rejecting at source any email that comes to you from a host which claims to be one of your own. This is a completely bulletproof spam indicator. I guarantee no false positives and although the absolute number rejected will be small, it is easy to do so just do it!

Now the wishlist

Daniel (you've already seen most of these) and/or OpenNTF code gurus (hi Nathan) please note - this tweak could be greatly improved by making possible such rules as:

  • When message did not originate locally and HELO is not a fully qualified hostname (i.e. does not have at least two periods in it), do not accept message.
  • When HELO is an IP address, do not accept message.
  • When HELO uses high bit (non-printable ASCII) characters, do not accept message.
  • And finally for now, is it possible to create a rule that works on raw MIME source? This would open up a world of possibilities as you could then reject at source emails that, for example and so on.

I'd do it myself, but in case it is not already clear -- I don't do code.

Category: Domino: Administration
Technorati:

Comments :

1. Paul Howarth15/12/2003 14:52:29


Regarding your wishlist item:

"When message did not originate locally and HELO is not a fully qualified hostname (i.e. does not have at least two periods in it), do not accept message."

I'm a sendmail user myself and a few months ago I configured my MTA to reject mail from any host that didn't HELO with a name containing at least one period in it. After around a week I had to turn this off because there are simply far too many misconfigured hosts out there (would you believe most of them are MS Exchange boxes? ) and I was bouncing too much mail from people I actually wanted to correspond with.

Of course, YMMV but I wouldn't advise blocking mail using this criterion even on a personal domain, let alone a corporate MTA.

Regards, Paul.




2. Chris Linfoot15/12/2003 15:06:03


OK, well I might not block with that one, but I might count them for a while...




3. Chris Linfoot15/12/2003 15:09:32


More wishlist items for blocking based on MIME content:

- HTML forms
- Javascript (or any script)
- messages containing no text, but with single in-line or externally referenced images
- messages with HTTP links that include username:password@fully-qualified-hostname
- messages with HTTP links that include username:password@dotted-quad-ip-address
- messages with links that go to hosts listening on ports other than port 80 (or 443, I suppose)

cwl




4. Justin Knol15/12/2003 19:47:07
Homepage: http://justinknol.net/


Chris,

You may not do code - but you do a great job on this site. It is always an interesting read & I just thought I'd say thanks.

Cheers
Justin




5. Chris Linfoot16/12/2003 09:00:20


As ever, you are most welcome and thanks for the encouragement




6. Dan Cihon25/09/2005 16:31:54
Homepage: http://WWW.DCCATHOME.COM


Would it be possible for you to show how to create the rule for the HELO?
Thanks
Dan




7. Chris Linfoot26/09/2005 08:32:17


1. Read the article above. Note the link entitled "demonstrated a very easy tweak". That article shows a mod to a standard Domino Directory that permits server mail rules based on among other things HELO.

2. Apply mod to your Domino Directory.

3. Create rules like "When HELO is [your.fully.qualified.hostname] don't accept message". You can usually safely create such rules for all of your server's public names, domains and IP addresses.




Unable to post a comment? Please read this for a possible explanation...
Add Manual Trackback
Please enter the details of the trackback post. Your trackback will not appear on the site until it has been verified. This won't be immediate, as trackbacks are validated on a scheduled basis. Be patient.











Search
Popular Categories
Monthly Archive
Other stuff
ClustrMaps
Contact Me
Meta
Proudly powered by IBM Lotus Domino 8 Proudly powered by IBM Lotus Domino 8

Subscribe to articles Subscribe to articles feed

Subscribe to comments Subscribe to comments feed

ROR info ROR info


My Amazon wish list Wishlist


Wikio - Top Blogs - Technology
Like what I do?
Then please consider a donation to support the work of Research Autism.

Idea Jam
Planet Lotus
Dilbert