Protokolle des virtuellen Netzwerkflusses filtern

Die Datenflussprotokollierung für ein virtuelles Netzwerk ist eine Funktion von Azure Network Watcher, mit der Informationen über den IP-Datenverkehr protokolliert werden können, der durch ein virtuelles Azure-Netzwerk fließt. Weitere Informationen zur Protokollierung des virtuellen Netzwerkflusses finden Sie in der Übersicht über virtuelle Netzwerkflussprotokolle.

In diesem Artikel erfahren Sie mehr über die Filterfunktion für virtuelle Netzwerkflussprotokolle. Die Filterfunktion bietet Benutzern Optionen zum Aufzeichnen von Datenverkehr innerhalb eines virtuellen Netzwerks (intra-VNet-Datenverkehr) oder mit zwei oder mehr virtuellen Netzwerken (Inter-VNet-Datenverkehr). Außerdem können Benutzer CIDR-bereichsbasierten Datenverkehr, eingehenden ausgehenden Datenverkehr, Internetdatenverkehr und zulässigen/verweigerten Datenverkehr identifizieren.

Von Bedeutung

Die Filterung der virtuellen Netzwerkflussprotokollierung befindet sich derzeit in der Vorschauversion. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Unterstützte Felder

Feld Filtern basierend auf Example
Richtung Richtung des Datenverkehrs Eingehend, Ausgehend
SrcIP Quell-IP-Adresse /CIDR-Bereich 192.168.1.1, 2001:db8::1/64
SrcPort Quellportbereiche und -werte 1024-65535, 80, 443
DstIP Ziel-IP-Adressen/CIDR-Bereich 192.168.2.1, 2001:db8::2/64
DstPort Zielportbereiche und -werte 22, 8080-8090
Protokoll Protokolltyp TCP, UDP
Encryption Verschlüsselungsstatus Alle unterstützten Verschlüsselungswerte und NX_ALL (aus irgendeinem Grund nicht verschlüsselt)

Alle Felder können als Eingabe Komma-getrennte Werte akzeptieren. Bei allen wird die Groß-/Kleinschreibung nicht beachtet.

Unterstützte Vorgänge

Virtuelle Netzwerkflussprotokolle unterstützen = und != für jedes Feld.

Unterstützte Operanden

Virtuelle Netzwerkflussprotokolle unterstützen logische Operanden && und || zwischen zwei beliebigen Feldern.

Unterstütztes Format:

  • Felder können in einer beliebigen Kombination bereitgestellt werden.
  • Klammern werden derzeit nicht unterstützt.
  • Felder werden ausgewertet, um die logische Operandenrangfolge (UND vor ODER) von links nach rechts zu berücksichtigen.
  • Die maximale Länge der Filterzeichenfolge kann 1000 Zeichen lang sein.

Aktivieren der Filterung

Verwenden Sie das Cmdlet New-AzNetworkWatcherFlowLog , um virtuelle Netzwerkflussprotokolle mit Filterung zu erstellen.

# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'

# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Create a traffic analytics workspace and place its configuration into a variable.
$workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'EastUS'

