Digamos que eu tinha um script que verificou os locais do Honeypot usando o MD5SUM.
#!/bin/bash
#cryptocheck.sh
#Designed to check md5 CRC's of honeypot files located throughout the filesystem.
#Must develop file with specific hashes and create crypto.chk using following command:
#/opt/bin/md5sum * > crypto.chk
#After creating file, copy honeypot folder out to specific folders
locations=("/share/ConfData" "/share/ConfData/Archive" "/share/ConfData/Application"
"/share/ConfData/Graphics")
for i in "${locations[@]}"
do
cd "$i/aaaCryptoAudit"
/opt/bin/md5sum -c /share/homes/admin/crypto.chk
done
E a saída parecia assim:
http://pastebin.com/b4au4s6k
Onde você começaria a tentar reconhecer a saída e talvez desencadear algum tipo de resposta pelo sistema se houver um 'falhado'?
Já trabalhei um pouco com o Perl tentando analisar arquivos de log antes, mas minhas tentativas normalmente falham miseravelmente por um motivo ou outro.
Essa pode não ser a maneira correta de fazer isso, mas eu gostaria de colocar esse script em um cronjob que percorria a cada minuto. Eu tinha alguns caras me dizendo que um trabalho ou script inotificar (não estou familiarizado com isso) seria melhor do que fazê -lo dessa maneira.
Alguma sugestão?
--- Editar
Fiz outro script para ligar para o script acima e enviar a saída para um arquivo. O novo script executa um grep -q em 'falhou' e, se ele escolher algo, soa o alarme (TBD qual será o alarme).
#!/bin/bash
#cryptocheckinit.sh
#
#rm /share/homes/admin/cryptoalert.warn
/share/homes/admin/cryptocheck.sh > /share/homes/admin/cryptoalert.warn
grep -q "FAILED" /share/homes/admin/cryptoalert.warn && echo "LIGHT THE SIGNAL FIRES"