web-dev-qa-db-ja.com

Auditd-ディレクトリのみを監視するauditctlルール(すべてのサブディレクトリやファイルなどではありません)

auditdを使用してディレクトリへの変更を監視しようとしています。問題は、ルールを設定すると、指定したディレクトリだけでなく、その下にあるすべてのサブディレクトリとファイルも監視し、冗長性が無限にあるために監視が役に立たなくなることです。

ルールの設定方法は次のとおりです。

auditctl -w /home/raven/public_html -p war -k raven-pubhtmlwatch

を使用してログを検索すると

ausearch -k raven-pubhtmlwatch

public_htmlの下のすべてをリストするログから数千行を取得します。

指定されたディレクトリのみの変更にルールを制限するにはどうすればよいですか?

2
superuseroi

クレジットは、 linux-audit メーリングリストで私の質問に答えたSteve @redhatに送られます。

時計は実際には偽装したシステムコールルールです。ディレクトリにウォッチを配置すると、auditctlはそれを次のように変換します。

-a exit,always -F dir=/home/raven/public_html -F perm=war -F key=raven-pubhtmlwatch

-Fdirフィールドは再帰的です。ただし、ディレクトリエントリを監視するだけの場合は、それを-Fパスに変更できます。

-a exit,always -F path=/home/raven/public_html -F perm=war -F key=raven-pubhtmlwatch

これは再帰的ではなく、ディレクトリが占めるiノードを監視するだけです。

ルールを/etc/audit/audit.rulesに手動で追加してから、auditdを再起動する必要がありました。

/etc/init.d/auditd restart

これでルールが追加され、うまく機能します!

5
superuseroi

Ubuntu 12.04は、システムオブジェクトに対して同じように動作するようには見えません。このウォッチを/ etcまたは/ usr/libに配置してみてください(別の投稿では、トップレベルのディレクトリをウォッチしようとすると問題が発生するようです)。次に、これらのディレクトリの1つに何かを作成すると、audit.logにキーワードが何も表示されません。この項目は、PCI DSS 3.110.2.7のテストに関連しています。

1
Kurt