Re: [Mimedefang] Feature / SOP Request

2004-04-29 Thread Paul Whittney
Already using it...

Its works for me, but it's no way optimized:

(Sorry, word wrapping may cause some issues...)

--- code ---

sub filter_bad_filename_paw ($) {
my($entity) = @_;
my($bad_exts, $re, $result, $quar, $qre, $quar_exts);

$bad_exts = '(ade|adp|app|asd|asf|asx|bas|bat|chm|cmd|com|cpl|crt|dll|exe|fx
p|hlp|hta|hto|inf|ini|ins|isp|jse?|lib|lnk|mdb|mde|msc|msi|msp|mst|ocx|pcd|pif|p
rg|reg|scr|sct|sh|shb|shs|sys|vb|vbe|vbs|vcs|vxd|wmd|wms|wmz|wsc|wsf|wsh|\{[^\}]
+\})';
$quar_exts = '(dll|pif|scr)';

# Do not allow:
# - CLSIDs  {foobarbaz}
# - bad extensions (possibly with trailing dots) at end
$re = '\.' . $bad_exts . '\.*$';
$qre = '\.' . $quar_exts . '\.*$';
$result = re_match($entity, $re);
$quar = re_match($entity, $qre);
return ($result, $quar);
}

--- end code ---

Then, to use it, alter the filter_bad_filename references to:

--- code ---
# PAW Change, bad filenames, with Really bad filename checking
($res,$quar) = filter_bad_filename_paw($entity);
if ($quar) {
md_graphdefang_log('bad_filename_paw', $fname, $type);
action_quarantine($entity,Message quarantined because of bad  .
filename extension in part\n . 
 ** NOTE ** This email was silently discarded\n .
-emailAdmin\n);
return action_discard();
}
if ($res) {
md_graphdefang_log('bad_filename', $fname, $type);
return action_quarantine($entity, An attachment named $fname  .
was removed from this document as it\n .
constituted a security hazard.  If you require this  .
document, please contact\n.
the sender and arrange an alternate means of receiving 
it.\n);
}
--- end code ---

Someone could do a batter job, I admit... Also, a bounce might be a better
idea, but the Mail server would have to accept nearly all, if not all,
the email anyway... Depends if you like giving an error, or silent
discard.

In fact, I found that a bounce returned the whole email to me, 
including the attachment, which caused the possible forged From:
address to get what ever was bad... Thoughts?

Note: The list of extensions might be different from what is in use..
I didn't add to CVS until after I did the function, so I don't if I
changed it or not.

-Paul Whittney

On Wed, Apr 28, 2004 at 02:47:14PM -0400, Kevin A. McGrail wrote:
 Split the bad_exts into two lists: bad_exts and REALLY_bad_exts.
 
 Add things are NEVER legitimate mail (like .scr and .pif) to
 really_bad_exts.
 
 Have this really_bad_exts checked during the virus routine so that those
 mails can be silently discarded.  False positives are nil and the users are
 always confused.
 
 Then the bad_exts list can still contain .exe's etc. that might need to be
 quarantined.
 
 KAM
 
 ___
 Visit http://www.mimedefang.org and http://www.canit.ca
 MIMEDefang mailing list
 [EMAIL PROTECTED]
 http://lists.roaringpenguin.com/mailman/listinfo/mimedefang
___
Visit http://www.mimedefang.org and http://www.canit.ca
MIMEDefang mailing list
[EMAIL PROTECTED]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang


[Mimedefang] Feature / SOP Request

2004-04-28 Thread Kevin A. McGrail
Split the bad_exts into two lists: bad_exts and REALLY_bad_exts.

Add things are NEVER legitimate mail (like .scr and .pif) to
really_bad_exts.

Have this really_bad_exts checked during the virus routine so that those
mails can be silently discarded.  False positives are nil and the users are
always confused.

Then the bad_exts list can still contain .exe's etc. that might need to be
quarantined.

KAM

___
Visit http://www.mimedefang.org and http://www.canit.ca
MIMEDefang mailing list
[EMAIL PROTECTED]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang