SQL サーバーの脆弱性をスキャンする
Microsoft Defender for SQL Servers on Machines では、Azure ネイティブの SQL Server の保護を拡張してハイブリッド環境を完全にサポートし、Azure、他のクラウド環境、さらにはオンプレミスのマシン内でホストされている SQL サーバー (サポート対象のすべてのバージョン) を保護します。
- SQL Server on Virtual Machines
- オンプレミスの SQL サーバー:
統合された脆弱性評価スキャナーは、データベースの潜在的な脆弱性を検出、追跡、修復するのに役立ちます。 評価スキャンの検出結果には、SQL マシンのセキュリティ状態の概要と、セキュリティ検出結果の詳細が表示されます。
Note
- スキャンは軽量で安全です。実行するデータベースごとに数秒しかかからず、完全に読み取り専用です。 データベースが変更されることはありません。
- 一部の脆弱性評価ルールを正しく実行するには、xp_instance_regread, sysmail_help_profile_sp のストアド プロシージャに対する実行アクセス許可が必要です。
脆弱性評価レポートについて調べる
脆弱性評価サービスを使用すると、ご利用のデータベースが 12 時間ごとにスキャンされます。
脆弱性評価ダッシュボードには、すべてのデータベースにわたる評価結果の概要と、正常および異常なデータベースの概要、リスク分散に従って失敗したチェックの全体的な概要が表示されます。
脆弱性評価の結果は、Defender for Cloud から直接表示できます。
Defender for Cloud のサイドバーから、[推奨事項] ページを開 きます。
レコメンデーション マシン上の SQL サーバーでは脆弱性の検出結果を解決する必要があるを選択します。 詳細については、Defender for Cloud の推奨事項 に関するリファレンス ページを参照してください。
このレコメンデーションの詳細ビューが表示されます。
推奨事項に関する追加情報を確認します。
スキャンされたリソース (データベース) の概要と、テスト済みのセキュリティ チェックの一覧を表示するには、 [影響を受けるリソース] を開き、目的のサーバーを選択します。
特定の SQL データベースごとにグループ化された脆弱性の概要を表示するには、目的のデータベースを選択します。
各ビューでは、セキュリティ チェックが重要度順に表示されます。 特定のセキュリティ チェックを選択すると詳細ウィンドウが表示され、説明、修復方法、およびその他の関連情報 (影響やベンチマークなど) が表示されます。
ベースラインを設定する
評価の結果を確認する際に、環境において許容できるベースラインとして結果をマークできます。 このベースラインは本来、結果のレポート方法をカスタマイズするものです。 ベースラインに一致する結果は、それ以降のスキャンでは合格と見なされます。 ベースラインのセキュリティ状態を確立した後は、脆弱性評価スキャナーによって、ベースラインからの逸脱のみがレポートされます。 これにより、関連する問題に意識を集中することができます。
結果のエクスポート
Microsoft Defender for Cloud の連続エクスポート機能を使用して、脆弱性評価の検出結果を Azure Event Hubs または Log Analytics ワークスペースにエクスポートします。
グラフィカルな対話型のレポートに脆弱性を表示する
Security Center の統合された Azure Monitor Workbooks ギャラリーには、マシンの脆弱性スキャナー、コンテナー レジストリ内のコンテナー、および SQL サーバーのすべての結果の対話型レポートが含まれています。
これらの各スキャナーの結果は、別の推奨事項で報告されます。
- マシンでは、脆弱性の検出結果が解決されている必要がある
- コンテナー レジストリ イメージでは脆弱性の検出結果が解決されている必要がある (Powered by Qualys)
- SQL データベースでは脆弱性の検出結果を解決する必要がある
- マシン上の SQL サーバーでは脆弱性の検出結果を解決する必要がある
"脆弱性評価の結果" レポートでは、これらのすべての結果が収集され、重要度、リソースの種類、カテゴリごとに整理されます。 レポートは、Defender for Cloud のサイドバーから利用できるブック ギャラリーにあります。
特定の結果を無効にする
修復するのではなく、検出結果を無視する必要がある場合は、必要に応じてそれを無効にすることができます。 無効化された検出結果は、セキュリティ スコアに影響を与えたり、不要なノイズを生成したりすることはありません。
検出結果が、無効化ルールで定義した条件に一致する場合、検出結果の一覧には表示されません。 一般的なシナリオは次のとおりです。
- 重大度が中以下の検出結果を無効にする
- パッチを適用できない検出結果を無効にする
- 定義されたスコープの対象にならないベンチマークからの結果を無効にする
重要
特定の検出結果を無効にするには、Azure Policy 内でポリシーを編集するためのアクセス許可が必要です。 詳細については、「Azure Policy における RBAC アクセス許可」を参照してください。
ルールを作成するには:
[マシン上の SQL サーバーの脆弱性評価の結果を修復する必要がある] というレコメンデーションの詳細ページで、[ルールを無効にする] を選択します。
関連するスコープを選択します。
条件を定義します。 次のいずれかの条件を使用できます。
- ID の検索
- 重大度
- ベンチマーク
[ルールの適用] を選択します。 変更が有効になるまでに最大 24 時間かかることがあります。
ルールを表示、無効化、または削除するには、次の手順に従います。
[ルールを無効にする] を選択します。
アクティブなルールが適用されているサブスクリプションは、スコープの一覧に [Rule applied](ルール適用済み) と表示されます。
ルールを表示または削除するには、省略記号メニュー ("...") を選択します。
プログラムによる脆弱性評価の管理
Azure PowerShell の使用
Azure PowerShell コマンドレットを使用して、脆弱性評価をプログラムで管理できます。 サポートされているコマンドレットは次のとおりです。
コマンドレット名 (リンク) | 説明 |
---|---|
Add-AzSecuritySqlVulnerabilityAssessmentBaseline | SQL 脆弱性評価のベースラインを追加します。 |
Get-AzSecuritySqlVulnerabilityAssessmentBaseline | SQL 脆弱性評価のベースラインを取得します。 |
Get-AzSecuritySqlVulnerabilityAssessmentScanResult | SQL 脆弱性評価のスキャン結果を取得します。 |
Get-AzSecuritySqlVulnerabilityAssessmentScanRecord | SQL 脆弱性評価のスキャン レコードを取得します。 |
Remove-AzSecuritySqlVulnerabilityAssessmentBaseline | SQL 脆弱性評価のベースラインを削除します。 |
Set-AzSecuritySqlVulnerabilityAssessmentBaseline | 特定のデータベースに新しい SQL 脆弱性評価のベースラインを設定します。以前のベースラインが存在する場合は破棄されます。 |
データの保存場所
SQL 脆弱性評価では、SQL 脆弱性評価に関する Defender for Cloud の推奨事項に基づいて一般公開されているクエリを使用して SQL サーバーにクエリを実行し、そのクエリ結果を保存します。 SQL 脆弱性評価データは、マシンが接続されている Log Analytics ワークスペースの場所の中に保存されます。 たとえば、SQL 仮想マシンを西ヨーロッパ内の Log Analytics ワークスペースに接続する場合、その結果は西ヨーロッパ内に保存されます。 このデータは、Log Analytics ワークスペース上で SQL 脆弱性評価ソリューションが有効になっている場合にのみ収集されます。
接続されているマシンに関するメタデータ情報も収集されます。具体的には次のとおりです。
- オペレーティング システムの名前、種類、バージョン
- コンピューターの完全修飾ドメイン名 (FQDN)
- Connected Machine エージェントのバージョン
- UUID (BIOS ID)
- SQL サーバー名と基になるデータベース名
Log Analytics ワークスペースの場所を選択して、SQL 脆弱性評価データを保存する Azure リージョンを指定できます。 Microsoft は、データの回復性を確保するために他の Azure リージョンにレプリケートする場合がありますが、その地域外でデータがレプリケートされることはありません。
Note
Defender for SQL on Machines プランの Log Analytics ワークスペースを変更すると、スキャン結果とベースライン設定がリセットされます。 90 日以内に元の Log Analytics ワークスペースに戻すと、スキャン結果とベースライン設定が再び使用可能になります。