você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Buscar possíveis vírus

Por Rogério Reis

Data de Publicação: 26 de Julho de 2008

Apesar de toda a estrutura existência para evitar vírus na rede, especialmente os appliances e regras nos MTAs, usuário é usuário em qualquer lugar e sempre consegue um jeitinho de se infectar, ultimamente pelos falsos cartões virtuais.

Segue um script que fiz e coloquei no cron para rodar uma vez por dia, ele busca por arquivos com extensões perigosas (.com, .vbs, .scr, .pif) e mais podem ser adicionadas, se ele encontrar algum arquivo deste tipo, ele envia um e-mail reportando quais arquivos estão nesta condicão.

Achei útil escrever este script para o servidor de arquivos, deste modo, se algum usuário se infectar, posso identificar rapidamente quem é o mesmo, verificando o dono do arquivo.

Depende do programa sendEmail, pois alguns servidores de arquivos não possuem acesso a internet para enviar mensagens pelo comando mail. Pode ser encontrado em http://caspian.dotconf.net/menu/Software/SendEmail/

Sei que o código pode ser melhorado, quem quiser sugerir, fique à vontade.

#!/bin/bash
# Anexex - script para monitorar o servidor de arquivos na busca de anexos que podem ser virus
# Autor Rogerio Reis rogerio-reis@bol.com.br
# Data  29/07/05

# Arquivos temporarios
cabecalho="/tmp/anexex-cab.txt"
relat="/tmp/relat-anexex.txt"
comp="/tmp/anexex.txt"
relatcab="/tmp/relatcab.txt"

# Cria arquivos de tempo de execucao
> $cabecalho
> $relat
> $relatcab

# Data
hoje=`date`

# Atualiza a base de arquivos
#updatedb

#Cabecalho do relatorio
echo "Relatorio Anexex ---- Verifica possiveis virus na rede" >> $cabecalho
echo "Data: $hoje" >> $cabecalho
echo "" >> $cabecalho
echo "" >> $cabecalho

# E-mail para reportar os fatos
email=email@dominio.com.br
servidor=10.0.0.1 #ip do servidor de e-mails

qtdpif=`locate *.pif > /tmp/qtdpif && cat /tmp/qtdpif | wc -l`
if [ 0 -ne $qtdpif ]
then
       echo "Encontrado arquivo com extensao .pif" >> $relat
       echo "Quantidade encontrada: $qtdpif" >> $relat
       cat /tmp/qtdpif >> $relat
       echo "" >> $relat
fi

qtdvbs=`locate *.vbs > /tmp/qtdvbs && cat /tmp/qtdvbs | wc -l`

if [ 0 -ne $qtdvbs ]
then
       echo "Encontrado arquivo com extensao .vbs" >> $relat
       echo "Quantidade encontrada: $qtdvbs" >> $relat
       cat /tmp/qtdvbs >> $relat
       echo "" >> $relat

fi

qtdcom=`locate *.com > /tmp/qtdcom && cat /tmp/qtdcom | wc -l`
if [ 0 -ne $qtdcom ]
then
       echo "Encontrado arquivo com extensao .com" >> $relat
       echo "Quantidade encontrada: $qtdcom" >> $relat
       cat /tmp/qtdcom >> $relat
       echo "" >> $relat
fi

qtdscr=`locate *.scr > /tmp/qtdscr && cat /tmp/qtdscr | wc -l`
if [ 0 -ne $qtdscr ]
then
       echo "Encontrado arquivo com extensao .scr" >> $relat
       echo "Quantidade encontrada: $qtdscr" >> $relat
       cat /tmp/qtdscr >> $relat
       echo "" >> $relat

fi

if diff $comp $relat
then
       exit 0
else
       # Envia e-mail reportando
       cat $cabecalho $relat > $relatcab
       cat $relatcab | /usr/local/sendEmail-v1.42/sendEmail -f anexex@dominio.com.br -t $email -s $servidor -u "Anexo Executavel"
       # Atualiza arquivo de comparacao
       cp -f $relat $comp
fi
Error: No site found with the domain 'moodle.idph.com.br' (Learn more)