セキュリティ ログへの SQL サーバー監査イベントの書き込み
高度なセキュリティ環境では、オブジェクト アクセスを記録するイベントを書き込むのに適切な場所は Windows セキュリティ ログです。 他の監査場所は、サポートされていますが、改ざんされる可能性が高くなります。
Windows セキュリティ ログにSQL Serverサーバー監査を書き込むには、次の 2 つの重要な要件があります。
オブジェクト アクセスの監査の設定は、イベントをキャプチャするように構成する必要があります。 監査ポリシー ツール (
auditpol.exe
) は、" オブジェクト アクセスの監査 " カテゴリでさまざまなサブポリシー設定を公開しています。 SQL Serverがオブジェクト アクセスを監査できるようにするには、アプリケーションによって生成される設定を構成します。SQL Server サービスが実行されているアカウントには、Windows セキュリティ ログに書き込むセキュリティ監査の生成アクセス許可が必要です。 既定では、LOCAL SERVICE アカウントおよび NETWORK SERVICE アカウントにこの権限があります。 SQL Serverがいずれかのアカウントで実行されている場合、この手順は必要ありません。
Windows 監査ポリシーは、Windows セキュリティ ログに書き込むよう構成されている場合、SQL Server監査に影響を与える可能性があります。監査ポリシーが正しく構成されていない場合は、イベントが失われる可能性があります。 通常、Windows セキュリティ ログは、古いイベントを上書きするよう設定されます。 これにより、最新のイベントが保持されます。 ただし、Windows セキュリティ ログが古いイベントを上書きするよう設定されていない場合、セキュリティ ログがいっぱいになると、システムは Windows イベント 1104 (ログがいっぱいです) を発行します。 このとき、次の点に注意してください。
それ以降のセキュリティ イベントは記録されません。
SQL Serverは、システムがセキュリティ ログにイベントを記録できないことを検出できず、監査イベントが失われる可能性があります
ボックス管理者によってセキュリティ ログが修復されると、ログ動作は正常に戻ります。
このトピックの内容
作業を開始する準備:
セキュリティ ログに SQL サーバー監査イベントを書き込むには:
auditpol を使用した Windows のオブジェクト アクセスの監査の設定
はじめに
制限事項と制約事項
SQL Server コンピューターの管理者は、セキュリティ ログのローカル設定をドメイン ポリシーによって上書きできることを理解している必要があります。 この場合、ドメイン ポリシーによってサブカテゴリ設定 (auditpol /get /subcategory:"application generated" ) が上書きされる可能性があります。 これは、SQL Server監査しようとしているイベントが記録されないことを検出する方法がなくても、イベントSQL Serverログに記録する機能に影響を与える可能性があります。
セキュリティ
アクセス許可
これらの設定を行うには、Windows 管理者である必要があります。
auditpol を使用して Windows のオブジェクト アクセスの監査の設定を行うには
管理権限を使用してコマンド プロンプトを開きます。
[スタート] ボタンをクリックし、 [すべてのプログラム] 、 [アクセサリ] の順にポイントします。次に、 [コマンド プロンプト] を右クリックし、 [管理者として実行] をクリックします。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、 [続行] をクリックします。
次のステートメントを実行して、SQL Serverからの監査を有効にします。
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
コマンド プロンプト ウィンドウを閉じます。
secpol を使用して "セキュリティ監査の生成" 権限をアカウントに許可するには
任意の Windows オペレーティング システムで、 [スタート] ボタンをクリックし、 [ファイル名を指定して実行] をクリックします。
「 secpol.msc 」と入力し、 [OK] をクリックします。 [ユーザー アクセス制御] ダイアログ ボックスが表示されたら、 [続行] をクリックします。
ローカル セキュリティ ポリシー ツールで、 [セキュリティの設定] 、 [ローカル ポリシー] の順に展開し、 [ユーザー権利の割り当て] をクリックします。
結果ペインで [セキュリティ監査の生成] をダブルクリックします。
[ローカル セキュリティの設定] タブの [ユーザーまたはグループの追加] をクリックします。
[ユーザー、コンピューター、またはグループの選択] ダイアログ ボックスで、ユーザー アカウントの名前 ( domain1\user1 など) を入力して [OK] をクリックするか、 [詳細設定] をクリックしてアカウントを検索します。
[OK] をクリックします。
セキュリティ ポリシー ツールを閉じます。
この設定を有効にするには、SQL Serverを再起動します。
secpol を使用して Windows のオブジェクト アクセスの監査の設定を行うには
オペレーティング システムが Windows Vista または Windows Server 2008 より前の場合は、[ スタート ] メニューの [ 実行] をクリックします。
「 secpol.msc 」と入力し、 [OK] をクリックします。 [ユーザー アクセス制御] ダイアログ ボックスが表示されたら、 [続行] をクリックします。
ローカル セキュリティ ポリシー ツールで、 [セキュリティの設定] 、 [ローカル ポリシー] の順に展開し、 [監査ポリシー] をクリックします。
結果ペインで、 [オブジェクト アクセスの監査] をダブルクリックします。
[ローカル セキュリティの設定] タブの [次の場合に監査する] で、 [成功] チェック ボックスと [失敗] チェック ボックスの両方をオンにします。
[OK] をクリックします。
セキュリティ ポリシー ツールを閉じます。