MS SQL 2008 Standard Editionデータベースのテーブルに偽のレコード/行を追加し、これらのレコードを使用してデータベースを監視したいとします。データベース上のレコードのいずれかを誰かが見ているかどうかを確認するには?
この目的は、ハッカーを監視することです。これを行うためのトリガーを作成することは可能です。 DDLトリガーがこのタスクを実行できないように思えました。
MS SQL 2008 Standard Editionデータベースのテーブルに偽のレコード/行を追加し、これらのレコードを使用してデータベースを監視したいとします。データベース上のレコードのいずれかを誰かが見ているかどうかを確認するには?
この目的は、ハッカーを監視することです。これを行うためのトリガーを作成することは可能です。 DDLトリガーがこのタスクを実行できないように思えました。
ストアドプロシージャ(独自のログを追加できる)を使用してデータベースへのアクセスを制御できない場合は、監査またはサーバー側のトレースを使用する必要があります。選択トリガは存在せず、選択行為によってどの行が表示されたかを示すDMVはありません。
回避策として、キャッシュされたページを確認することが考えられますが、 "誰"がそれを見ているのか、どのような目的のためにディスクからメモリにロードされたのかだけは分かりません。 – JNK
これはページを提供しますが、行は提供しません。そのため、監査行がちょうど他の行と同じページにあると、その方法で誤検出が発生する可能性があります。それらはまた、他の理由(例えば、インデックスメンテナンス、テーブル全体の更新など)のために記憶されている可能性があります。 –
「見ている」を定義します。あなたはここで守ろうとしている攻撃の正確な種類は何ですか?最近のほとんどの攻撃は自動化されているため、個人のデータを「見て」いるコンピュータに座っている人はいません。 –
を見て==あなたのデータを取った –
"取った"?どこかに行った? –