[exim] MIME-ACL: Request for MIME checks

Páxina inicial
Borrar esta mensaxe
Responder a esta mensaxe
Autor: oliver egginger
Data:  
Para: exim-users
Asunto: [exim] MIME-ACL: Request for MIME checks
Hello,

I found some useful MIME checks on the exim list (see the attached file mime_acl.cf),
but there are certainly more. If you do MIME checking with Exims new MIME-ACL,
please have a look at the attached file and post your increments or improvements
to the list.

regards
oliver




# $Id: mime_acl.cf 4493 2005-06-29 11:32:07Z oliver $

###############################
# MIME-ACL
###############################

# Decode MIME parts to disk. This will support virus scanners later.
warn decode = default

# warn log_message = DEBUG: [$mime_part_count] -> [$mime_filename] [$mime_content_type]

# File extension filtering.
deny   message  = This message contains a prohibited file extension (${extract{-1}{.}{${lc:$mime_filename}}})
   log_message     = BAD_ATTACHMENT (${extract{-1}{.}{${lc:$mime_filename}}})
   condition       = ${if match{${extract{-1}{.}{${lc:$mime_filename}}}}{\N^(BAD_ATTACHMENTS)$\N}{1}{0}}


# CLSID Attachment Blocking
deny condition = ${if match{$mime_filename}{\N\{[a-hA-H0-9-]{25,}\}\N}{1}{0}}
message = BAD_ATTACHMENT (CLSID)

# Refuse Empty (invalid) MIME Boundaries
deny condition = $mime_is_multipart
condition = ${if eq{$mime_boundary}{}{yes}{no}}
message = MIME_ERROR (Empty MIME Boundary)

# Too many MIME parts
deny
  condition   = ${if >{$mime_part_count}{256}{yes}{no}}
  message     = MIME_ERROR : Too many MIME parts (max 256)
  log_message = MIME_ERROR : Too many MIME parts: $mime_part_count


# Excessive line length
deny
  regex       = ^.{16382}
  message     = MIME_ERROR Line length in message or single header exceeds 16382.
  log_message = MIME_ERROR : Maximum line length exceeded


# Partial message
deny
  condition   = ${if eq {$mime_content_type}{message/partial}{yes}{no}}
  message     = MIME_ERROR : MIME type message/partial not allowed here
  log_message = MIME_ERROR : MIME type message/partial found


# Filename length too long (> 512 characters)
deny
  condition   = ${if >{${strlen:$mime_filename}}{512}{yes}{no}}
  message     = MIME_ERROR : Proposed filename exceeds 512 characters
  log_message = MIME_ERROR : Proposed filename too long


# MIME boundary length too long (> 1024)
deny
  condition   = ${if >{${strlen:$mime_boundary}}{1024}{yes}{no}}
  message     = MIME_ERROR : MIME boundary length exceed 1024 characters
  log_message = MIME_ERROR : (Boundary length too long)



accept