[FUG-BR] Script para avisar sobre problemas de segurança

Marcelo Gondim gondim em bsdinfo.com.br
Sexta Janeiro 13 09:58:52 BRST 2012


Olá pessoal,

Antigamente quando eu tinha servidores Linux rodando Debian ou CentOS 
sempre usava alguns recursos como o cron-apt para me avisar por e-mail 
de servidores vulneráveis. Desde que troquei para FreeBSD passei à fazer 
esse trabalho no olho todos os dias. Acredito que tenha um programa para 
isso no ports ou em algum outro lugar. Como meu Analista de Suporte 
precisa treinar shell script passei essa tarefa como exercício. Fiz um 
script bem simples usando pilha de variáveis que pode ser colocado no 
cron de hora em hora ou como desejar e o mesmo envia um e-mail dizendo 
qual servidor está vulnerável, quais vulnerabilidades e suas referencias.
Sei que muitos aqui já devem ter o seu mas para quem está começando e 
for útil aqui vai:

PS: como gosto muito de bash o mesmo foi utilizado, esse script não vai 
funcionar com sh comum.

vulnera.sh

#!/usr/local/bin/bash
# By Gondim
# Date: 13/01/2012
# Version: 1.0

if portaudit -Fda | grep Affected &> /dev/null; then
    echo "Servidor vulneravel: `hostname -f`" > /tmp/vul.txt
    echo >> /tmp/vul.txt
    for linha in `portaudit -da`; do
        VAR3="$VAR2"
        VAR2="$VAR1"
        VAR1="$linha"
        if [ "$VAR3" == "Affected" ] ; then
           echo "$VAR3 $VAR2 $VAR1" >> /tmp/vul.txt
        fi
        if [ "$VAR2" == "Reference:" ] ; then
           echo "$VAR2 $VAR1" >> /tmp/vul.txt
           echo >> /tmp/vul.txt
        fi
    done
    mailx -s SECURITY_PROBLEM seu_email em dominio < /tmp/vul.txt
    rm /tmp/vul.txt
fi

Qualquer bug sintam-se à vontade de colocar :D  o objetivo é ajudar sempre.

Grande á abraço à todos

Gondim


Mais detalhes sobre a lista de discussão freebsd