次の方法で共有


SQL Server 監査イベントをセキュリティ ログに書き込む

高セキュリティ環境では、Windows セキュリティ ログは、オブジェクト アクセスを記録するイベントを書き込むのに適した場所です。 その他の監査場所はサポートされていますが、改ざんの影響を受ける可能性が高くなります。

SQL Server サーバーの監査を Windows セキュリティ ログに書き込むには、次の 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 Server コンピューターの管理者は、セキュリティ ログのローカル設定をドメイン ポリシーで上書きできることを理解する必要があります。 この場合、ドメイン ポリシーによってサブカテゴリ設定が上書きされる可能性があります (auditpol /get /subcategory:"application generated")。 これは、SQL Server が監査しようとしているイベントが記録されないことを検出する方法がなくても、イベントをログに記録する SQL Server の機能に影響する可能性があります。

安全

権限

これらの設定を構成するには、Windows 管理者である必要があります。

auditpol を使用して Windows で監査オブジェクト アクセス設定を構成するには

  1. 管理者権限でコマンド プロンプトを開きます。

    1. [スタート] メニューの [すべてのプログラム] をポイントし、[アクセサリ] をポイントし、[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。

    2. [ ユーザー アカウント制御 ] ダイアログ ボックスが開いたら、[ 続行] をクリックします。

  2. SQL Server からの監査を有効にするには、次のステートメントを実行します。

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable  
    
  3. コマンド プロンプト ウィンドウを閉じます。

secpol を使用してセキュリティ監査の生成アクセス許可をアカウントに付与するには

  1. Windows オペレーティング システムの場合は、[ スタート ] メニューの [ 実行] をクリックします。

  2. 「secpol.msc」と入力し、[OK] をクリックします。 [ ユーザー アクセス制御 ] ダイアログ ボックスが表示されたら、[ 続行] をクリックします。

  3. ローカル セキュリティ ポリシー ツールで、[ セキュリティ設定] を展開し、[ ローカル ポリシー] を展開し、[ ユーザー権利の割り当て] をクリックします。

  4. 結果ウィンドウで、[ セキュリティ監査の生成] をダブルクリックします。

  5. [ ローカル セキュリティ設定 ] タブで、[ ユーザーまたはグループの追加] をクリックします。

  6. [ ユーザー、コンピューター、またはグループの選択 ] ダイアログ ボックスで、 domain1\user1 などのユーザー アカウントの名前を入力し、[ OK] をクリックするか、[ 詳細設定 ] をクリックしてアカウントを検索します。

  7. OK をクリックします。

  8. セキュリティ ポリシー ツールを閉じます。

  9. この設定を有効にするには、SQL Server を再起動します。

secpol を使用して Windows で監査オブジェクト アクセス設定を構成するには

  1. オペレーティング システムが Windows Vista または Windows Server 2008 より前の場合は、[ スタート ] メニューの [ 実行] をクリックします。

  2. 「secpol.msc」と入力し、[OK] をクリックします。 [ ユーザー アクセス制御 ] ダイアログ ボックスが表示されたら、[ 続行] をクリックします。

  3. ローカル セキュリティ ポリシー ツールで、[ セキュリティ設定] を展開し、[ ローカル ポリシー] を展開し、[ 監査ポリシー] をクリックします。

  4. 結果ウィンドウで、[ オブジェクト アクセスの監査] をダブルクリックします。

  5. [ ローカル セキュリティ設定 ] タブの [ これらの試行の監査 ] 領域で、[ 成功 ] と [失敗] の両方を選択 します

  6. OK をクリックします。

  7. セキュリティ ポリシー ツールを閉じます。

こちらもご覧ください

SQL Server Audit (データベース エンジン)