Möglichkeiten, den Zugriff auf Websites unter Windows zu blockieren — Real Talk
Dieses Thema kommt ständig vor – Leute wollen Webseiten blockieren, sei es aus Gründen der Kindersicherung, um sich nicht bei der Arbeit ablenken zu lassen oder einfach aus Neugier. Es gibt zwar verschiedene Möglichkeiten, das zu tun, aber keine ist narrensicher. Manchmal funktioniert die Hosts-Datei, manchmal ignorieren Browser sie aufgrund von DNS-Datenschutztricks wie DoH. Gruppenrichtlinien funktionieren zwar in Unternehmensnetzwerken, sind aber kompliziert. Und IPs in der Windows-Firewall blockieren? Naja, umständlich und mit Einschränkungen. Dieser Leitfaden beschreibt hauptsächlich die Verwendung der in Windows integrierten Tools und einiger Skripte, denn natürlich muss Windows es unnötig kompliziert machen.
So blockieren Sie Webseiten unter Windows – Schritt-für-Schritt-Anleitung
Websites mithilfe der Hosts-Datei in Windows blockieren
Das ist die klassische Methode: Website-Anfragen werden an localhost statt an die tatsächliche IP-Adresse weitergeleitet. Im Prinzip ist es so, als würde man Windows sagen: „Wenn jemand versucht, Facebook zu besuchen, tu so, als existiere die Seite nicht.“ Die Hosts-Datei befindet sich unter %windir%\system32\drivers\etc\hosts. Aufgrund von Berechtigungen müssen Sie Notepad oder PowerShell als Administrator ausführen, um sie zu bearbeiten. Klicken Sie dazu einfach mit der rechten Maustaste auf PowerShell und wählen Sie „Als Administrator ausführen“.
In der Kommandozeile könnten Sie Folgendes ausführen:
notepad $env:SystemRoot\System32\drivers\etc\hosts
Um eine Website wie Facebook zu blockieren, fügen Sie Einträge wie die folgenden hinzu:
127.0.0.1 facebook.com 127.0.0.1 www.facebook.com
Leeren Sie anschließend den DNS-Cache, um sicherzustellen, dass Windows alte Informationen vergisst:
ipconfig /flushdns
Wenn Sie also anschließend Ihren Browser öffnen und versuchen, auf Facebook zuzugreifen, werden Ihnen Fehlermeldungen wie „Seite nicht gefunden“ oder „Verbindung verweigert“ angezeigt – und genau das ist es, was Sie erreichen wollen.
Hier einige praktische PowerShell-Code-Snippets zur Automatisierung dieses Vorgangs:
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) { $hosts = "$env:SystemRoot\System32\drivers\etc\hosts" $is_blocked = Get-Content -Path $hosts | Select-String -Pattern ([regex]::Escape($Url)) if(-not $is_blocked) { $hoststr="127.0.0.1 " + $Url Add-Content -Path $hosts -Value $hoststr } } Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) { $hosts = "$env:SystemRoot\System32\drivers\etc\hosts" $is_blocked = Get-Content -Path $hosts | Select-String -Pattern ([regex]::Escape($Url)) if($is_blocked) { $newhosts = Get-Content -Path $hosts | Where-Object { $_ -notmatch ([regex]::Escape($Url)) } Set-Content -Path $hosts -Value $newhosts } }
Fügen Sie diese Befehle Ihrem PowerShell-Profil hinzu. Ein Aufruf BlockSiteHosts "facebook.com"blockiert Facebook, und die Entsperrung ist genauso einfach UnBlockSiteHosts "facebook.com". Beachten Sie: Wenn Ihr Browser DNS over HTTPS verwendet, wie beispielsweise Firefox standardmäßig, funktioniert diese Methode möglicherweise nicht in allen Fällen. Das ist etwas ungewöhnlich, aber so ist es nun mal.
Websites mit Gruppenrichtlinien (GPO) blockieren
Dies richtet sich eher an Administratoren oder Personen, die mehrere PCs in einer Domäne verwalten. Dabei werden ADMX-Vorlagen für Browser wie Edge oder Chrome heruntergeladen und anschließend Richtlinien zum Blockieren bestimmter URLs festgelegt. Laden Sie die Vorlagen zunächst von Microsoft oder den Browserherstellern herunter und installieren Sie sie (in der Regel einfach nach C:\Windows\PolicyDefinitions entpacken ).Öffnen Sie anschließend gpedit.msc und navigieren Sie zu Computerkonfiguration > Richtlinien > Administrative Vorlagen > Microsoft Edge.
- Suchen Sie nach „Zugriff auf eine Liste von URLs konfigurieren“ und aktivieren Sie die Option.
- Fügen Sie die zu blockierenden Websites hinzu und führen Sie dann
gpupdate /forceden Befehl in der Eingabeaufforderung aus, um die Einstellungen zu übernehmen.
Wenn jemand versucht, auf eine blockierte Website zuzugreifen, wird ihm eine Meldung wie „Ihre Organisation erlaubt Ihnen nicht, diese Website anzuzeigen“ angezeigt. In Chrome gehen Sie genauso vor – installieren Sie einfach die Chrome ADMX-Vorlagen und suchen Sie dann unter den Richtlinien nach der Option zum Blockieren von URLs.
Blockierung über die Windows Defender Firewall (IP-basiert)
Das ist etwas umständlich und nicht besonders zuverlässig, da die Windows-Firewall nicht anhand von Domainnamen, sondern nur anhand von IP-Adressen blockiert. Zuerst sollten Sie die IP-Adressen der Website mit nslookup` Resolve-DnsName` auflösen. Sie erhalten möglicherweise eine Handvoll IP-Adressen; manche Websites nutzen sehr viele Server, daher ist diese Methode nicht perfekt.
Sobald Sie die IP-Adressen haben, öffnen Sie firewall.cpl, gehen Sie zu „Ausgehende Regeln“, erstellen Sie eine neue Regel, wählen Sie „Benutzerdefiniert “ und legen Sie dann den Bereich so fest, dass diese IP-Adressen unter „Remote-IP-Adressen“ blockiert werden.
Achtung: Diese Lösung ist nicht skalierbar, wenn eine Website häufig die IP-Adresse ändert oder CDN-Netzwerke nutzt. Beschränken Sie sich außerdem auf wenige IP-Adressen pro Regel; bei mehr als etwa 3.000 Adressen wird es kompliziert.
Blockieren mit PowerShell und Firewall-Regeln
Mehr Flexibilität – Sie können es per Skript steuern. DNS-Namen werden dynamisch aufgelöst und die entsprechenden IPs direkt blockiert. Hier ein kurzes Beispiel:
$sites = "facebook.com", "instagram.com" $ips = $sites | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress New-NetFirewallRule -DisplayName "Block Sites" -Direction Outbound -Action Block -RemoteAddress $ips -Protocol Any -LocalPort Any
Das funktioniert soweit, aber denken Sie daran: Wenn sich die IP-Adressen ändern, müssen Sie den Vorgang wiederholen. Sie können außerdem nach der Ausführung in der Windows-Firewall überprüfen, ob die Regel aktiv ist.
Alle diese Methoden haben ihre Tücken, und ehrlich gesagt ist keine in puncto Sicherheit perfekt. Für strenge Einschränkungen empfiehlt sich eine Konfiguration auf Routerebene oder mit spezieller Hardware. Für schnelle und einfache Blockierungen reichen diese Tricks aber schon recht weit.
Zusammenfassung
- Bearbeiten Sie die Hosts-Datei, um Websites lokal zu blockieren (funktioniert, kann aber umgangen werden).
- Nutzen Sie Gruppenrichtlinien zur browserspezifischen URL-Sperrung (gut geeignet für Domänenumgebungen).
- IP-Adressen direkt in der Windows-Firewall blockieren (eingeschränkt, IP-Adresse kann sich ändern).
- Automatisieren Sie mit PowerShell, um mehr Kontrolle zu erhalten, aber achten Sie auf IP-Änderungen und DoH-Regeln.
Zusammenfassung
Ehrlich gesagt ist das Blockieren von Websites unter Windows nicht ganz einfach. Die Methode mit der Hosts-Datei ist zwar am einfachsten, aber Browser wie Firefox oder Chrome mit HTTPS ignorieren diese möglicherweise. Gruppenrichtlinienobjekte (GPO) eignen sich eher für IT-Experten, die mehrere PCs verwalten, und die IP-Blockierung per Firewall ist bestenfalls umständlich. Für eine umfassende Kontrolle ist die Blockierung auf Netzwerkebene (Router oder Proxy) in der Regel die beste Lösung. Wenn Sie aber nur schnell Facebook oder YouTube auf Ihrem eigenen Rechner blockieren möchten, reicht es wahrscheinlich aus, die Hosts-Datei zu bearbeiten und den DNS-Cache zu leeren. Hoffentlich hilft das jemandem, etwas Zeit zu sparen – zumindest ein bisschen.