você está aqui: Home → Colunistas → Cantinho do Shell
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