[Exim] Zip Rar Binary verify implementation

Top Page
Delete this message
Reply to this message
Author: Silmar A. Marca
Date:  
To: exim-users
Subject: [Exim] Zip Rar Binary verify implementation
This implementation is ok and block all virus in compact files. Have other
sujestion of compact files? How to permit a send if subject have/contain
"Password (ex: md5(thisday))" subject?

exim.conf
--------------------------------------
deny message         = This message contains an unwanted binary Attachment in
${uc:$found_extension} file
        log_message     = "DEMIME: ${uc:$found_extension} with Binary Attachment
found"
        demime          = zip:rar
        condition       = ${run{/etc/mail/checkpkt.sh $message_id
${lc:$found_extension}}{0}{1}}
-------------------------------------
checkpkt.sh
-------------------------------------
#!/bin/sh
#Definicoes
EXTENS='.(ad[ep]|asd|ba[st]|chm|cmd|com|cpl|crt|dll|exe|hlp|hta|in[fs]|isp|jse?|jar|lnk|md[bez]|ms[cipt]|ole|ocx|pcd|pif|reg|sc[rt]|sh[sb]|sys|url|vb[es]?|vxd|ws[cfh]|cab)'
COMPAC='.(zip|rar)'
cd /var/spool/exim/scan/$1


#Todos arquivos do arquivo compactado
for i in `ls | egrep -i "${COMPAC}$"`; do
    #arquivos ZIP
    if [ "`echo $i | egrep -i '.(zip)$'`" != "" ]; then
        if [ `unzip -l $i | gawk '{ print $4 }' | egrep -i "${EXTENS}$" | wc -l`
-gt 0 ]; then
            exit 1
        fi


    fi
    #arquivos RAR
    if [ "`echo $i | egrep -i '.(rar)$'`" != "" ]; then
        if [ `unrar l  $i | gawk '{ print $1 }' | egrep -i "${EXTENS}$" | wc -l`
-gt 0 ]; then
            exit 1
        fi


    fi
done
exit 0



Cordialmente, Silmar A. Marca
GrupoGSN - Desenvolvimento, Implantação e Verificação de Servidores
Profissionais baseados em Linux/Novell
http://www.grupogsn.com.br/~marca/
------------------------------------------------------------
Se algo não lhe faz mal (fisico, moral ou psicologicamente),
experimente! O máximo e você perder tempo! E tempo, e
o que você tem a vida toda pra perder.....
Mais vale um instante de prazer que uma eternidade fútil!
------------------------------------------------------------