예를 들어 Samhain이 파일을 모니터링하고 싶습니다 /root/somefile
. 이 파일은 현재 존재하지 않지만 언제라도 생성되면 알림을 받고 싶습니다.
나는 이것을 다음에 추가한다 samhainrc
:
[ReadOnly]
file = /root/somefile
이로 인해 Samhain은 다음과 같은 로그 항목을 생성합니다.
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] interface=<lstat>, msg=<No such file or directory>, userid=<0>, path=</root/somefile>
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] msg=<POLICY MISSING>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: INFO : [2018-10-18T22:54:19+0000] msg=<Checking [ReadOnly]>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: NOTICE : [2018-10-18T22:54:19+0000] msg=<Check failed>, path=</root/somefile>
나는이 파일을 작성하는 경우 그리고 echo test > /root/somefile
, 나는 할 수 없습니다 어떤 정책 위반이 기록 얻을 -이 파일의 추가가 주목되고있다.
기존에 존재하지 않는 관심 대상 파일이 생성 될 경우 알려주도록 Samhain을 구성하려면 어떻게해야합니까?
IgnoreMissing
구성 옵션은 유용 먼저 눈에 나타납니다,하지만하지 않습니다. 로 IgnoreMissing = /root/somefile
에서 samhainrc
, 행동에 변화가 없다. 이 옵션은 나중에 누락 될 것으로 예상되는 파일을위한 것으로 보입니다. 파일이 존재하는 경우 경고를 표시하지 않지만, 예를 들어 자동화 된 프로세스가 오래된 파일을 삭제하는 경우에는 그렇지 않습니다.
/root/somefile
이 경우 분명히 구성 되지만 존재하지 않는 파일이 갑자기 존재하기 시작하는 예는 파일 /home/someuser/.ssh/authorized_keys
이 이전에 존재하지 않았지만 갑자기 존재하는 경우입니다. 이것은 백도어를 허용하기 위해 무언가를 악용 한 악의적 인 사용자 일 수 있습니다. 쉘 사용자로 로그온합니다. 이것은 내가 경고하고 싶은 것입니다.
사용자 폴더 의 모든 변경 사항 dir = /home/someuser/.ssh
을 모니터링 하는 데 사용할 수 .ssh
있지만 도움이되지 않습니다. 사용자가 자신의 계정에서 SSH를 사용하는 것이 정상이라면 .ssh/known_hosts
파일이 변경되거나 파일이 변경 될 수 있습니다 ssh_config
. 등은 원하지 않습니다. 그에 의해 경고됩니다. 따라서 허용 된 파일과 별도로 전체 디렉토리를 모니터링하고 싶지 않습니다. 특정 중요 파일과 별도로 디렉토리를 모니터링하지 않고 남겨두고 싶습니다.
authorized_keys
잘 작동합니다.