Minha solução para obter muitos relatórios de tripwire de muitos hosts é mandar todos eles para um endereço que os empilhe em um arquivo e, em seguida, executar um trabalho simples que informe apenas o nome do host e as contagens de violações. e somente e-mails que relatam se houver algum host com uma contagem de violação diferente de zero.
Primeiramente, todos os hosts enviam seus relatórios para o endereço [email protected]
. Isso é fácil de organizar a partir de cada uma das entradas crontab; Eu faço isso com:
# check the tripwires
[email protected]
3 1 * * * /usr/sbin/tripwire --check
Em segundo lugar, no servidor de e-mail, tenho uma entrada de aliases que diz:
# tripwire report autoprocessing
tripwire: /var/tmp/tripwire
Em terceiro lugar, tenho um cron job que é executado todas as manhãs para processar o conteúdo desse arquivo e outro que é executado todas as noites para removê-lo (portanto, só estou vendo as saídas mais recentes):
# report problems with nightly tripwire runs
2 7 * * * /usr/local/bin/tripwire-check
45 23 * * * rm -f /var/tmp/tripwire
E aqui está o conteúdo de / usr / local / bin / tripwire-check; é muito simples:
#!/bin/tcsh
grep "Total violation" /var/tmp/tripwire | grep -vw 0 > /dev/null || exit 0
egrep 'Host name|Total vio' /var/tmp/tripwire | mail -s "NIGHTLY TRIPWIRE VIOLATIONS 'date +%Y%m%d'" [email protected]
O primeiro grep sai sem qualquer correio ou saída IFO todas as linhas que contêm uma contagem de violação também contêm o número 0, como uma palavra inteira; o segundo, que é invocado apenas se a primeira linha falhar, produz o e-mail resumido e envia-o para mim.
E, finalmente, aqui está um exemplo de saída quando há um erro para relatar:
Subject: NIGHTLY TRIPWIRE VIOLATIONS 20050401
Date: Fri, 1 Apr 2005 07:02:00 +0100
To: [email protected]
From: root <[email protected]>
Host name: fw03b.company.com
Total violations found: 0
Host name: je01b.company.com
Total violations found: 0
Host name: ms01.company.com
Total violations found: 1
Host name: fw05a.company.com
Total violations found: 0
Host name: fw02b.company.com
Total violations found: 0
Host name: fw01b.company.com
Total violations found: 0
Host name: je02o.company.com
Total violations found: 0
Host name: je01a.company.com
Total violations found: 0
Host name: fw04a.company.com
Total violations found: 0
Host name: fw04b.company.com
Total violations found: 0
Host name: je02p.company.com
Total violations found: 0
Host name: fw02a.company.com
Total violations found: 0
Host name: fw03a.company.com
Total violations found: 0
Host name: rp01a.company.com
Total violations found: 0
Host name: rp01b.company.com
Total violations found: 0
Host name: je03o.company.com
Total violations found: 0
Host name: db03.company.com
Total violations found: 0
Host name: lb02p.company.com
Total violations found: 15
Host name: rp02o.company.com
Total violations found: 23
Host name: as05.company.com
Total violations found: 0
Host name: db02.company.com
Total violations found: 0
Espero que seja de alguma utilidade.