2011-09-12 13 views
0

MS SQL 2008 Standard Editionデータベースのテーブルに偽のレコード/行を追加し、これらのレコードを使用してデータベースを監視したいとします。データベース上のレコードのいずれかを誰かが見ているかどうかを確認するには?

この目的は、ハッカーを監視することです。これを行うためのトリガーを作成することは可能です。 DDLトリガーがこのタスクを実行できないように思えました。

+0

「見ている」を定義します。あなたはここで守ろうとしている攻撃の正確な種類は何ですか?最近のほとんどの攻撃は自動化されているため、個人のデータを「見て」いるコンピュータに座っている人はいません。 –

+0

を見て==あなたのデータを取った –

+0

"取った"?どこかに行った? –

答えて

1

ストアドプロシージャ(独自のログを追加できる)を使用してデータベースへのアクセスを制御できない場合は、監査またはサーバー側のトレースを使用する必要があります。選択トリガは存在せず、選択行為によってどの行が表示されたかを示すDMVはありません。

+0

回避策として、キャッシュされたページを確認することが考えられますが、 "誰"がそれを見ているのか、どのような目的のためにディスクからメモリにロードされたのかだけは分かりません。 – JNK

+0

これはページを提供しますが、行は提供しません。そのため、監査行がちょうど他の行と同じページにあると、その方法で誤検出が発生する可能性があります。それらはまた、他の理由(例えば、インデックスメンテナンス、テーブル全体の更新など)のために記憶されている可能性があります。 –

関連する問題