SQLサーバーの追加
EventLog AnalyzerがサポートするSQL監査
EventLog Analyzerは、以下のSQL監査をサポートします。
- DDL/DML監視
- 詳細監査
- 列の整合性監視
SQLサーバー監査オブジェクトを手動で作成する方法
SQLサーバー監査オブジェクトを手動で作成する方法は、以下のとおりです。
- SQL Server Management Studio(SSMS)の[オブジェクト エクスプローラー]を開きます。
- [セキュリティ]フォルダーを開きます。
- [監査]フォルダーを右クリックし、[新しい監査]をクリックします。
- [監査の作成]画面にて、任意の[監査名]を入力します。
- [監査の出力先]にて、[アプリケーション ログ]を選択します。
- その他、デフォルト設定を使用して監査設定を保存します。
SQLサーバーの追加手順
EventLog AnalyzerにSQLサーバーを追加する手順は、以下のとおりです。
- [設定]タブ → [ログソースの構成] → [データベース監査]に移動します。
- [SQLサーバー]タブにて、[+SQLサーバーのインスタンスを追加する]をクリックします。
クリック後、SQLサーバーのインスタンスが自動的に検出されます。 - 監視対象のSQLサーバーインスタンスを選択し、[次へ]をクリックします。
- デフォルトの資格情報を使用する場合は、[ログオン資格情報を使用する]にチェックを入れます。(デフォルトの資格情報は、デバイスまたはドメインの資格情報、あるいはログオンする際に使用した資格情報です。)
または、[ログオン資格情報を使用する]からチェックを外し、ユーザー名とパスワードを入力して、[保存]をクリックします。
SQLサーバーインスタンスを手動で追加する方法
監視対象のSQLサーバーインスタンスが自動的に検出されない場合は、以下の手順で追加できます。
- [設定]タブ → [ログソースの構成] → [データベース監査]に移動します。
- [SQLサーバー]タブにて、[+SQLサーバーのインスタンスを追加する]をクリックします。
- 画面右上の[+手動で追加する]をクリックします。
- Windowsサーバーの設定
- Windowsサーバーを選択し、有効な資格情報を入力します。デフォルトの資格情報を使用することもできます。
- SQL Serverインスタンス設定
- 指定されたフィールドにインスタンス名、ポート番号、および資格情報を入力します。
- [詳細監査]を有効または無効にします。
- [インスタンス認証]ドロップダウンメニューから認証方法(Windows認証またはSQL認証)を選択します。
注記:詳細監査を有効にすると監査ポリシーが作成され、詳細監査を無効にすると、選択したSQLサーバーインスタンスの監査ポリシーが削除されます。
注記:詳細監査には、Windows認証を推奨します。
- [追加]をクリックします。
追加されたSQLサーバーインスタンスの表示
EventLog Analyzerは、追加されたすべてのSQLサーバーインスタンスを[データベース管理]画面の[SQLサーバー]タブに一覧表示します。
[SQLサーバー]タブでは、SQLサーバーインスタンスの有効化、無効化、および削除を実施できます。
EventLog Analyzerによって実施されるSQL監査の種類
各監査のステータスは、[設定]タブ → [ログソースの構成] → [データベース監査] → [SQLサーバー]タブから確認できます。
1. DDL/DML監視
- 詳細監査が有効になっている場合、以下の監査アクション設定でサーバー監査の仕様がSQLサーバーインスタンスに作成されます。
- SCHEMA_OBJECT_ACCESS_GROUP
- DATABASE_ROLE_MEMBER_CHANGE_GROUP
- SERVER_ROLE_MEMBER_CHANGE_GROUP
- FAILED_LOGIN_GROUP
- SUCCESSFUL_LOGIN_GROUP
- DATABASE_CHANGE_GROUP
- DATABASE_OBJECT_CHANGE_GROUP
- DATABASE_PRINCIPAL_CHANGE_GROUP
- SCHEMA_OBJECT_CHANGE_GROUP
- SERVER_PRINCIPAL_CHANGE_GROUP
- LOGIN_CHANGE_PASSWORD_GROUP
- SERVER_STATE_CHANGE_GROUP
- DDL/DML監視では、Windowsデバイスから収集するアプリケーションタイプのイベントが使用されます。
- DDL/DML監視では、以下のレポートグループ([レポート]タブ → [アプリケーション] → [SQL Server])が生成されます。
- SQLサーバーイベント
- SQLサーバートレンドレポート
- DDL監査レポート
- DML監査レポート
- アカウント管理の監査
- 監査サーバーレポート
- 攻撃レポート
- 追加のセキュリティレポート
注記:サーバー監査の仕様を作成するには、詳細監査を有効にする必要があります。詳細監査は、後で無効にすることができます。詳細監査が無効になっている場合でも、必要なログは取得されます。
2. データベース監査
- 詳細監査が有効になっている場合、データベース監査のイベントを収集するためにクエリが毎日23時に実行されます。
- データベース監査では、以下のレポート([レポート]タブ → [アプリケーション] → [SQL Server] → [高度な監査レポート])が生成されます。
- 最終ログイン時間レポート
- 削除操作レポート
- ログイン情報レポート
- 最もよく使われるテーブル
- テーブル更新レポート
- インデックス情報レポート
- サーバー情報レポート
- 待機情報レポート
- ブロック済みのプロセスレポート
- スキーマ変更履歴
- オブジェクト変更履歴
- 接続されたアプリケーションレポート
- セキュリティ変更レポート
- 権限情報レポート
- データベースの最終バックアップ
- 最終DBCCアクティビティ
注記:ログを取得するためのクエリは、詳細監査が有効になっている場合にのみ成功します。
3. 列の整合性監視
- 列の整合性監視が設定されている場合、EventLog Analyzerは指定されたテーブルの列が変更されると(UPDATEクエリが実行されると)イベントビューアーにイベントを自動的に書き込むトリガーをSQLサーバーインスタンスに作成します。
- 列の整合性監視レポートには、監視対象の列の変更に関する情報(値を変更したユーザー、値が変更された時間、値が変更されたテーブルなど)が表示されます。また、古い値と新しい値も表示されます。
- トリガーは変更を監視するために使用されます。リソースを多く使用するため、監視する列は慎重に選択する必要があります。
- 列の整合性監視では、以下のレポート([レポート]タブ → [アプリケーション] → [SQL Server] → [高度な監査レポート])が生成されます。
- 列修正レポート
- SQLサーバーでトリガーを作成するために、詳細監査を有効にする必要があります。トリガー作成の完了後は、無効にすることができます。
- 作成する必要があるトリガーは「AFTER TRIGGER」タイプであるため、トリガーを起動するにはテーブルに主キーが存在する必要があります。
注記:text、ntext、imagesなどのデータ型は監視されません。
注記:列の整合性監視を有効にするには、以下の前提条件を満たす必要があります。
4. 収集されるイベント
- 詳細監査を有効にすると、レポートを生成するために、SQLサーバーで以下のイベントIDが有効になります。
- DBCC情報レポート:211、427、610、8440、9100、15612、15615、2509、2510、2514、17557
- ホストアクティビティレポート:18100
- 整合性レポート:806、825
- アクセス拒否レポート:229、300、230、262、916、5011
- 違反レポート:17308、17311
注記:SQLサーバー監査に必要な最小限の権限は、こちらのドキュメントをご参照ください。