Microsoft Defender for Cloud では、Azure SQL データベースの脆弱性評価が提供されます。 脆弱性評価では、データベースでソフトウェアの脆弱性がスキャンされ、結果の一覧が提供されます。 この結果を使用して、ソフトウェアの脆弱性を修復し、結果を無効にすることができます。
前提条件
続行する前に、高速構成とクラシック構成のどちらを使用しているかを確認してください。
使用している構成を確認するには:
- Azure portal で、Azure SQL Database、SQL Managed Instance データベース、または Azure Synapse の特定のリソースにアクセスします。
- [セキュリティ] という見出しの下で [Defender for Cloud] を選択します。
- [有効化の状態] で [構成] を選択し、サーバー全体またはマネージド インスタンスの Microsoft Defender for SQL の設定ウィンドウを開きます。
脆弱性の設定にストレージ アカウントを構成するオプションが表示されている場合は、クラシック構成を使用しています。 そうでない場合は、高速構成を使用しています。
高速構成
スキャン履歴の表示
[脆弱性評価] ペインの [スキャンの履歴] を選択すると、このデータベースで以前に実行されたすべてのスキャンの履歴が表示されます。
高速構成では、以前のスキャンと同じ場合、スキャン結果は格納されません。 スキャン履歴に表示されるスキャン時間は、スキャン結果が変更された最後のスキャンの時間です。
Microsoft Defender for Cloud で検出された特定の項目を無効にする (プレビュー)
組織のニーズとして、結果を修復するのではなく無視する必要がある場合は、結果を無効にできます。 無効化された検出結果は、セキュリティ スコアに影響を与えたり、不要なノイズを生成したりすることはありません。 無効な結果は、スキャン結果の [該当なし] セクションで確認できます。
無効化のルールで定義した条件と一致する検出結果は、検出結果の一覧には表示されません。 一般的なシナリオは次のとおりです。
- 重大度が中または低の結果を無効にする
- パッチを適用できない検出結果を無効にする
- 定義されたスコープの対象にならないベンチマークからの結果を無効にする
重要
特定の検出結果を無効にするには、Azure Policy でポリシーを編集するためのアクセス許可が必要です。 詳細については、「Azure Policy における RBAC アクセス許可」を参照してください。
ルールを作成するには:
[マシン上の SQL サーバーの脆弱性評価の結果を修復する必要がある] という推奨事項の詳細ページで、 [ルールを無効にする] を選択します。
関連するスコープを選択します。
条件を定義します。 次のいずれかの条件を使用できます。
- ID の検索
- 重大度
- ベンチマーク
マシン上の SQL サーバーでの VA の結果に対して無効化ルールを作成する
[ルールの適用] を選択します。 変更が有効になるまでに最大 24 時間かかることがあります。
ルールを表示、無効化、または削除するには、次の手順に従います。
- [ルールを無効にする] を選択します。
- アクティブなルールが適用されているサブスクリプションは、スコープの一覧に [Rule applied](ルール適用済み) と表示されます。
- ルールを表示または削除するには、省略記号メニュー ("...") を選択します。
Azure Logic Apps を使用してメール通知を構成する
データベースの脆弱性評価状態の定期的な更新を受け取るために、カスタマイズ可能な Azure Logic Apps テンプレートを使用できます。
テンプレートを使用すると、次のことができるようになります。
- メール レポートのタイミングを選択する。
- 無効なルールを含む脆弱性評価の状態を一貫して表示する。
- Azure SQL Servers と SQL VM のレポートを送信する。
- 組織の標準に合わせてレポート構造と外観をカスタマイズする。
プログラムによる脆弱性評価の管理
高速構成は、次の機能を備えた最新の REST API バージョンでサポートされています。
説明 | Scope | API |
---|---|---|
ベースライン一括操作 | システム データベース |
SQL 脆弱性評価のベースライン SQL 脆弱性評価のベースライン |
ベースライン一括操作 | ユーザー データベース | データベース SQL 脆弱性評価のベースライン |
単一ルールのベースライン操作 | ユーザー データベース | データベース SQL 脆弱性評価ルールのベースライン |
単一ルールのベースライン操作 | システム データベース |
データベース SQL 脆弱性評価ルールのベースライン データベース SQL 脆弱性評価ルールのベースライン |
単一スキャンの結果 | ユーザー データベース | データベース SQL 脆弱性評価のスキャン結果 |
単一スキャンの結果 | システム データベース | SQL 脆弱性評価のスキャン結果 |
スキャンの詳細 (概要) | ユーザー データベース | データベース SQL 脆弱性評価のスキャン |
スキャンの詳細 (概要) | システム データベース | SQL 脆弱性評価のスキャン |
手動スキャンを実行する | ユーザー データベース | データベース SQL 脆弱性評価のスキャンの実行 |
手動スキャンを実行する | システム データベース | SQL 脆弱性評価のスキャンの実行 |
VA 設定 (GET は高速構成でのみサポートされます) | ユーザー データベース | データベース SQL 脆弱性評価の設定 |
VA 設定操作 | サーバー |
SQL 脆弱性評価の設定 SQL 脆弱性評価 |
Azure リソース マネージャーのテンプレート
次の ARM テンプレートを使用して、SQL 脆弱性評価の高速構成で新しい Azure SQL 論理サーバーを作成します。
Azure Resource Manager テンプレートを使用して脆弱性評価基準を構成するには、Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines
の種類を使用します。 ベースラインを追加する前に、vulnerabilityAssessments
が有効になっていることを確認します。
ARM テンプレートを使用してベースラインを設定する方法の例をいくつか示します。
最新のスキャン結果に基づいてバッチ ベースラインを設定します。
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": true } }
特定の検出結果に基づいてバッチ ベースラインを設定します。
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]", "properties": { "latestScan": false, "results": { "VA2065": [ [ "FirewallRuleName3", "62.92.15.67", "62.92.15.67" ], [ "FirewallRuleName4", "62.92.15.68", "62.92.15.68" ] ], "VA2130": [ [ "dbo" ] ] } } }
特定のルールのベースラインを設定します。
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default/VA1143')]", "properties": { "latestScan": false, "results": [ [ "True" ] ] } }
最新のスキャン結果に基づいてマスター データベースにバッチ ベースラインを設定します。
{ "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines", "apiVersion": "2022-02-01-preview", "name": "[concat(parameters('serverName'),'/master/default/default')]", "properties": { "latestScan": true } }
PowerShell
PowerShell コマンドレットでは高速構成はサポートされていませんが、PowerShell で REST API を使用して最新の脆弱性評価機能を呼び出すことができます。次に例を示します。
- Azure SQL Server で高速構成を有効にする
- Azure SQL Server 内のすべてのデータベースの最新のスキャン結果に基づいてベースラインを設定する
- 高速構成 PowerShell コマンド リファレンス
Azure CLI
Azure CLI を使用して高速構成を呼び出します。
関連するコンテンツ
- Microsoft Defender for Azure SQL の詳細を確認してください。
- データの検出と分類についてさらに詳しく学習します。
- 「ファイアウォールと VNet の内側のアクセス可能なストレージ アカウントに脆弱性評価スキャンの結果を格納する方法」の詳細を確認してください。
- Azure SQL データベースに関する一般的な質問をご確認ください。