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 SQL Cloud の推奨事項の下で一般公開されているクエリを使用して SQL サーバーにクエリを実行し、クエリ結果を格納します。 SQL 脆弱性評価データは、マシンが接続されている Log Analytics ワークスペースの場所に格納されます。 たとえば、ユーザーが SQL 仮想マシンを西ヨーロッパの Log Analytics ワークスペースに接続した場合は、結果が西ヨーロッパに格納されます。 このデータは、Log Analytics ワークスペースで SQL 脆弱性評価ソリューションが有効になっている場合にのみ収集されます。
接続されているマシンに関するメタデータ情報も収集されます。 具体的な内容は次のとおりです。
- オペレーティング システムの名前、種類、バージョン
- コンピューターの完全修飾ドメイン名 (FQDN)
- Connected Machine エージェントのバージョン
- UUID (BIOS ID)
- SQL サーバー名と基になるデータベース名
Log Analytics ワークスペースの場所を選択して、SQL 脆弱性評価データを格納するリージョンを指定できます。 Microsoft は、データの回復性を確保するために他のリージョンにレプリケートを行う場合がありますが、地理的外部のデータのレプリケートが Microsoft によって行われることはありません。
Note
Defender for SQL on Machines プランの Log Analytics ワークスペースを変更すると、スキャン結果とベースライン設定がリセットされます。 90 日以内に元の Log Analytics ワークスペースに戻すと、スキャン結果とベースライン設定が再び使用可能になります。