[Mimedefang] Re: "Please try again later"
John Rudd
john at rudd.cc
Sun Sep 11 13:27:23 EDT 2005
On Sep 11, 2005, at 9:12 AM, Paul Murphy wrote:
> John,
>
>> A little while later, it came back. It seemed less frequent, but this
>> is uner a night load, instead of a day load. So it's hard to tell.
>> It
>> looks like we're going to have to wait for the hardware upgrade.
>
> Some standard questions:
>
> 1. Do you limit the size of messages submitted to SpamAssassin?
I had completely ripped SpamAssassin out of our Mimedefang. For now,
we were going to be doing ClamAV Sophos and filename checks in
Mimedefang, and Dangerous Content checks and Spam Assassin in
MailScanner. (in the past, we did sophos, filename checks, dangerous
content checks, and spam assassin in mailscanner, and we're back to
that configuration now)
(and, our limit in mailscanner is 256k; at home, where I _do_ use SA in
mimedefang, I also use 256k as my limit, so if we ever get to moving SA
into mimedefang at work, that's probably what limit I'll use there, as
well)
> 2. Do you do Spam checks on outgoing mail? Again, many sites work on
> the
> assumption that their outgoing mail is highly unlikely to be spam, so
> they
> don't scan it. If one of their users is showing abnormal numbers of
> messages, they'll notice and investigate.
We can't make that assumption. We are central IT, and we have to relay
for all of campus, but we have little control of the email servers and
clients that are spread around campus. So, we not only try to protect
campus from the world, we have a slight bit of needing to protect the
world from some open relay that pops up on campus. And, with viruses
turning workstations into spam zombies, it's not really a valid
assumption that messages which come from within aren't going to be spam
(in any organization).
> 3. Do you run multiple virus scanners in serial/parallel over all
> messages?
> If so, you might want to consider how effective this is, since
> generally
> running two reliable scanners is the ideal trade-off between
> performance and
> effectiveness. Personally, I trust Clamav implicitly, and if I have
> to use a
> second high-profile scanner, I'd pick one of the main commercial
> scanners.
I had re-written that part of mimedefang to only run Sophos if ClamAV
didn't find anything. I suppose that means most of the messages were
getting scanned twice, though. I suppose I could have it only run
Sophos if ClamAV has a failure.
The other side of the coin, though, is that our existing set up was to
replace each infected attachment with a warning message. That means I
had to move the virus scans from "filter_begin" to "filter" and
"filter_multipart", because (as I understand it) I can't run
action_drop_with_warning during filter_begin (I understand why, I'm
just saying, that's the routine I need in order to maintain a seamless
transition for our users). I expect that that added some overhead (as
each attachment has to be scanned individually), but it was a necessary
move. I also can't call "replace_entire_message" until filter_end
(where I could have replaced the entire message in filter_begin, if
that had been allowed).
Before you say anything about just dropping or bouncing viruses,
there's two things:
1) for viruses that don't come from our IMAP server (which is also our
webmail server, and the SMTP server for some of our clients), our
action was to bounce ... why don't we bounce for our IMAP server?
There's some concern about odd-user experience if a macro-virus is sent
from within that mail service to both people inside and outside of the
IMAP server ... those inside will see the message (unscanned), and
those outside wont get the message at all ... and the sender will only
know what happened if they read the bounce message (not entirely
likely). And if it's a forged sender virus message, instead of a
macro-virus, then bounces will get stuck in the IMAP server's queue
(because it sends all outgoing messages through the virus scanning
hosts), which is something we're trying to avoid.
2) and if I had gotten to the next stage, I was planning to add code
that only did drop-with-warning for non-forged sender viruses, like
document macro viruses, where the notice CAN be useful to the sender,
but mimedefang wont let me action_notify_sender for _any_ virus, thus
the useful notification for non-forged viruses has to go to the
recipient (which is actually what we do now for mailscanner, as well).
But, yes, we silently discard forged viruses now, but we replace with
warnings when it's a non-forged virus, or a bad attachment filename ...
and that's what I was trying to duplicate. But I can't do that in
filter_begin.
More information about the MIMEDefang
mailing list