문제

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

'실패'가있는 경우 어디에서 출력을 시도하고 인식하고 시스템에 대한 응답을 트리거하기 시작 하시겠습니까?

나는 Perl이 전에 로그 파일을 구문 분석하려고 노력했지만 내 시도는 일반적으로 어떤 이유로 든 비참하게 실패했습니다.

이것은 이것에 대해 올바른 방법이 아닐 수도 있지만,이 스크립트를 매 순간마다 실행되는 크론 조브에 넣고 싶습니다. 나는 어떤 사람들이 나에게 비해 직업이나 대본 (이것에 익숙하지 않음)이 이런 식으로하는 것보다 낫다고 말한다.

제안이 있습니까?

--- 편집하다

위의 스크립트를 호출하고 출력을 파일로 보내기 위해 다른 스크립트를 만들었습니다. 그런 다음 새 스크립트는 '실패'에서 grep -Q를 실행하고 아무것도 선택하면 알람이 들립니다 (알람이 무엇인지 tbd).

#!/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"
도움이 되었습니까?

해결책

사용:

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"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top