イベントID5136で記録されるログの数をコントロールする

 
いよいよ、今年も年の瀬になりましたね。
思えば、今年の正月に一年の目標なんてものを立てたりしましたが、
目標が達成できたか?どころか、どんな目標を立てたかさえ忘れてしまいました。。
 
 
今日はイベントログのイベントID 5136で記録される内容についてです。
 
イベントID 5136といえば、Windows Server 2008から新設されたイベントIDで
Active Directoryオブジェクトに対する変更を行ったときにその内容を
変更前・後の値と共に記録してくれるイベントです。
 
しかし、記録してくれるからといって、何でも記録していると
イベントビューアを見たときに、とんでもないログの数にびっくりさせられます。
 
イベントログは、とにかく記録されるログの数が多いですから、
私は普段から2つのアプローチで、目的とするログにたどりつきやすくするようにしています。
 
1.記録されるログの種類を減らす
2.フィルタ機能でどうでもよいログを見えなくする
 
2.はこれまでに紹介してきたXPathクエリを使えばよいですね。
1.についてはauditpolコマンド等を使って、監査項目のサブカテゴリ単位で
記録するか、しないかを設定します。
 
以上の方法をイベントID5136のログに当てはめて考えると、
2.についてはある程度絞り込みをすることができますが、
1.については「ディレクトリサービスの監査」を有効にしてしまえば、
Active Directoryオブジェクトの変更はすべて記録されてしまいます。
 
 
そこで、SearchFlags属性を使うと
Active Directoryオブジェクトの値を変更したときに、
その変更内容が値によってログとして記録されないように(もしくは、記録されるように)
カスタマイズできます。
(やっと、本題です)
 
SearchFlags属性の第9ビットがディレクトリサービスの変更で
イベントログに記録するかをつかさどるビットになっていて、
このビットを0とすると、イベントログに記録され、
このビットを1とすると、イベントログに記録されなくなります。
(SearchFlags属性については「SearchFlags属性を設定する」を参照してください)
 
 
実際に試してみました。
1.「ディレクトリサービスの変更の監査」を有効にする
  Windows Server 2008 R2からはGPOから設定できるようになりましたね。
 
 
2.監査対象とするActive Directoryオブジェクトで、「すべてのプロパティの書き込み」の監査を有効にする
 
3.実際にActive Directoryオブジェクトに属性値を設定する
  ここでは、事業所(PhysicalDeliveryOfficeName属性)を設定しました。
  すると、イベントログにイベントID5136で記録されることが確認できます。(下記参照)
 
 
4.SysinternalsのADExplorerを使って、スキーマパーティションのPhysicalDeliveryOfficeNameオブジェクトの
SearchFlags属性を開き、第9ビットを1にする(ただし入力は10進で行うので256になります)。
 
・変更前
 
・変更後 (もとの値に256をプラス)
 
これで、もう一度「事業所」の値を書き換えると、
今度はイベントログに記録されなくなりました。
(ただし、私の環境では一度再起動しないと設定が反映されませんでした)
 
 
イベントビューアに記録されるログを少しでも少なくしたいというときは
利用するのもひとつの手だと思います。
(えっ、Active Directoryの属性なんか、ユーザー名とパスワード以外使わない?!)
 
 
よいお年を!