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.708 ]

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

Otimização Servidores Linux para Cache usando Squid

Fazendo controle no Proxy Squid por MAC ADDRESS

Squid3 com bloqueio HTTPS [que realmente funciona] - Versão 3.5.22

Proxy Squid Transparente

Squid + SSL

  
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