Dynamische Schlüsselwörter der Windows-Firewall
Wichtig
In diesem Artikel werden Features oder Einstellungen beschrieben, die sich in der Vorschau befinden. Der Inhalt kann geändert werden und kann Abhängigkeiten von anderen Features oder Diensten in der Vorschau aufweisen.
Die Windows-Firewall enthält eine Funktionalität, die als dynamische Schlüsselwörter bezeichnet wird und die Konfiguration und Verwaltung der Windows-Firewall vereinfacht.
Mit dynamischen Schlüsselwörtern können Sie eine Reihe von IP-Adressbereichen, vollqualifizierten Domänennamen (FQDNs) und Autolösungsoptionen definieren, auf die eine oder mehrere Firewallregeln verweisen können.
Konfigurieren dynamischer Schlüsselwörter
Zum Konfigurieren dynamischer Schlüsselwörter können Sie Folgendes verwenden:
- Firewall-CSP, der mit einer Mobile Geräteverwaltung(MDM)-Lösung wie Microsoft Intune
- Windows PowerShell
Tipp
Microsoft Intune bietet eine vereinfachte Verwaltungsoberfläche, die als wiederverwendbare Einstellungsgruppen bezeichnet wird. Weitere Informationen finden Sie unter Hinzufügen wiederverwendbarer Einstellungsgruppen zu Profilen für Firewallregeln.
In diesem Artikel wird beschrieben, wie Dynamische Schlüsselwörter mithilfe von Windows PowerShell konfiguriert werden.
Dynamische Schlüsselwörter und vollqualifizierte Domänennamen (FQDN)
Dynamische Schlüsselwörter können konfiguriert werden, indem eine Gruppe von IP-Adressbereichen oder FQDNs definiert wird. Hier sind wichtige Punkte, die bei der Verwendung von FQDNs zu berücksichtigen sind:
- Die FQDN-Unterstützung dient zum Reduzieren des Mehraufwands für die Verwaltung von IP-Regeln, bei denen IP-Adressen dynamisch sind und häufig geändert werden.
- FQDNs sind in allen Szenarien kein Ersatz für IP-Adressen. IP-Adressen sollten aus Sicherheits- und Leistungsgründen nach Möglichkeit verwendet werden.
- FQDN-Regeln können sich auf die Leistung des Endpunkts auswirken, verursacht durch DNS-Latenz und andere Faktoren
- FQDN ist kein sicherer DNS-Dienst. Die FQDN-Auflösung verwendet die DNS-Standardkonfiguration des Endpunkts.
- Eine FQDN-Regel erfordert eine DNS-Abfrage, damit dieser FQDN in eine IP-Adresse aufgelöst wird. Datenverkehr zu IP-Adressen muss eine DNS-Abfrage für FQDN-Regeln generieren.
- Einschränkungen: Websites, auf die über einen Proxy zugegriffen wird, sichere DNS-Dienste, bestimmte VPN-Tunnelkonfigurationen, zwischengespeicherte IP-Adressen auf dem Endpunkt
- Während teilweise qualifizierte Domänennamen (PQDNs) zulässig sind, werden FQDNs bevorzugt. Wildcards
*
werden für Hosts unterstützt, z. B.*.contoso.com
Zwei Beispiele für FQDN-Regeln sind:
- Standardmäßiges Blockieren des gesamten ausgehenden und eingehenden Datenverkehrs und Zulassen bestimmter ausgehender Datenverkehr
- Standardmäßiges Blockieren des gesamten eingehenden Datenverkehrs und Blockieren bestimmter ausgehender Datenverkehr
Hinweis
Eingehende FQDN-Regeln werden nicht nativ unterstützt. Es ist jedoch möglich, Pre-Hydration-Skripts zu verwenden, um eingehende IP-Einträge für die Regeln zu generieren.
Achtung
Die Standardkonfiguration von "Für ausgehenden Datenverkehr blockiert " kann für bestimmte äußerst sichere Umgebungen berücksichtigt werden. Die Regelkonfiguration für eingehenden Datenverkehr sollte jedoch niemals so geändert werden, dass datenverkehr standardmäßig zulässt.
In Umgebungen mit hoher Sicherheit sollte ein Bestand aller Apps verwaltet werden. Datensätze sollten enthalten, ob eine App Netzwerkkonnektivität erfordert. Administratoren sollten neue Regeln für jede App erstellen, die Netzwerkkonnektivität benötigt, und diese Regeln mithilfe einer Geräteverwaltungslösung zentral pushen.
Funktionen und bekannte Einschränkungen
Der FQDN der Windows-Firewall verwendet den externen Netzwerkschutz-Beschriftungstreiber, um DNS-Antworten zu untersuchen, bei denen die DNS-Abfrage FQDN-Regeln entspricht. Einige wichtige Funktionen und Einschränkungen des Features sind:
- Die Netzwerkschutzkomponente führt in regelmäßigen Abständen keine DNS-Abfragen aus. Es ist eine Anwendung erforderlich, um eine DNS-Abfrage auszuführen.
- Die Windows-Firewall leert alle gespeicherten aufgelösten IP-Adressen beim Geräteneustart
- Der Netzwerkschutz überprüft die DNS-Antwort nicht synchron, da sie das UDP-Paket während der Überprüfung nicht enthält. Das Ergebnis ist eine potenzielle Bedingung, bei der eine Anwendung nach Erhalt der DNS-Antwort versucht, eine Verbindung herzustellen, aber blockiert wird, wenn sie schneller ist als die Aktualisierung der Firewallregel.
- Im Allgemeinen verfügen Anwendungen über Eine Wiederholungslogik für eine anfängliche verbindungsfehler, und daher ist das Problem für den Endbenutzer transparent.
- Es kann vorkommen, dass eine Komponente bei der ersten Verbindung keine Wiederholungslogik aufweist. Dies wird auf zwei Arten gelöst:
- Der Benutzer kann in der anwendung, die er verwendet, aktualisieren, und es sollte eine erfolgreiche Verbindung hergestellt werden.
- Administratoren können die Skripts für die Aktivierung taktvoll verwenden, wenn diese Bedingung in ihrer Umgebung auftritt.
FQDN-Featureanforderungen
Im Folgenden sind die Anforderungen für das FQDN-Feature aufgeführt:
- Microsoft Defender Antivirus muss aktiviert sein und die Plattformversion
4.18.2209.7
oder höher ausgeführt werden.- Öffnen Sie zur Überprüfung Windows-Sicherheit, und wählen Sie Einstellungen>Info aus.
- Der Netzwerkschutz muss sich im Block- oder Überwachungsmodus befinden. Weitere Informationen finden Sie unter Überprüfen, ob der Netzwerkschutz aktiviert ist.
- DNS über HTTPS (DoH) muss deaktiviert sein. Um Ihren bevorzugten Browser zu konfigurieren, können Sie die folgenden Einstellungen verwenden:
- Es gelten die Standardeinstellungen für die DNS-Auflösung des Geräts. Dieses Feature bietet keine DNS-Sicherheit oder Funktionsänderungen.
Tipp
Sie können die ADMX-Datei auch von dort herunterladen, die Anweisungen befolgen und sie über gpedit.msc für lokale Tests konfigurieren.
Verwalten dynamischer Schlüsselwörter mit Windows PowerShell
Dieser Abschnitt enthält einige Beispiele zum Verwalten dynamischer Schlüsselwörter mit Windows PowerShell. Einige wichtige Punkte, die bei der Verwendung dynamischer Schlüsselwörter zu berücksichtigen sind:
- Alle dynamischen Schlüsselwort (keyword)-Objekte müssen über einen eindeutigen Bezeichner (GUID) verfügen, um sie darzustellen.
- Eine Firewallregel kann dynamische Schlüsselwörter verwenden, anstatt IP-Adressen explizit für ihre Bedingungen zu definieren.
- Eine Firewallregel kann sowohl dynamische Schlüsselwörter als auch statisch definierte Adressbereiche verwenden.
- Ein dynamisches Schlüsselwort (keyword)-Objekt kann für mehrere Firewallregeln wiederverwendet werden.
- Wenn eine Firewallregel über keine konfigurierten Remoteadressen verfügt, wird die Regel nicht erzwungen. Wenn z. B. eine Regel nur
AutoResolve
mit Objekten konfiguriert ist, die noch nicht aufgelöst wurden - Wenn eine Regel mehrere dynamische Schlüsselwörter verwendet, wird die Regel für alle Adressen erzwungen, die derzeit aufgelöst werden. Die Regel wird auch dann erzwungen, wenn nicht aufgelöste Objekte vorhanden sind. Wenn eine dynamische Schlüsselwort (keyword)Adresse aktualisiert wird, werden die Remoteadressen aller zugeordneten Regelobjekte aktualisiert.
- Windows erzwingt keine Abhängigkeiten zwischen einer Regel und einer dynamischen Schlüsselwort (keyword)Adresse, und beide Objekte können zuerst erstellt werden. Eine Regel kann auf dynamische Schlüsselwort (keyword) IDs verweisen, die noch nicht vorhanden sind. In diesem Fall wird die Regel nicht erzwungen.
- Sie können eine dynamische Schlüsselwort (keyword)Adresse löschen, auch wenn sie von einer Firewallregel verwendet wird.
Ausgehend zulassen
Hier sehen Sie ein Beispielskript, um einen FQDN aus PowerShell zuzulassen. Ersetzen Sie den $fqdn
Variablenwert durch den FQDN, den Sie blockieren möchten (Zeile 1):
$fqdn = 'contoso.com'
$id = '{' + (new-guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -id $id -Keyword $fqdn -AutoResolve $true
New-NetFirewallRule -DisplayName "allow $fqdn" -Action Allow -Direction Outbound -RemoteDynamicKeywordAddresses $id
Dynamische Schlüsselwort (keyword) Adressen können erstellt werden, wenn der AutoResolve
Parameter auf $true
oder $false
festgelegt ist. Wenn AutoResolve
auf $true
festgelegt ist, versucht Windows, die Schlüsselwort (keyword) in eine IP-Adresse aufzulösen.
Ausgehend blockieren
Hier sehen Sie ein Beispielskript zum Blockieren eines FQDN aus PowerShell. Ersetzen Sie den $fqdn
Variablenwert durch den FQDN, den Sie blockieren möchten (Zeile 1):
$fqdn = 'contoso.com'
$id = '{' + (new-guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -id $id -Keyword $fqdn -AutoResolve $true
New-NetFirewallRule -DisplayName "block $fqdn" -Action Block -Direction Outbound -RemoteDynamicKeywordAddresses $id
Anzeigen von Regeln zur automatischen Auflösung und zugeordneten aufgelösten IP-Adressen
In diesem Beispiel wird gezeigt, wie alle dynamischen Schlüsselwort (keyword) Adressen angezeigt werden, für die der AutoResolve
Parameter auf $true
und die zugeordneten aufgelösten IP-Adressen festgelegt sind.
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve
Hinweis
IP-Adressen werden erst aufgefüllt, wenn die DNS-Abfrage beobachtet wird.
FQDN-Regeln mit Hydratisieren
Die folgenden Beispielskripts lesen die aktuelle Windows-Firewallkonfiguration, extrahieren FQDN-basierte Regeln und führen die DNS-Auflösung für jede Domäne aus. Das Ergebnis ist, dass die IP-Adressen für diese Regeln "präaktiviert" werden.
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
if(!$_.Keyword.Contains("*")) {
Write-Host "Getting" $_.Keyword
resolve-dnsname -Name $_.Keyword -DNSOnly | out-null
}
}
Ein ähnliches Skript kann verwendet werden, um die DNS-Auflösung mit nslookup.exe
auszuführen:
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
if(!$_.Keyword.Contains("*")) {
Write-Host "Getting" $_.Keyword
nslookup $_.Keyword
}
}
Wenn Sie verwenden nslookup.exe
, müssen Sie eine Firewallregel für ausgehenden Datenverkehr erstellen, wenn Sie den status "Alle ausgehenden Daten blockieren " verwenden. Hier ist der Befehl zum Erstellen der Ausgangsregel für nslookup.exe
:
$appName = 'nslookup'
$appPath = 'C:\Windows\System32\nslookup.exe'
New-NetFirewallRule -DisplayName "allow $appName" -Program $appPath -Action Allow -Direction Outbound -Protocol UDP -RemotePort 53
Alle ausgehenden Daten blockieren und einige FQDNs zulassen
Im nächsten Beispiel wird eine Liste von Anwendungen für die FQDN-Auswertung analysiert. Die in den Skripts aufgeführten FQDNs wurden bei der Überprüfung des Datenverkehrs beim ersten Start von Microsoft Edge beobachtet.
Wichtig
Dies ist weder eine vollständige Liste noch eine Empfehlung. Es ist ein Beispiel dafür, wie eine Anwendung ausgewertet werden sollte, um eine ordnungsgemäße Konnektivität und Funktion sicherzustellen.
Weitere Informationen zu den Anforderungen von Microsoft Edge für Internetkonnektivität finden Sie unter Positivliste für Microsoft Edge-Endpunkte.
$domains = @(
'*.microsoft.com',
'*.msftconnecttest.com',
'assets.msn.com',
'client.wns.windows.com',
'config.edge.skype.com',
'ctldl.windowsupdate.com',
'dns.msftncsi.com',
'login.live.com',
'ntp.msn.com'
)
foreach ($domain in $domains) {
$id = '{' + (New-Guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -Id $id -Keyword $domain -AutoResolve $true
New-NetFirewallRule -DisplayName "allow $domain" -Action Allow -Direction Outbound -RemoteDynamicKeywordAddresses $id
}
Weitere Informationen zu den PowerShell-Cmdlets, die zum Verwalten dynamischer Schlüsselwörter verwendet werden, finden Sie unter:
- Get-NetFirewallDynamicKeywordAddress
- New-NetFirewallDynamicKeywordAddress
- Remove-NetFirewallDynamicKeywordAddress
- Update-NetFirewallDynamicKeywordAddress
Informationen zur API-Struktur finden Sie unter Dynamische Firewall-Schlüsselwörter.