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問題なく動作します。
マイケルハンプトン

@MichaelHampton確かに、これは私が使用してきた回避策です。つまり、セットアップスクリプトでSamhain configと同期した空のファイルを作成し続ける必要があるということです。理想とは言えませんが、機能します。
リチャードダウナー

回答:


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内のすべてのファイルを監視する必要があります」-これは正しくありません。すべてのファイルを監視したくない。既知の特定の名前を持つ1つの特定のファイル(または少数のファイル)を監視し、他のすべてのファイルを無視したい。たとえば、ユーザーのホームディレクトリで、監視したいです.bashrc。ユーザーがホームディレクトリに作成する可能性のあるすべてのファイルをホワイトリストに登録する必要はありません。問題は、.bashrc事前に存在しない場合、Samhainはそれをまったく監視せず、後で敵対的なコンテンツで作成された場合に警告を表示しないことです。
リチャードダウナー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.