AZ-500対策 Azureでの総合的な監視を設計することについて理解する

AZ-500

Microsoft社のAzureドキュメントを見ながら理解した内容をまとめる。
Microsoft社の資格は取得後も1〜2年での更新が必要。仕事で頻繁に使用していないと知識を維持することは難しいので、自分の知識をまとめて後で振り返れるようにしておくことはとても重要。

Azure 上のフルスタック監視戦略を設計する - Training
Azure の監視サービスを使用して、アプリケーションとインフラストラクチャにオペレーショナル エクセレンスとセキュリティを導入するのに役立てます。

この記事をサクッと読んでからMicrosoft社のドキュメントを読むと少し理解が早いかもしれない。(逆に混乱したらすみません)
昔の日本語ドキュメントサイトに比べて最近は本当に改善されて読みやすくなったので、もっと深く理解したいと思った方は記事途中に参照リンクを貼っておくのでそちらを参照されたし。

  1. Azureでのフルスタック監視の概要
    1. Azureにおけるフルスタック監視とは
    2. アプリケーションの監視
    3. インフラストラクチャの監視
    4. Azure PaaS リソースの監視
    5. セキュリティの監視
  2. Azureの3つの監視ソリューション
    1. Azure Monitor
      1. 視覚化の方法
      2. 応答の例
    2. Azure Security Center
    3. Azure Sentinel
    4. Azure Monitor Log Analytics ワークスペース(共通のログ領域)
  3. Azure Monitor Application Insightsを使用したアプリケーション管理
    1. Application Insightsの用途
    2. Application Insightsの利用方法
    3. アプリケーションのインストルメント化
    4. 収集したデータの表示
    5. アプリケーションマップ
    6. パフォーマンスの監視
    7. ユーザー動作の分析
    8. 可用性テストの実施
    9. アラートの実行
  4. Azure Monitor Insightsを使用したリソースの使用率とパフォーマンスを分析する
    1. キーワード
    2. 課題
    3. Azure Monitor VM Insights(2021年11月16日時点、名前がAzure Monitor for VMsに変わってる)
    4. Azure Monitor Container Insights
  5. Azure Security Center(Microsoft Defender for Cloud)を使用してインフラのセキュリティを分析する
    1. Azure Security Centerを使うことでできるようになること
    2. Azure Security Centerでの分析/保護対象
    3. 分析/保護対象となるリソースからのデータ取得方法
    4. Azure Security Centerが検出した脅威への推奨対応方法の提示
    5. Azure Security Centerを使用して脅威から保護する
      1. Just In Time 仮想マシンアクセス
      2. 適用型アプリケーション制御
    6. Azure Security Centerを使用して脅威に対応する
  6. Azure Sentinel(Microsoft Sentinel)を用いた企業全体のセキュリティ分析
    1. Azure Sentinel を使用することでできるようになること
    2. Azure Sentinelの利用手順
      1. Azure Sentinelリソースを作成する
      2. データソースを接続する
      3. アラートを使用して企業を監視する
      4. インシデントを調査する
    3. 「プレイブック」を使った脅威への自動対応
      1. プレイブックの作成

Azureでのフルスタック監視の概要

Azureにおけるフルスタック監視とは

システムが稼働するために必要な要素全ての監視とアラート発砲の仕組み。
Azureでの監視には以下の2つの観点での監視が必要。

  • パフォーマンスと可用性の観点での監視
    • アプリケーション
    • インフラストラクチャ
    • Azure PaaS リソース
  • セキュリティと保護の観点での監視
    • セキュリティ

アプリケーションの監視

以下の指標についてアプリケーションの監視/アラートを設定する。

  • 要求の失敗
  • サーバーの応答時間
  • 要求数
  • 可用性

開発段階から監視し、合格したコードのみプッシュする事で、プロダクション環境のエラーや例外を早期に防止することができる。

インフラストラクチャの監視

以下の指標についてインフラストラクチャの監視/アラートを設定する。

  • リソースの使用状況
  • リソースの正常性
  • OSレベルのイベント(ゲストOSからのパフォーマンスデータの収集)

これらの情報をもとにWebhookを使用したアクションを設定することも可能。

Azure PaaS リソースの監視

アプリケーションやインフラストラクチャのリソース監視に加え、Azure PaaSのリソース監視が必要。

