この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
こんにちはDXソリューション統括部の村松です。
今回はNSGフローログの設定方法とその確認方法をご紹介したいと思います。NSGフローログはNSGを使用したIPトラフィックに関する情報をログに記録できる Azure Network Watcher の機能です。
NSGフローログは、Azure Storage(Blob)に保存されます。
[設定の流れ]
1.Network Watcher を有効にする
2.Insights プロバイダーの登録
3.ストレージアカウントの作成
4.NSGフローログの有効化
[設定手順]
1.Network Watcher を有効にする
※サブスクリプションで仮想ネットワークを作成したり更新したりすると、既定でお使いの仮想ネットワークのリージョンでNetwork Watcher が自動的に有効になります。その場合はこちらの手順はスキップして問題ありません。
<Network Watcher は自動的に有効になります>
https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-create#network-watcher-is-automatically-enabled
1-1.Azure Portalから「すべてのサービス」で「Network Watcher」を選択します。
1-2.「Network Watcher」を有効にするサブスクリプションとリージョンの「…」をクリックして「Network Watcher」を有効化します。
1-3.以下のように「有効」となっていればこの手順は完了です。
2.Insights プロバイダーの登録
2-1.Azure Portalから「すべてのサービス」で「サブスクリプション」を選択します。
2-2.「サブスクリプションの一覧」からプロバイダーを有効にするサブスクリプションを選択します。
2-3.[設定] で、[リソース プロバイダー] を選択します。
2-4.状態が [未登録] である場合、プロバイダーの右側の [登録] を選択します。
2-5.microsoft.insights プロバイダーの [状態] が [登録済み]であることを確認します
3.ストレージアカウントの作成
ストレージアカウントの作成については以下のドキュメントを参照してください。
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-account-create?tabs=azure-portal
※ストレージ アカウントは、NSG と同じリージョンに存在する必要があります。
※NSGフローログの保持機能を利用する場合はストレージアカウントの「アカウントの種類」が「StorageV2(汎用v2)」とする必要があります。詳細は以下のドキュメントを参照してください。
<ログ記録の仕組み>
https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-nsg-flow-logging-overview#how-logging-works
4.NSGフローログの有効化
4-1.Azure Portalから「すべてのサービス」で「Network Watcher」を選択します。
4-2. [ログ] の [NSG フロー ログ] を選択します。
4-3.NSG の一覧から、ログを取得するNSGを選択します。
4-4.以下の図のようにフローログの設定を行い、「保存」を選択します。
※バージョン 2 には、フローセッションの統計 (バイトおよびパケット) が含まれます。
※ストレージアカウントには”ストレージアカウントの作成”で作成したものを選択します。
4-5.以下の図のように有効されていることが確認できればNSGフローログの有効化は完了です。
[NSGフローログの確認方法]
1.Azure Portalから「すべてのサービス」で「Network Watcher」を選択します。
2.「Network Watcher」から[ログ] の [NSG フロー ログ] を選択します。
3.[構成済みのストレージ アカウントからフローのログをダウンロードできました。] を選択します。
4.NSGフローログを保存しているストレージアカウントを選択します。
5.[Blob service] で [コンテナー] を選択します。
6. [insights-logs-networksecuritygroupflowevent] コンテナーを選択します。
7.以下の図に示すように、コンテナー内のフォルダー階層を PT1H.json ファイルに到達するまで移動します。
ログ ファイルは、次の名前規則に従ってフォルダー階層に書き込まれます。
「PT1H.json」というファイルを選択します。
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{nsgName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
8.「ダウンロード」を選択して「PT1H.json」ファイルをダウンロードします。
9.ダウンロードした「PT1H.json」ファイルを開くと以下のようなJSON形式のログが確認できます。このログから分かる情報については以下のドキュメントを参照ください。
<ログの形式>
https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-nsg-flow-logging-overview#log-format
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
“time”: “2018-11-13T12:00:35.3899262Z”,
“systemId”: “a0fca5ce-022c-47b1-9735-89943b42f2fa”,
“category”: “NetworkSecurityGroupFlowEvent”,
“resourceId”: “/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/FABRIKAMRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/FABRIAKMVM1-NSG”,
“operationName”: “NetworkSecurityGroupFlowEvents”,
“properties”: {
“Version”: 2,
“flows”: [
{
“rule”: “DefaultRule_DenyAllInBound”,
“flows”: [
{
“mac”: “000D3AF87856”,
“flowTuples”: [
“1542110402,94.102.49.190,10.5.16.4,28746,443,U,I,D,B,,,,”,
“1542110424,176.119.4.10,10.5.16.4,56509,59336,T,I,D,B,,,,”,
“1542110432,167.99.86.8,10.5.16.4,48495,8088,T,I,D,B,,,,”
]
}
]
},
{
“rule”: “DefaultRule_AllowInternetOutBound”,
“flows”: [
{
“mac”: “000D3AF87856”,
“flowTuples”: [
“1542110377,10.5.16.4,13.67.143.118,59831,443,T,O,A,B,,,,”,
“1542110379,10.5.16.4,13.67.143.117,59932,443,T,O,A,E,1,66,1,66”,
“1542110379,10.5.16.4,13.67.143.115,44931,443,T,O,A,C,30,16978,24,14008”,
“1542110406,10.5.16.4,40.71.12.225,59929,443,T,O,A,E,15,8489,12,7054”
]
}
]
}
]
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以上がNSGフローログの設定および確認方法です。
またNSGフローログを確認すると分かるかと思いますがjson形式で出力されるため、慣れてる人でないとログを読み取るのは難しいかと思われます。そのような方のためにAzure Traffic Analytics や Microsoft Power BI などのツールを用いてこのログを分かりやすく視覚化することができます。
これらの利用方法については下記のドキュメントを参照ください。
<Traffic Analytics>
https://docs.microsoft.com/ja-jp/azure/network-watcher/traffic-analytics
<ネットワーク セキュリティ グループのフロー ログを Power BI で視覚化する>
https://docs.microsoft.com/ja-jp/azure/network-watcher/network-watcher-visualize-nsg-flow-logs-power-bi
以上 今回はここまでとなります。またの機会にお会いしましょう!