# Create a VNet flow log with the following filtering criteria: dstip=20.252.145.59 || DstPort=443
New-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' `
    -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id `
    -FormatVersion 2 -EnabledFilteringCriteria 'dstip=20.252.145.59 || DstPort=54300-54400' `
    -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId `
    -EnableRetention $true -RetentionPolicyDays 15

Vorhandene Filterung aktualisieren

Sie können vorhandene Filterkriterien für virtuelle Netzwerkflussprotokolle mithilfe des Cmdlets Set-AzNetworkWatcherFlowLog mit aktualisierten Bedingungen ändern, ohne dass das Ablaufprotokoll neu erstellt werden muss.

# Place the virtual network configuration into a variable.
$vnet = Get-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup'

# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Place the workspace configuration into a variable.
$workspace = Get-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup'

# Update the VNet flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myVNetFlowLog' -NetworkWatcherName 'NetworkWatcher_eastus' `
    -ResourceGroupName 'NetworkWatcherRG' -StorageId $storageAccount.Id -TargetResourceId $vnet.Id `
    -FormatVersion 2 -EnabledFilteringCriteria 'dstip=20.252.145.59 || DstPort=443' `
    -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId `
    -EnableRetention $true -RetentionPolicyDays 15

Filtern basierend auf RecordTypes

Sie können virtuelle Netzwerkflussprotokolle basierend auf dem Status eines Netzwerkflusses filtern. Der Flussstatus stellt die Lebenszyklusstufe einer Verbindung dar, die von der Netzwerküberwachung beobachtet wird, z. B. wenn ein Fluss beginnt, fortsetzt, endet oder verweigert wird.

Verwenden Sie den RecordTypes-Parameter, um anzugeben, welche Flusszustände Sie aufzeichnen möchten. Der Parameter akzeptiert einen oder mehrere kommagetrennte Werte.

Unterstützte RecordType-Werte

Wert Beschreibung
b Beginn: Wenn ein Flow erstellt wird. Es werden keine Statistiken bereitgestellt.
C Fortlaufend: ein andauernder Fluss. Statistiken werden in Intervallen von fünf Minuten bereitgestellt.
E Ende: Wenn ein Fluss beendet wird. Statistiken werden bereitgestellt.
D Verweigern: wenn ein Flow verweigert wird.

Beispielszenarien mit RecordTypes

Szenario RecordTypes-Wert
Erfasse nur verweigerten Datenverkehr "D"
Erfassen von Ereignissen zur Erstellung und Terminierung von Flows "B,E"
Erfassen Sie nur aktive Netzwerkverkehrsstatistiken "C"
Erfassung des vollständigen Prozesslebenszyklus "B,C,E"

Verwalten der RecordTypes-Filterbedingung

Sie können die Filterung von RecordTypes während der Ablaufprotokollerstellung aktivieren, indem Sie auswählen, welche Flussdatensätze erfasst werden sollen, um die Protokollierungsausgabe anzupassen, ohne unnötige Daten zu generieren. Sie können die RecordTypes-Filterungsbedingung auch für ein vorhandenes Flussprotokoll aktualisieren.

# Enable RecordTypes filtering while creating flowlog 
New-AzNetworkWatcherFlowLog `
  -Enabled $true -Name <FlowLog Name> `
  -NetworkWatcherName <Network Watcher Name> `
  -ResourceGroupName NetworkWatcherRG `
  -StorageId <Storage Account ID> `
  -TargetResourceId <Target Resource/VNet ID> `
  -RecordTypes "<Record Types>"
# Enable RecordTypes and EnabledFilteringCriteria filtering while creating flow log
New-AzNetworkWatcherFlowLog `
  -Enabled $true -Name <FlowLog Name> `
  -NetworkWatcherName <Network Watcher Name> `
  -ResourceGroupName <Resource Group Name> `
  -StorageId <Storage Account ID> `
  -TargetResourceId <Target Resource/VNet ID> `
  -EnabledFilteringCriteria "<Filtering Criteria Expression>" `
  -RecordTypes "<Record Types>"
# Update RecordTypes filtering condition on existing flow log
Set-AzNetworkWatcherFlowLog `
  -Enabled $true  -Name <FlowLog Name> `
  -NetworkWatcherName <Network Watcher Name> `
  -ResourceGroupName <Resource Group Name> `
  -StorageId <Storage Account ID> `
  -TargetResourceId <Target Resource/VNet ID> `
  -RecordTypes "<Record Types>"
# Remove RecordTypes filtering condition from existing flow log
Set-AzNetworkWatcherFlowLog `
  -Enabled $true  -Name <FlowLog Name> `
  -NetworkWatcherName <Network Watcher Name> `
  -ResourceGroupName <Resource Group Name> `
  -StorageId <Storage Account ID> `
  -TargetResourceId <Target Resource/VNet ID> `
  -RecordTypes ""