0

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

出力は次のようになりました。

http://pastebin.com/b4AU4s6k

「FAILED」がある場合、どこから出力を認識しようとし、おそらくシステムによる何らかの応答をトリガーしますか?

以前にログファイルを解析しようとして PERL を少し使ったことがありますが、私の試みは通常、何らかの理由で惨めに失敗しました。

これは適切な方法ではないかもしれませんが、毎分実行される cronjob にこのスクリプトを入れたいと思います。inotify ジョブまたはスクリプト (私はこれに精通していません) の方が、この方法で実行するよりも優れていると言う人もいました。

助言がありますか?

- - 編集

上記のスクリプトを呼び出し、出力をファイルに送信する別のスクリプトを作成しました。次に、新しいスクリプトは「FAILED」でgrep -qを実行し、何かを拾うと、アラームを鳴らします(アラームが何であるかは未定)。

#!/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"
4

1 に答える 1

2

使用する:

if ! /opt/bin/md5sum -c /share/homes/admin/crypto.chk
then 
    # Do something
fi

または、ループの出力をパイプします。

for i in "${locations[@]}"
do
        cd "$i/aaaCryptoAudit"
        /opt/bin/md5sum -c /share/homes/admin/crypto.chk
done | grep -q FAILED && echo "LIGHT THE SIGNAL FIRES"
于 2013-11-08T06:12:22.897 に答える