how to bock mailservers that have only an ip address
John Rudd
jrudd at ucsc.edu
Mon May 1 11:18:31 IST 2006
On May 1, 2006, at 1:30 AM, Jim Holland wrote:
> On Sun, 30 Apr 2006, John Rudd wrote:
>
>
>> 2) I'm not sure if require_rdns can be made to exempt those in certain
>> IP blocks, those who have done SMTP-AUTH, etc ... but mimedefang can
>> (that's why I do the check in filter_sender instead of filter_relay).
>
> You can control whitelisting in your access file.
Which doesn't answer the part about SMTP-AUTH. Which was the important
part, really.
>> 3) mimedefang lets you do LOTS of other checks, is incredibly
>> flexible,
>> and you modify behaviors in perl instead of sendmail cf expressions
>> ...
>> I much prefer perl to sendmail cf files. It can check for recipients
>> on
>> remote relays (similar to milter-ahead), HELO/EHLO verification, and
>> even attachment filename/filetype checks, anti-virus checks, and
>> SpamAssassin.
>
> Having had a look at mimedefang it looks as if it is an alternative
> package to MailScanner, rather than complementary, and hence not at all
> compatible with it.
It is both alternative and complementary. Depending on how you use it.
Yes, you can do virus, filename, filetype, and spam checks in
mimedefang. Or not. You can vary your actions for each check, too.
Just like in mailscanner.
You can also do checks during SMTP time, unlike mailscanner. And you
can do checks during the connection based upon the relay, the helo/ehlo
string, the sender, sender-options, and recipients. For example, I can
reject all connections from hosts whose IP address appears in their
hostname. Or reject all connections from hosts whose forward and
reverse DNS don't match. I can't _easily_ do those with mailscanner.
And I definitely can't do them during the SMTP session.
Last, I can do my virus scanning in mimedefang, and thus reduce the
amount of anti-spam work that mailscanner does by eliminating the
viruses first. Something several people have wanted to do in
mailscanner, but that Julian has said would require too much of a
re-write to accomplish any time soon.
> All incoming mail would get parsed by mimedefang,
> with all attachments being extracted etc, only to have the same mail
> then
> being reprocessed and split again by MailScanner. This looks like an
> incredible waste of resources,
AFAIK, it's a small drop in the bucket compared to running SpamAssassin.
Though, mimedefang does have an option for turning off various checks..
so I've asked for a way to turn off MIME decoding (and thus turning off
"filter" and "filter_multipart", but leaving "filter_begin" and
"filter_end" on, as I don't think those need MIME decoding in order to
run).
> especially if it is just to make use of a
> couple of mimedefang features such as milter-ahead, HELO/EHLO
> verification
> or blocking of servers with no PTR records. Carrying out filename/
> filetype checks, anti-virus checks, and running SpamAssassin through
> mimedefang while also using MailScanner is clearly pointless as
> MailScanner does it all so much better.
Who said anything about doing filename/filetype checks, anti-virus
checks, and running spam assassin in _both_?
IMO, if I was going to do, or recommend, a hybrid approach, I'd do:
0) greet_pause and spamhaus sbl & xbl in sendmail
1) relay, helo, sender, recipient checks, and clamd anti-virus in
mimedefang
2) spam assassin, filename, filetype, phishing, and sophos anti-virus
in mailscanner (or some other scanner besides clamav, to have a safe
2nd layer of anti-virus scanning)
0 & 1 reduce the number of messages you're feeding through Spam
Assassin, which is probably going to be your single biggest resource
hog (even if you are MIME decoding every message in both places). I
slightly like the filename and filetype checks in mailscanner better
than in mimedefang, and if you did find a way to turn off mime decoding
in mimedefang, you'd have to do it in mailscanner instead anyway.
Though, honestly, I prefer to do it all in mimedefang these days. I
have grown to be annoyed by the dual queue approach, and I like to
reject as many messages as possible during the SMTP transaction.
> I see the benefits of plugins that work directly with sendmail for
> additional MTA-related functionality, but using mimedefang filters for
> that purpose together with MailScanner seems incredible overkill.
>
>> Last week I posted a URL to my mimedefang-filter (which is where all
>> of
>> your site-specific perl code goes). I'm about to re-do it, though
>> (clean up the code some, move some code around to sub-routines so it's
>> easier to customize certain details, have different versions for
>> people
>> who may want to skip virus/attachment/anti-spam checks if they're
>> doing
>> that somewhere else, etc.). I'll post about the update in a couple
>> days.
>
> Do you have an integrated solution that ensures that MailScanner
> continues
> to do what it does best while disabling all the MailScanner-type
> features
> in mimedefang so as to avoid the enormous performance hit that will
> happen
> if all messages are MIME-decoded twice?
With the exception of actually turning off the mimedecoding? yes.
Just have filter, filter_multipart, and filter_end automatically accept
all messages without even looking at them (ie. immediately do:
return action_accept();
in filter and filter_multipart, and just immediately return in
filter_end).
If you're not going to do the virus checking or any header manipulation
in filter_begin, you can do the same thing there too. Then just do the
things you want in filter_relay, filter_helo, filter_sender, and
filter_recipient. Though, I do all of the filter_relay and filter_helo
stuff in filter_sender, so that I can exempt based on SMTP-AUTH.
> Surely the logical approach is to
> write milters that work directly with sendmail (as with milter-ahead)
> instead of filters that work with mimedefang which then hooks into
> sendmail?
uh... what do you think mimedefang is? it's a milter. It is exactly a
"milter that works directly with sendmail". It's just more flexible
than milter-ahead, that's all.
More information about the MailScanner
mailing list