Angenommen, ich hatte ein Skript, das Honeypot -Standorte mit MD5SUM überprüfte.
#!/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
Und die Ausgabe sah so aus:
http://pastebin.com/b4au4s6k
Wo würden Sie versuchen, die Ausgabe zu erkennen und möglicherweise eine Art Antwort durch das System auszulösen, wenn ein "fehlgeschlagen" vorhanden ist?
Ich habe ein bisschen mit Perl gearbeitet, um Protokolldateien vorher zu analysieren, aber meine Versuche haben normalerweise aus dem einen oder anderen Grund kläglich gescheitert.
Dies ist vielleicht nicht der richtige Weg, um das zu tun, aber ich möchte dieses Skript in einen Cronjob einfügen, der jede Minute laufen würde. Ich hatte einige Leute, die mir sagten, dass ein erfestiger Job oder ein Skript (ich bin damit nicht vertraut) besser wäre als das so.
Irgendwelche Vorschläge?
--- bearbeiten
Ich habe ein anderes Skript erstellt, um das Skript oben aufzurufen und die Ausgabe an eine Datei zu senden. Das neue Skript führt dann ein Grep -Q auf 'fehlgeschlagen' aus und wenn es etwas aufnimmt, klingt es den Alarm (TBD, was der Alarm aussehen wird).
#!/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"