Malware Patrol - Atualização automática do Squid

Malware Patrol é um site que utiliza um sistema para verificar URLs que tenham a presença de vírus, trojans, worms ou outros tipos de software considerados malwares. A lista é atualizada de hora em hora e portanto um script para atualização em nosso servidor seria interessante.

[ Hits: 25.463 ]

Por: Marcio Jose em 01/12/2008 | Blog: http://br.linkedin.com/in/marciojose


Script de atualização



Este é o "updater" propriamente dito. Optei por variáveis para a melhor customização.

Crie o arquivo no lugar que preferir. Em meu caso, fiz em /etc/scripts/, portanto:

# mkdir /etc/scripts
# vi /etc/scripts/update_malware_patrol.sh


E coloque o seguinte conteúdo:

#!/bin/sh
#
# Script para Update do Malware Patrol List para Squid
# Marcio Jose Atanasio - marcioatanasio@gmail.com
#
# 19/11/2008
#


DIR_LIST_SQUID=/etc/squid/
DIR_TMP=/opt/
NAME_LIST=malware_patrol_list
SQUID_SERV="/etc/init.d/squid reload"
URL_LIST=http://www.malwarepatrol.com.br/cgi/submit?action=list_squid

cd $DIR_TMP
wget -O $NAME_LIST $URL_LIST
if [ $? = 0 ]; then
   mv -f $DIR_TMP$NAME_LIST $DIR_LIST_SQUID
   echo `$SQUID_SERV`
else
   echo 'Falha na Atualizacao da Lista de Malware Patrol. Acesse http://www.malwarepatrol.com.br' > $DIR_TMP/msg.txt
   mail -s "Falha Atualizacao" "suporte_tecnico@suporte_tecnico.com.br" < msg.txt
   rm $DIR_TMP/msg.txt
fi
cd -
exit 0

Note essas duas linhas:
  • mail -v -s "Falha Atualizacao" "suporte_tecnico@suporte_tecnico.com.br" < msg.txt
  • rm $DIR_TMP/msg.txt

Elas te informam por email, caso haja alguma falha no download da lista. Caso queira ser informado, é necessário frisar dois pontos:
  1. Sendmail instalado e configurado;
  2. Caso seu servidor não seja um servidor de email, um servidor que aceite relay.

1. Para instalar o sendmail não há problemas:

# aptitude install sendmail

Para configurar o sendmail na distribuição Debian Linux faça:

# dpkg-reconfigure exim4-config
Split configuration into small files? No
General type of mail configuration: internet site; mail is sent and received directly using SMTP
System mail name: suporte_tecnico.com.br (Domínio que tem a conta de email que irá utilizar)
IP-addresses to listen on for incoming SMTP connections: 127.0.0.1
Other destinations for which mail is accepted: (O que estiver, irrelevante)
Domains to relay mail for: (Em branco)
Machines to relay mail for: (Em branco - Este é o relay do seu servidor para outros, não dos outros para você)
Keep number of DNS-queries minimal (Dial-on-Demand)? (Se tiver a internet no servidor a todo tempo, No, caso contrário, Yes)
Delivery method for local mail: mbox format in /var/mail/ (Irrelevante)

2. Em meu ambiente tenho outro servidor de email que está permitindo relay vindo do meu servidor proxy. Faça o teste:

# echo "Teste de envio" > msg.txt
# mail -v -s "Teste de envio de email" "email_destinatario@domínio.com.br" < msg.txt


Aparecerá em modo verbose todo o funcionamento do envio. Caso não opte por ser avisado, somente comente as duas linhas.

Configuração do crontab

Para que a lista seja atualizada automaticamente é necessário agendar a execução do script. Execute:

# crontab -e

Adicione a linha:

0 * * * * /etc/scripts/update_malware_patrol.sh 1> /dev/null

Assim a cada hora o script será executado e a lista atualizada.

Considerações finais

No site do Malware Patrol pode ser encontrada lista para as mais diversas soluções. Há também dois tipos de lista, a Regular List e a Agressive List. Estude seu ambiente e utilize a que mais lhe convier. Em meu caso, utilizo a Regular List sem problemas.

Espero ter sido útil neste artigo. O que mais me motiva ao mundo open-source é a troca de informações e o espírito "faça você mesmo". Portanto, dúvidas em que eu puder ajudar, tenha certeza que o farei.

Obrigado e até a próxima.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Script de atualização
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

ECache - O cache efetivo

Destrinchando a compilação do Squid

Fazendo controle no Proxy Squid por MAC ADDRESS

