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.