PaaSにはパフォーマンスを確認するためのメトリクスとリソースログを確認する機能「Azure Monitor Insights」があり、パフォーマンスと可用性を追跡することができる。

以下、Azure Monitor Insights が利用できるPaaSの例。

  • ストレージアカウント
  • キーコンテナ
  • CosmosDB
  • Etc.

セキュリティの監視

アプリケーションとインフラストラクチャを常に保護し利用可能な状態にすることが必要。

  • 不審なユーザーアクティビティ
  • 悪意のあるIPアドレスからの要求
  • データ窃盗

Azureの3つの監視ソリューション

Azure Monitor

クラウドやオンプレミスからのテレメトリやログを収集/分析し、可視化するサービス。

  • 情報ソース
    • アプリケーション
    • インフラストラクチャ(コンテナ、VM、ネットワーク等)
    • PaaSプラットフォーム
    • カスタムソース(API経由のデータ受信)
  • 収集対象情報
    • メトリクス(自動収集/保存)
    • ログ(Log Analytics ワークスペースが必要)
  • 機能
    • 視覚化
    • 分析
    • 応答
    • ワークフロー

視覚化の方法

  • Azure Monitor
  • Azure Portalダッシュボードへの表示
  • PowerBIでビジネスビューを作成
  • Excelブックでレポート作成

応答の例

  • アラート通知(メール、SMS、音声)
  • Runbookによるサービス起動
  • 自動スケーリングなどのアクション実施

Azure Security Center

オンプレミスかクラウドかにかかわらず、ワークロードのセキュリティを監視するサービス。
一元的なセキュリティ監視サービスで、リソースの正常性を監視し、問題があれば推奨事項を提示する。
PaaSプラットフォームはSecurity Centerとネイティブに統合されている。

IaaS(VMなど)は、Security Center で自動プロビジョニングを有効化することで、リソース作成時にAgentが自動インストールされ、自動的に情報を送信し始める。

Azure Sentinel

セキュリティ脅威や異常が発生した「事後対応」ではなく、事前に兆候を検出しオーケストレーションと自動化を使って対応するための脅威インテリジェンスサービス。

  • 脅威インテリジェンスへのデータソース
    • 企業全体のデバイス
    • ユーザー
    • インフラストラクチャ
    • アプリケーション(O365などのサービスも含む)
    • PaaSプラットフォーム(Azure Advanced Threat Protectionなども含む)
  • 主な機能
    • ダッシュボード(収集した詳細情報を表示)
    • インシデント(関連する脅威アラートをグループ化して視覚化)
    • プレイブック(Logic Appsを使用して検出した脅威アラートへの対応自動化)
    • ハンティングクエリ(脅威アラート発生前に脅威を探索)

「脅威インテリジェンス」に関する説明は以下が分かりやすかったので参考までにリンクを掲載しておく。

What is Threat Intelligence? | VMware Glossary
Threat intelligence is evidence-based information about cyber attacks that cyber security experts organize and analyze.

Azure Monitor Log Analytics ワークスペース(共通のログ領域)

セキュリティログに関する保管場所としても利用される。

同じクエリ言語を使って、アプリケーションパフォーマンス、インフラストラクチャパフォーマンス、セキュリティログの調査/分析ができる。

Azure Monitor ログのデプロイに関する詳細は以下のリンクを参照。

Log Analytics ワークスペース アーキテクチャを設計する - Azure Monitor
この記事では、Azure Monitor 内でワークスペースのデプロイを準備しているお客様向けの考慮事項と推奨事項について説明します。

Azure Monitor Application Insightsを使用したアプリケーション管理

Application Insightsの用途

  • アプリケーションの正常性とパフォーマンスに影響する問題を分析する
  • アプリケーションの開発ライフサイクルを改善する
  • ユーザーエクスペリエンスを測定しユーザー行動を分析する

Application Insightsの利用方法

Azure Portalで、対象リソースのInsightsを有効化するだけで利用できるようになるため、プログラムの変更は不要。

以下はWebAppsリソース作成時の有効化オプション。

以下はWebAppsリソース作成後にブレードメニューから有効化するオプション。

VMなどの一部のリソースでは、エージェントをインストールしたりSDKを使用する必要がある。

アプリケーションのインストルメント化

このように、「アプリからの監視データ収集を有効化すること」をアプリケーションのインストルメント化というらしい。

Application Insightsが有効化されると、Application Insightsはアプリケーションからのパフォーマンスと正常性に関するデータ収集を自動的に行う

収集したデータの表示

インストルメント化したアプリケーションから収集したデータは、Application Insightsリソース内のViewで表示できる。また、エラーデータの表示ビュー「失敗」にアクセスし、失敗した処理のログをドリルダウンすることでエラーの詳細情報にアクセスすることができる。

アプリケーションマップ

Application Insights は分散トレースをサポートしており、アプリケーショントポロジーを「アプリケーションマップ」Viewで確認することができる。

アプリケーションのトポロジーを構成している各コンポーネントの詳細をそれぞれ確認することができる。

「分散トレース」に関する詳細は以下リンクを参照。一読しておいた方がいい。

OperationCorrelationTelemetryInitializer クラス (Microsoft.ApplicationInsights.Extensibility) - Azure for .NET Developers
Activity からテレメトリ項目の OperationContext を設定するテレメトリ初期化子。 この初期化子は、同じプロセス内のテレメトリ項目の関連付けを担当します。

パフォーマンスの監視

アプリケーションマップもしくは「パフォーマンス」Viewで低速な要求とサーバー側の処理の依存関係を調べることができる。

追加のWEBページコードにより、ページビューやブラウザの操作との関連付けもできる。

ユーザー動作の分析

Application Insightsを使用することで、ユーザーの使用状況データも収集される。

  • ユーザー数
  • セッション
  • イベント
  • ブラウザのバージョン
  • OSバージョン
  • アクセス元の場所

これらの情報をもとに以下の洞察が得られる。

  • アプリのどのページが最も人気があるか?
  • ユーザーが去るポイントがどこか?
  • コンバージョン率
  • リテンション率

可用性テストの実施

「可用性」を使用することで、さまざまな地域から指定のアプリケーションURLに対してpingテストを行うことができる。

  • テスト方法(HTTP MethodとHTTP Header情報の指定)
  • テスト間隔(5,10,15分)
  • SSL証明書の有効性チェック
  • テスト失敗時の再実行
  • テスト実施期間(1, 7, 30, 90 365日)
  • 成功条件
  • アラート通知

アラートの実行

「アラート」を使用することで特定ユーザーへの

  • メール通知
  • SMSの送信
  • 音声連絡

が実行できる。
また、WebHookやRunbookの実行といったアクションを定義することができる。

アラート発砲の条件は指定できる。

  • メトリック
  • ログ
  • アクティビティログ

Azure Monitor Insightsを使用したリソースの使用率とパフォーマンスを分析する

複数のサブスクリプションとリソースグループにある

  • Azure VM
  • Azure Kubernetes Service

これらのリソースを監視する必要があり、問題発生時にはトリアージや原因の切り分けを実施する必要がある。

キーワード

  • Azure monitor for VMs
  • Azure monitor for Containers

課題

これらを使用して可視化し、ノードやコンテナーの特定と掘り下げての調査ができるようになること。

Azure Monitor VM Insights(2021年11月16日時点、名前がAzure Monitor for VMsに変わってる)

以下の事が確認できる。

  • Azure Monitor VM Insights (Azure Monitor for VM) で監視/確認できること
    • VMの正常性とパフォーマンス
    • サブスクリプションとリソースグループを横断したVMの監視
    • VMもしくはスケールセットが実行しているプロセスとネットワーク接続を表示するマップ

ちなみに、「Azure Monitor for VMs」を作成しても、何ができるのかよくわからなかった。
代わりに、該当するVMの「分析情報」を確認したところ、期待したパフォーマンス、マップ、正常性が確認できた。
サブスクリプションもしくはリソースグループにまたがるVMを統合的に管理できるViewはどこにあるのだろうか??

Azure Monitor Container Insights

クラスター作成中に「Azure monitor Container Insights」を有効にすると利用できるようになる。

  • Azure Monitor Container Insights (Azure Monitor for Container) で監視/確認できること
    • Kubernetesワークロードの正常性とパフォーマンスの監視
      • 例えば、使用率の高いノードの特定
    • コントローラー、ノード、コンテナーからのメモリとCPUのパフォーマンスメトリックの可視化
      • 例えば、特定コンテナーの再起動回数、CPU使用率、メモリ使用率の確認
    • コンテナーログの保存と確認

Azure Security Center(Microsoft Defender for Cloud)を使用してインフラのセキュリティを分析する

 ※2021年11月17日現在、名前が既に変わっており、「Azure Security Center」は「Microsoft Defender for Cloud」という名称になっている。
Microsoft Defender for Cloud とは - Microsoft Defender for Cloud
Microsoft Defender for Cloud を使用して、Azure、ハイブリッド、マルチクラウドのリソースとワークロードを保護します。

Azure Security Centerを使うことでできるようになること

  • インフラのセキュリティ体制の理解
  • インフラのリスク/脅威の特定と対処
  • インフラをセキュリティで保護
  • ハイブリッド環境(オンプレとクラウド両方)のインフラをセキュリティで保護

Azure Security Centerでの分析/保護対象

  • データ
  • ネットワーク
  • IDとアクセス
  • アプリケーション

分析/保護対象となるリソースからのデータ取得方法

Azure Monitor logを使用した脆弱性と脅威の監視をするために

  • Log Analyticsエージェント:インフラ/マシンからデータ(構成情報とイベントログ)を取得
  • Log Analyticsワークスペース:取得したデータを保存

Azure Security Centerが検出した脅威への推奨対応方法の提示

脅威が検出された場合、Azure Security Center では推奨の対応方法が示される。
脅威の重要度、具体的な対応方法、対応に必要な予測時間、対応が必要となるリソースのリストが表示される。

Azure Security Centerを使用して脅威から保護する

Just In Time 仮想マシンアクセス

JIT VMアクセスを構成したVMには、通常のアクセスは遮断される。
事前に構成したアクセス条件に基づいたアクセスのみ許可される。

「Just In Time 仮想マシンアクセス」に関する詳細は以下リンクを参照。

Just-In-Time 仮想マシン アクセスについて - Microsoft Defender for Cloud
このドキュメントでは、Microsoft Defender for Cloud で Just-In-Time VM アクセスを使用して、Azure 仮想マシンへのアクセスを制御する方法について説明します

適用型アプリケーション制御

バックグラウンドで仮想マシンで実行されているプロセスを監視。
仮想マシンを含むリソースグループごとに推奨事項が示される。

「適用型アプリケーション制御」の詳細については以下のリンクを参照。

アダプティブ アプリケーション制御 - Microsoft Defender for Cloud
このドキュメントは、Microsoft Defender for Cloud で適応型アプリケーション制御を使用して、Azure マシンで実行されるアプリケーションの許可リストを作成するのに役立ちます。

Azure Security Centerを使用して脅威に対応する

全てのセキュリティアラートを一元的に表示できる「セキュリティアラート」Viewがある。

セキュリティのアラートとインシデント - Microsoft Defender for Cloud
Microsoft Defender for Cloud がセキュリティ アラートを生成し、それらをインシデントに関連付ける方法について説明します。
  • セキュリティアラート
    • 関連しうる可能性のあるセキュリティアラートは自動で関連付け/グルーピングされている。
    • 1つ1つのセキュリティアラートをドリルダウンし、アラートの詳細を確認できる。
    • 誤検知であれば、アラートを無視できるが、無視することに対する責任は管理者にある。
    • 必要に応じて、既知の悪意のあるIPアドレスとわかった場合は対処する必要がある。
  • アクションの実行で表示される推奨事項
    • 脅威の軽減 (プロセスの確認やツール導入など)
    • 将来の攻撃に対する防御(具体的なアクションとして推奨事項の手順が示される)
    • 自動応答のトリガー(Logic Apps等によるフロー起動)

補足として、「プレイブックを用いたアラートへの自動対応」の詳細は以下のリンクを参照。

Microsoft Defender for Cloud を使用してセキュリティ上の脅威を解決する - Training
このモジュールでは、Microsoft Defender for Cloud のアラート機能を使用して、脅威を監視し、これに対応します。

Azure Sentinel(Microsoft Sentinel)を用いた企業全体のセキュリティ分析

2019年にフロリダで開催されたIgniteに参加した時に発表されたサービスなので、名前だけは知っていたが、実際に何者なのかを知らずにきてしまった。。ここで改めて確認できてよかった。

