Samhain이 존재하지 않지만 향후에있을 수있는 파일을 모니터링 할 수 있습니까?


8

예를 들어 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잘 작동합니다.
Michael Hampton

@MichaelHampton 실제로, 이것은 내가 사용하고있는 해결 방법입니다. 그것은 빈 파일을 생성하는 설정 스크립트를 Samhain 설정과 동기화하여 유지하는 것이 이상적이지만 덜 작동한다는 것을 의미합니다.
Richard Downer

답변:


0

내가 올바르게 이해하면 일부 파일이나 하위 디렉토리를 제외하고 dir의 모든 파일을 모니터링해야합니다.

다음에 시도해 볼 수 있습니다.

[ReadOnly] 
    #
    dir=/home/someuser/.ssh 
    # 
    [Attributes] 
    # 
    # less restrictive policy for the directory file itself 
    # 
    file=/home/someuser/.ssh 
    # 
    [IgnoreAll] 
    # 
    # exclude these file and directories 
    #
    file=/home/someuser/.ssh/known_hosts
    #dir=-1/etc/calendar
    #

추가 정보 https://www.la-samhna.de/samhain/manual/all-except.html


"올바로 이해하면 일부 파일 또는 하위 디렉토리를 제외하고 dir의 모든 파일을 모니터해야합니다"-이것은 올바르지 않습니다. 모든 파일을 모니터링하고 싶지 않습니다. 알려진 특정 이름으로 특정 파일 (또는 소수의 파일)을 모니터링하고 다른 모든 파일을 무시하고 싶습니다. 예를 들어 사용자의 홈 디렉토리에서 모니터링하고 싶습니다 .bashrc. 사용자가 홈 디렉토리에서 만들 수있는 모든 가능한 파일을 모두 허용 목록에 포함하고 싶지 않습니다. 문제는 .bashrc사전에 존재하지 않으면 Samhain이이를 전혀 모니터링하지 않으며 나중에 적대적인 콘텐츠로 작성된 경우 나에게 경고하지 않는다는 것입니다.
Richard Downer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.