Azureネットワークウォッチャーでパケットキャプチャー
いろいろとサボってたら、1年半近くブログ書いてない事に気付いてしまった。
何をしてたのかと問われると困るけれど、社会人デビューしてました。
1年半前のネスペに見事落ちましたが、
昨年は無事に合格しました。進展はそれくらいです。
最近仕事でAzureに触れることが非常に多いので、
せっかくなのでAzureのこと書いてみるか~と思い立って早数ヶ月。
先月あたりにひょっこり登場した、
「Azure Network Watcher」を導入してみたいと思います。
Network Watcherの導入
ひとまずこちらのページを参考に導入を試みましたが、導入方法がざっくりすぎたので公式のドキュメントに行きました。
docs.microsoft.com
まだプレビュー機能なので、登録するところから始まります。
Register-AzureRmProviderFeature -FeatureName AllowNetworkWatcher -ProviderNamespace Microsoft.Network Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Network
しばらく待つと登録が完了します。
Get-AzureRmProviderFeature -FeatureName AllowNetworkWatcher -ProviderNamespace Microsoft.Network
お次はポータルから有効化をぽちぽちと。
この画面で気付いたんですが、
現在提供されてるのは米国西部、米国中北部、米国中西部の3リージョンのみのようです。
パケットキャプチャの有効化
ネットワークウォッチャーが有効化できたので、パケットキャプチャ機能を使ってみたいと思います。
と、パケットキャプチャの追加ボタンを押したら何やらメッセージが…
エージェント入れないといけないみたいですね、ええ
docs.microsoft.com
ちゃんとドキュメントにも書いてありました。
- Windowsの場合
パワーシェルで以下のコマンドを
Set-AzureRmVMExtension -ResourceGroupName "リソースグループ名" ` -Location "リージョン" ` -VMName "仮想マシン名" ` -Name "networkWatcherAgent" ` -Publisher "Microsoft.Azure.NetworkWatcher" ` -Type "NetworkWatcherAgentWindows" ` -TypeHandlerVersion "1.4"
- Linuxの場合
こちらはAzure CLIの模様
azure vm extension set リソースグループ名 仮想マシン名 NetworkWatcherAgentLinux Microsoft.Azure.NetworkWatcher 1.4
OKが返ってきたら、やっとパケットキャプチャを追加できます。
対象のマシンやら、保存先のストレージアカウントやら簡単な設定だけでOKです。
プロトコルやIP、ポートでフィルターもかけられますが一旦省略。
追加が完了すると、実行中になります。
ちなみにコレ、設定した制限時間経つか、キャプチャを停止しないとファイルに出力されません。
規定の設定だと5時間後です。
待つのも辛かったので、一旦キャプチャを停止しました。
指定したストレージアカウントを見てみると、ちゃんと保存されてます。
あとはこれをWiresharkや、Microsoft Message Analyzerで開けばOKです。
試しにMicrosoft Message Analyzerで開いた画面がこちら。
Azure上の必要な通信については、以下のサイトで説明してくれてます。
blogs.msdn.microsoft.com
その他の使い方
公式のドキュメント見た感じ、いろいろと使いみちはありそうです。
- Azure Automation を使用して VPN Gateway を監視する
- VPNゲートウェイを使用してオンプレミスの接続を診断する
- パケットキャプチャを分析して異常を検出する
- パケットキャプチャを使用してAzure機能によるプロキシブなネットワーク監視を実行する
- パワーBIを使用してフロアを視覚化する
- オープンソースツールを使用して、フロアを視覚化する
- オープンソースツールを使用してネットワークトラックパラメータを視覚化する
- PowerShellを使用してネットワークのコンプライアンスと監査を実行する
- オープンソースツールを使用して侵入調査を実行する
- Azure Log Analyticsでアプリケーションゲートウェイのログを分析する
が、私の能力不足のため今日はとりあえずはここまで