실행 중인 스크립트의 무결성을 어떻게 모니터링할 수 있나요?

실행 중인 스크립트의 무결성을 어떻게 모니터링할 수 있나요?

실행 중인 Python 스크립트가 다른 프로세스(또는 우주선 또는 예상치 못한 개발자 업데이트)에 의해 실수로 수정되지 않았는지 확인하고 싶습니다. 스크립트의 체크섬(예: )을 쓰기 금지된 파일에 저장된 알려진 값과 비교한다고 들었지만 md5sum사용 중인 파일의 체크섬을 얻는 방법은 잘 모르겠습니다. 실행 중인 스크립트의 메모리가 실제 소스 파일인가요? 아니면 다른 곳에서 뭔가가 실행되고 있습니까?

지금까지 시도한 내용은 다음과 같습니다. 결과가 효과가 있을지 모르겠습니다.

1. 체크섬이 포함된 쓰기 금지된 파일을 생성합니다.

cd ~/Developer/MyProj
# Compute the md5 hash and store it in a new file
md5sum /home/username/Developer/MyProj/myscript.py > checksum
# Remove the write permissions for all (user, group, and other)
chmod a-w checksum
# Inspect the permissions to validate
ls -al checksum

2. cronjob을 추가하여 스크립트의 무결성을 주기적으로(예: 매시간) 확인하세요.

sudo crontab -e
0     *     *     *     * /bin/sh /home/username/Developer/MyProj/healthcheck.sh

존재하다 healthcheck.sh:

#!/bin/bash

s1=$(md5sum /home/username/Developer/MyProj/myscript.py)
s2=$(cat /home/username/Developer/MyProj/checksum)

if [ "$s1"="$s2" ]
then
  echo "Script is what we think it is"
else
  echo "Script was modified!"
fi

관련 정보