Zabbix RBL check

Como nao consegui nada “for dummies” para monitorar as listas de RBL para determinado servidor de e-mail, tive que juntar alguns scripts e ajustar para a minha necessidade. Tenho certeza que muitos já se depararam com o mesmo problema.

Segue o roteiro do que foi feito ( assumindo que o seu Zabbix está configurado, funcionando, os clientes já estão com o agente, etc… ):

  • Na máquina que vai executar a verificação crie o diretório ( se não existir ) /etc/zabbix/plugins/;
  • Crie o arquivo check_dnsbl.sh com o conteúdo abaixo, informando na variável “IP” o endereço valido do servidor que você vai querer monitorar com a permissão 0755;
/etc/zabbix/plugins/check_dnsbl.sh:


 #!/bin/bash
 DNSLBL_LIST=/etc/zabbix/plugins/dnsbl.txt
 IP=64.233.160.20

rev_ip=`echo $IP | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\4.\3.\2.\1/'`

{
 listed=0
 echo "" >>/etc/zabbix/plugins/dnsbl_check_log.txt
 /bin/date >> /etc/zabbix/plugins/dnsbl_check_log.txt

for dnsbl in `cat $DNSLBL_LIST | grep -v "#"`
 do
 if host -W 1 -t a $rev_ip.$dnsbl >/dev/null 2>&1
 then
 listed=`expr $listed + 1`
 host -t txt $rev_ip.$dnsbl >>/etc/zabbix/plugins/dnsbl_check_log.txt 2>>/etc/zabbix/plugins/dnsbl_check_log.txt
 fi
 done
 echo $listed
 }

exit 0
0,15,30,45 * * * * /etc/zabbix/plugins/check_dnsbl.sh > /etc/zabbix/plugins/check_dnsbl_result.txt 2>/dev/null
  • Na configuração do seu agente ( zabbix_agentd.conf ), adicione a linha:
UserParameter=rbl.check,/bin/cat /etc/zabbix/plugins/check_dnsbl_result.txt
  • Importe o template no seu zabbix e associe com o host.

 

Testado e funcionando no Zabbix 3.0.5

 

Atualização

Aqui está disponivel o template para o Zabbiz 4.2.1.

5 Comments

  1. Encontrei alguns tutoriais a respeito de RBL, o seu esta de fácil compreensão, parabéns. Tenho uma pergunta fiz todo o processo que indicou, no entanto. você indica para associar ao host. Ou seja, tenho de criar o host, quando crio o host, pra qual ip eu aponto? o 127.0.0.1 ou para o ip que quero consultar?

    1. Tem que associar com o objeto de host onde o script vai ser executado na configuração do Zabbix. O IP que vai ser verificado fica no próprio script, portanto altere e coloque o IP valido do seu servidor de saída. Se for verificar mais de um IP, tem que alterar o script para passar o IP de verificação como parametro ou criar uma copia para cada IP, direcionar a saída para arquivos diferentes e criar vários “UserParameter”.

      1. Ah ótimo, estava fazendo desta forma. Mas estou encontrando um erro quando vou nos HOSTS, clico no host Criado, clico em ITENS aí é exibido o RBL Check: SMTP: RBL Check, no final na coluna onde tem Informações, aparece este erro:
        Value “” of type “string” is not suitable for value type “Numeric (unsigned)”

        Quando clico em SMTP: RBL Check, bejo as configurações e lá onde tem Tipo de informação está marcado NÚMERICO (Inteiro sem Sinal).

        Já fiz de tudo aqui e o erro não sai. Não sei se é problema do agente.

        1. Consegui resolver o problema acima, toquei tiop de informação NÚMERICO (Inteiro sem Sinal) para Caracter. Agora começou a rodar. mas tenho uma pergunta, em dados recentes, mostra que a hora das consultas, mas não mostra o resultado nos sites e estou em duas blacklists que estão listadas nos arquivos que configuramos. Não sei se esta rodance certinho. Quando tento excutar ssh para ver se esta rodando bem, dá isto, saberia porque?

          [[email protected] plugins]# ./check_dnsbl.sh
          ./check_dnsbl.sh: line 1: /etc/zabbix/plugins/check_dnsbl.sh:: Arquivo ou diretório não encontrado

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *