Azure Monitor for VMsを使って監視する

 

Azure Monitor for VMsを試してみました。

Azureのリリソースの情報や外部との通信情報等が取得出来ます。

Azure Monitor for VMs(マイクロソフト様)

https://docs.microsoft.com/ja-jp/azure/azure-monitor/insights/vminsights-overview

実際に取得される情報はこういうイメージで確認が可能です。

  • 通信情報

  • リソース使用率

Azure Monitor for VMsでの取得情報を元に、Azure Monitorでの監視設定まで試してみました。

      • Azure Monitor for VMsを設定する
      • Log AnalyticsワークスペースでAzure Monitor for VMsで取得値を確認する
      • Azure Monitorを使って悪意のあるIPへの通信を監視する

1.Azure Monitor for VMsの設定を行う

まず、最初にAzure Monitor for VMsの設定を行います。なおAzure Monitor for VMsではLog Analyticsワークスペースが必要になりますので、転送先がない場合は事前に作成しておきます。

※設定段階でLog Analyticsワークスペースを一緒に新規作成することも可能です。

1)仮想マシン(Virtual Machine)のメニューで分析情報(Insights)を選択すると下記画面が表示されますので、有効をクリックします。

2) Insightsのオンボード設定が表示されますので、Log Analyticsワークスペースを指定して有効をクリックします。(Log AnalyticsワークスペースとAzure VMは同じロケーションを指定が推奨です。)

これでAzure Monitor for VMsの設定は完了です。

2.Azure VMのInsight(Azure Monitor for VMs)のデータ取得をLog Analyticsワークスペースで確認する

先ほど設定した、Log Analyticsワークスペースのメニューでログを選択します。Azure Monitor for VMsの項目が出来ている事が確認出来ました。

実際にクエリをいくつか実行してみます。まずディスク使用率を確認してみます。

#Cドライブのディスク使用率を確認する。

IInsightsMetrics
| where TimeGenerated > ago(1h)
| where Namespace contains “Disk”
| where Tags contains “C:”
| where Name contains “FreeSpacePercentage”
| order by TimeGenerated
| project TimeGenerated,Computer,Va
l

実際にクエリを実行すると以下のような結果が得られます。

2020/9/21 17:20:11.000Computer Name91.764
Computer Name91.764
Computer Name91.764

Log Analyticsのクエリで確認可能という事は、Azure Monitorを使った監視が可能です。名前がAzure Monitor For VMsなので当たり前なのですが。。。

3.Azure Monitor で悪意のあるIPとの通信監視を行う

Azure Monitor For VMsで得られたデータをもとに不正アクセス監視を行ってみます。

Azure Monitor For VMsで悪意あるIPとの通信データが取得出来るそうです。

https://docs.microsoft.com/ja-jp/azure/azure-monitor/insights/vminsights-log-search#malicious-ip

Azure Monitorで悪意あるIPとの通信があった場合にアラート通知するように設定してみました。

1)Log Analyticsワークスペースのメニューで警告を選択すると下記画面が表示されますので、新しいアラートルールをクリックします。

2)アラートルールの作成画面が表示されますので、条件の選択をクリックします。

3)シグナルロジックの構成画面が表示されますので、シグナル名でCustom log searchを選択します。

4)シグナルロジックの構成の画面で以下の通り設定します。今回は15分間隔での監視設定にしています。

  • 検索クエリ

VMConnection
| where TimeGenerated > ago(15m)
| where TLPLevel != “”
| where Severity != “”
| summarize count() by RemoteIp,Severity,TLPLevel
| where count_ > 0

  • アラートロジック
    • 基準:結果の数
    • 演算子:次の値より大きい
    • しきい値:0
  • 評価基準
    • 期間;15分
    • 頻度:15分

実際の設定はこのような感じになります。

設定が終わったら完了をクリックします。

後は、アクションルールやアラート名の設定等を行えば、Azure Monitorの設定は完了です。

※今回は実際に試験できなかったのですが、経過観察して試してみたい所です。