참고 자료
Introduction to flow logging for network security groups - https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-overview
NSG Flow log 란?
NSG Flow log는 NSG를 통과하는 IP 트래픽에 대한 정보를 기록할 수 있는 Azure Network Watcher의 기능입니다. 흐름 데이터(Flow data)를 Azure Storage Account로 보낸 후에, SIEM, IDS 같은 시각화 도구(visualization tool)로 내보낼 수도(Export) 있습니다.
Key properties
-
Flow logs는 Layer 4(Transport layter)에서 작동하며, NSG로 들어오고 나가는 모든 IP 흐름(flow)을 기록합니다.
-
Log는 Azure 플랫폼(platform)을 통해 수집되며, 고객 리소스(resources) 또는 네트워크 성능(network performance)에 영향을 주지 않습니다.
-
Log는 JSON 형식(format)으로 작성되며(written), NSG 규칙 기반(NSG rule basis)으로 outbound 및 inbound 흐름을 표시합니다.
-
각 log 레코드에는 흐름이 적용되는 네트워크 인터페이스(NIC), 5-tuple 정보, 트래픽 결정(Traffic decision) 및 처리량 정보(traffic decision & (Version 2 only) throughput information)가 포함됩니다.
-
Flow log 보존 기능(retention feature) 은 로그 생성 후 최대 1년까지 자동으로 로그를 삭제할 수 있는 자동 삭제 기능을 가지고 있습니다. (보존 기간을 0으로 설정하면 영구 보존됩니다.)
보존(retention)은 General purpose v2(GPv2) Storage Account에서만 사용할 수 있습니다.
네트워크의 모든 트래픽 흐름(traffic flow)은 적용된(applicable) NSG 의 규칙(rules)을 사용하여 평가됩니다. 이러한 평가의 결과가 NSG Flow log 입니다. Flow log는 Azure 플랫폼(Platform)을 통해 수집되며, 고객 리소스에 대한 어떠한 변경도 필요 없습니다.
참고로, 규칙(Rule)에는 terminating과 non-terminating 이라는 두 가지 유형이 있으며, 각각 로깅 동작(logging behaviours)이 다릅니다.
-
NSG Deny rules 은 terminating입니다. 트래픽을 거부하는(denying) NSG는 이를 Flow log에 기록하고, 이 경우 처리(processing)는 NSG가 트래픽을 거부한 후에 중지됩니다.
-
NSG Allow rules 은 non-terminating 입니다. 즉, 하나의 NSG에서 허용하면, 다음 NSG로 처리(processing)가 계속됩니다. 트래픽을 허용하는 마지막 NSG가 트래픽을 Flow log에 기록합니다.
Log format
Flow log는 아래의 속성들(properties)을 포함합니다.
-
time - Time when the event was logged
-
systemId - Network Security Group system ID.
-
category - The category of the event. The category is always NetworkSecurityGroupFlowEvent
-
resourceid - The resource ID of the NSG
-
operationName - Always NetworkSecurityGroupFlowEvents
-
properties - A collection of properties of the flow
-
Version - Version number of the Flow Log event schema
-
flows - A collection of flows. This property has multiple entries for different rules
-
rule - Rule for which the flows are listed
-
flows - a collection of flows
-
mac - The MAC address of the NIC for the VM where the flow was collected
-
flowTuples - A string that contains multiple properties for the flow tuple in comma-separated format
-
Time Stamp - This value is the time stamp of when the flow occurred in UNIX epoch format
-
Source IP - The source IP
-
Destination IP - The destination IP
-
Source Port - The source port
-
Destination Port - The destination Port
-
Protocol - The protocol of the flow. Valid values are T for TCP and U for UDP
-
Traffic Flow - The direction of the traffic flow. Valid values are I for inbound and O for outbound.
-
Traffic Decision - Whether traffic was allowed or denied. Valid values are A for allowed and D for denied.
-
Flow State - Version 2 Only - Captures the state of the flow. Possible states are B: Begin, when a flow is created. Statistics aren't provided. C: Continuing for an ongoing flow. Statistics are provided at 5-minute intervals. E: End, when a flow is terminated. Statistics are provided.
-
Packets - Source to destination - Version 2 Only The total number of TCP or UDP packets sent from source to destination since last update.
-
Bytes sent - Source to destination - Version 2 Only The total number of TCP or UDP packet bytes sent from source to destination since last update. Packet bytes include the packet header and payload.
-
Packets - Destination to source - Version 2 Only The total number of TCP or UDP packets sent from destination to source since last update.
-
Bytes sent - Destination to source - Version 2 Only The total number of TCP and UDP packet bytes sent from destination to source since last update. Packet bytes include packet header and payload.
'Microsoft > Azure' 카테고리의 다른 글
Azure NSG Flow log #3 - 로그 검색 (Log Analytics) (0) | 2020.09.26 |
---|---|
Azure NSG Flow log #2 - 활성화 (0) | 2020.09.26 |
[PowerShell] Azure NSG 복사 (Rule Export and Import) (0) | 2020.09.20 |
Azure Cache for Redis 연결 테스트 - Node.js 사용 (0) | 2020.09.17 |
Azure Standard Internal Load Balancer의 Backend VM 인터넷 연결 허용 - NAT Gateway (0) | 2020.09.17 |