ちなみに2021年12月7日時点で、コロナ禍前に開催されたMicrosoftの大型イベントは、この2019年のIgniteが最後。翌年2020年にシアトルで開催予定だったBuildにも参加できるはずだったが、残念ながらデジタルイベントになってしまった。。
Microsoft Sentinel とは
スケーラブルでクラウドネイティブのセキュリティ情報イベント管理 (SIEM) およびセキュリティ オーケストレーション自動応答 (SOAR) ソリューション、Microsoft Sentinel について学習します。

企業(組織)全体のセキュリティ上の脅威を監視するためにAzure Sentinel を活用する。

Azure Sentinel を使用することでできるようになること

  • オンプレとクラウド両方に存在する組織内リソースの把握
  • 監視分析ツールの一元化
  • Microsoftの専門家によって構築されたAIにより組織全体の脅威を特定して処理する

Azure Sentinelの利用手順

Azure Sentinelリソースを作成する

リソース作成時にLog Analytics ワークスペースを作成し、Azure Sentinelに接続する。
Log AnalyticsワークスペースにSentinelが収集したデータが蓄積される。

クイックスタート: Microsoft Sentinel でオンボードする
このクイックスタートでは、Microsoft Sentinel を有効にし、環境を監視および保護するためのデータ コネクタを設定します。

データソースを接続する

企業のデータソースに接続するためにコネクターを使用する。Azure ADやO365などのMSソリューションは規定コネクターがある。
コネクターを設定すると、Azure Sentinelによる監視がスタートする。

クイックスタート: Microsoft Sentinel でオンボードする
このクイックスタートでは、Microsoft Sentinel を有効にし、環境を監視および保護するためのデータ コネクタを設定します。

アラートを使用して企業を監視する

例えば、Azure仮想マシンの大量の作成や更新があった場合にアラートを発砲するといったカスタムルールの設定ができる。カスタムルールは「ルールクエリー」というツールを使用して作成できる。
ルールには重要度も設定できる。
ダッシュボードを使用することで設定した全てのルールをリスト表示できる。

アラートへの対応は手動か、プレイブックを用いた自動対応が設定できる。

Microsoft Sentinel を使用して、脅威を検出するためのカスタム分析ルールを作成する
Microsoft Sentinel を使用して、セキュリティの脅威を検出するためのカスタム分析ルールを作成する方法について説明します。 イベントのグループ化、アラートのグループ化、アラート エンリッチメントを利用し、自動無効化について理解...

インシデントを調査する

生成されたアラートを「インシデント」というViewにまとめて表示する。
インシデントでは解決済み/未解決のインシデントの発生時期や重要度をまとめて表示することができる。
各インシデントの調査を行う場合は、「ステータス」を「処理中」に変更し、対応担当者に割り当てる。

調査を開始すると、対象のインシデントに加え、関連すると思われる他のインシデントがマップで表示される。
マップには関係するユーザーアカウントやリソースが表示され、詳細を確認できる。

ユーザーアカウントやリソースに対して調査するための効率的な実行リストは、MS専門家が設計した「探索クエリ」から選択して実行できる。
タイムライン機能」により、時間とともに脅威となる行動がどのように実行されたかの脅威の実行パスも確認できる。

Microsoft Azure Sentinel でインシデントを調査する
この記事では、Microsoft Azure Sentinel を使用して、割り当てや調査が可能なインシデントを生成する高度なアラート ルールを作成する方法について学習します。

「プレイブック」を使った脅威への自動対応

Azure Sentinel の「プレイブック」機能は、アラートを検知した際に自動的にLogic Appsワークフローを起動する機能で、アラートへの自動対応を支援する機能として利用できる。

Microsoft Sentinel のプレイブックを使用して脅威への対応を自動化する
この記事では、Microsoft Sentinel でのオートメーションについて説明し、プレイブックを使用して脅威の防止と対応を自動化する方法を示します。

プレイブックの作成

  • Azure Sentinelのプレイブックペインで「プレイブックの追加」を実行
  • Logic Appsリソースの作成画面が表示されるので名前、リソースグループ場所を選択
  • デザイナーが起動するので、Azure Sentinelのトリガーを使用したロジックを作成
  • Azure Sentinel のプレイブック作成画面でLogicAppsを選択

コメント

タイトルとURLをコピーしました