Supponiamo che avessi uno script che controllava le posizioni degli honeypot utilizzando 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 l'output era simile a questo:
http://pastebin.com/b4AU4s6k
Da dove inizieresti per provare a riconoscere l'output e magari innescare una sorta di risposta da parte del sistema in caso di "FAILED"?
Ho già lavorato un po' con PERL cercando di analizzare i file di registro, ma i miei tentativi in genere fallivano miseramente per un motivo o per l'altro.
Questo potrebbe non essere il modo corretto di procedere, ma vorrei inserire questo script in un cronjob che venga eseguito ogni minuto.Alcuni ragazzi mi hanno detto che un lavoro o uno script inotify (non ne ho familiarità) sarebbe stato meglio che farlo in questo modo.
Eventuali suggerimenti?
--- modificare
Ho creato un altro script per chiamare lo script sopra e inviare l'output a un file.Il nuovo script esegue quindi un grep -q su 'FAILED' e se rileva qualcosa, suona l'allarme (da sapere quale sarà l'allarme).
#!/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"