Squid atuando como proxy reverso

  
Comentários
[1] Comentário enviado por irado em 02/12/2008 - 09:17h

excelente a dica e o script funciona belezinha; há um senão, porém: alguns dominios REJEITAM os e-mail enviados porque falta remetente/dominio. O mail (man mail) não indica um modo de acrescentar isso.

[2] Comentário enviado por alphazzz em 02/12/2008 - 10:20h

Muito legal a idéia! Eu sou iniciante e estou com um servidor rodando para o meu projeto de estágio, vou aplicar essa solução também. Mas me diga uma coisa, não seria melhor que fosse criado um arquivo de log para os erros de atualização? Como a lista é extensa acho q não seria necessário receber um e-mail quando a atualização falhasse.


E mais uma coisa,, vc disse:
"Note essas duas linhas:

* mail -v -s "Falha Atualizacao" "suporte_tecnico@suporte_tecnico.com.br" < msg.txt"

e no script está escrito:
"mail -s "Falha Atualizacao" "suporte_tecnico@suporte_tecnico.com.br" < msg.txt"

o parâmetro correo é "-v" ou "-s"?

Parabéns!!

[3] Comentário enviado por marciojose em 02/12/2008 - 11:16h

Olá aphazzz

A opção -v faz o verbose do envio do email. Assim, é possível verificar erros que possam ocorrer no envio da notificação de erro. A opção -s é de subject (assunto). No script, foi suprimido o -v por não ser necessário exibir isso no terminal, uma vez que o cron irá executar o script.

A respeito do log, é possível sim... Pode-se adicionar no bloco onde se faz a gravação da nova lista que foi feita download:

if [ $? = 0 ]; then
mv -f $DIR_TMP$NAME_LIST $DIR_LIST_SQUID
echo `$SQUID_SERV`
echo "Mensagem que deseja gravar " >> /var/log/malware_patrol.log

Lembrando, que para garantir, crie o arquivo antes.

touch /var/log/malware_patrol.log

Valeu

[4] Comentário enviado por joaovitorlinux em 02/12/2008 - 14:29h

Cara, muito bom, gostei do artigo e rodo blzinha aqui.
Valeu.

[5] Comentário enviado por Jardel.Rodrigues em 02/12/2008 - 15:46h

Olá pessoal, alguém usou este script com a versão squid 3.0 ?

[6] Comentário enviado por paulorvojr em 02/12/2008 - 21:01h

rodou perfeito.

ola jardelns, deve funcionar sim, pois é somente uma nova ACL que o squid esta lendo e bloqueando para os usuários.
O grande lance é o script que pega a lista do site malware patrol e o escreve em um arquivo, e alimenta esse arquivo que o squid le, que depois poem na ACL.



dica, rode primeiro o script, para criar o arquivo, somente depois use os parametros do squid e o recarregue, eu sugiro reinicia-lo
"service squid restart"ou /etc/init.d/squid restart, ou /usr/bin/squid restart ou seja la como for a sua distribuição.




[7] Comentário enviado por cearánews em 03/12/2008 - 13:19h

Muibo útil o post senhor Márcio José Atanásio!

[8] Comentário enviado por jose.freitas.rj em 04/12/2008 - 08:50h

muito show esse post! Uso Squid no fedora e coloquei em uso aqui na empresa onde trabalho e funciona mesmo! Se tiver mais post como esse, posta aqui pra gente! abraços...

[9] Comentário enviado por PRRS em 06/01/2009 - 15:20h

Boa Tarde .....

Primeiramente agradecer o amigo pela bela contribuição. Achei a idéia do www.malwarepatrol.com.br, excelente, pois eu atuava de forma reativa quando chegava um e-mail suspeito em minha instalação.

Acho que sistemas inteligência ativa e dinâmica como o IRONPORT e agora o Malwarepatrol, como a solução para diversos problemas de segurança de Internet. A turma do IronPort, já está com um Apliance que dentre outras coisas engloba esta função, mas é cara para ......

E esta solução é gratuita ...

Emfim parabéns pela criatividade em utilizar e colaborar com todos, instalei em meu Conectiva 9 e funcionou de primeira.

Paz, Saúde e Amor ....

[10] Comentário enviado por henriquelm em 15/05/2009 - 17:28h

A minha lista do Malware Patrol não está atualizando. Já adicionei a linha de comando no crontab -e como root, e segui todos os outros passos.

Alguém faz idéia do que pode ser?

[11] Comentário enviado por ssilva501 em 23/02/2010 - 11:16h

Srs.

O endereço correto é "http://malwarepatrol.com.br/cgi/submit?action=list_squid".

Um abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts