Hoe voorkom je toegang tot ongewenste websites op Windows?

Manieren om de toegang tot websites op Windows te blokkeren — Real Talk

Dit is een terugkerend probleem: mensen willen websites blokkeren, bijvoorbeeld voor ouderlijk toezicht, om afleiding op het werk te voorkomen of gewoon uit nieuwsgierigheid. Er zijn verschillende manieren om dit te doen, maar geen enkele is waterdicht. Soms werkt het hosts-bestand, soms negeren browsers het vanwege DNS-privacytrucs zoals DoH. Groepsbeleid werkt in bedrijfsomgevingen, maar is al snel ingewikkeld. En IP-adressen blokkeren met de Windows Firewall? Tja, dat is lastig en beperkt. Deze handleiding behandelt voornamelijk hoe je dit kunt doen met de ingebouwde tools van Windows en een paar scripts, want Windows moet het natuurlijk altijd ingewikkelder maken dan nodig is.

Hoe blokkeer je websites in Windows? Stapsgewijze handleiding

Websites blokkeren met het hosts-bestand in Windows

Dit is de klassieke methode: websiteverzoeken doorsturen naar localhost in plaats van naar het echte IP-adres. In feite is het alsof je Windows vertelt: “Als iemand Facebook probeert te bezoeken, doe dan alsof het niet bestaat.” Het hosts-bestand bevindt zich in %windir%\system32\drivers\etc\hosts. Vanwege de machtigingen moet je Kladblok of PowerShell als beheerder uitvoeren om het te bewerken. Klik met de rechtermuisknop op PowerShell en kies Uitvoeren als beheerder.

Je kunt het volgende uitvoeren in de commandoregel:

notepad $env:SystemRoot\System32\drivers\etc\hosts

Om een ​​site zoals Facebook te blokkeren, voeg je bijvoorbeeld de volgende regels toe:

127.0.0.1 facebook.com 127.0.0.1 www.facebook.com

Wis vervolgens de DNS-cache om ervoor te zorgen dat Windows oude informatie vergeet:

ipconfig /flushdns

Als je vervolgens je browser opent en probeert naar Facebook te gaan, krijg je foutmeldingen zoals ‘Pagina niet gevonden’ of ‘Verbinding geweigerd’, en dat is precies wat je wilt.

Enkele handige PowerShell-codefragmenten om dit te automatiseren:

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 } }

Voeg deze commando’s toe aan je PowerShell-profiel en door ze aan te roepen, BlockSiteHosts "facebook.com"blokkeer je Facebook UnBlockSiteHosts "facebook.com". Het deblokkeren is net zo eenvoudig als. Houd er rekening mee dat als je browser DNS over HTTPS gebruikt, zoals Firefox standaard doet, deze methode mogelijk niet 100% werkt. Het is een beetje vreemd, maar zo werkt het nu eenmaal.

Websites blokkeren met groepsbeleid (GPO)

Dit is vooral bedoeld voor beheerders of mensen die meerdere pc’s in een domein beheren. Het houdt in dat je ADMX-sjablonen downloadt voor browsers zoals Edge of Chrome en vervolgens beleidsregels instelt om specifieke URL’s te blokkeren. Download eerst de sjablonen van Microsoft of de browserleveranciers en installeer ze vervolgens (meestal gewoon uitpakken in C:\Windows\PolicyDefinitions ).Open daarna gpedit.msc en ga naar Computerconfiguratie > Beleid > Beheersjablonen > Microsoft Edge.

  • Zoek ‘Toegang tot een lijst met URL’s blokkeren’ en schakel deze optie in.
  • Voeg de sites toe die je wilt blokkeren en voer vervolgens gpupdate /forcede opdrachtprompt uit om de instellingen te implementeren.

Als iemand een geblokkeerde site probeert te bezoeken, krijgt hij of zij een bericht te zien zoals: ‘Uw organisatie staat u niet toe deze site te bekijken.’ In Chrome werkt het op dezelfde manier: installeer de Chrome ADMX-sjablonen en zoek vervolgens de optie voor URL-blokkering onder ‘Beleid’.

Blokkeren via Windows Defender Firewall (op basis van IP-adres)

Dit is nogal omslachtig en niet super betrouwbaar, omdat Windows Firewall niet blokkeert op basis van domeinnamen, maar alleen op basis van IP-adressen. Los eerst de IP-adressen van de site op met `resolve -dnsName` nslookupof `Resolve-DnsName`. Je krijgt mogelijk een aantal IP-adressen te zien; sommige sites gebruiken veel servers, dus dit is niet perfect.

Zodra je de IP-adressen hebt, open je firewall.cpl, ga je naar Uitgaande regels, maak je een nieuwe regel aan, kies je Aangepast en stel je het bereik in om die IP-adressen te blokkeren onder ‘Externe IP-adressen’.

Houd er rekening mee dat dit niet schaalbaar is als een website regelmatig van IP-adres verandert of gebruikmaakt van CDN-netwerken. Beperk je bovendien tot een handvol IP-adressen per regel; meer dan ongeveer 3000 adressen worden al snel te complex.

Blokkeren met PowerShell en firewallregels

Flexibeler: je kunt het scripten. DNS-namen direct oplossen en die IP-adressen rechtstreeks blokkeren. Hier is een kort voorbeeld:

$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

Dit werkt prima, maar onthoud dat je het opnieuw moet uitvoeren als de IP-adressen veranderen. Je kunt ook controleren of de regel actief is in de Windows Firewall nadat je de regel hebt uitgevoerd.

Al deze methoden hebben zo hun eigenaardigheden, en eerlijk gezegd is geen enkele perfect qua beveiliging. Voor serieuze beperkingen kun je beter de router zelf instellen of speciale hardware gebruiken. Maar voor een snelle en simpele blokkering kom je met deze trucs al een heel eind.

Samenvatting

  • Bewerk het hosts-bestand om sites lokaal te blokkeren (werkt, maar kan worden omzeild).
  • Gebruik Groepsbeleid voor het blokkeren van browserspecifieke URL’s (handig in domeinomgevingen).
  • Blokkeer IP-adressen rechtstreeks in de Windows Firewall (beperkt en IP-adres kan veranderen).
  • Automatiseer met PowerShell voor meer controle, maar let op IP-wijzigingen en DoH-regels.

Samenvatting

Eerlijk gezegd is het blokkeren van websites op Windows niet zo eenvoudig. De methode met het hosts-bestand is het simpelst, maar browsers zoals Firefox of Chrome met DNS over HTTPS negeren dit mogelijk. Groepsbeleidsobjecten (GPO) zijn meer geschikt voor IT-professionals die meerdere pc’s beheren, en IP-blokkering via de firewall is op zijn zachtst gezegd omslachtig. Voor strikte controle is blokkeren op netwerkniveau (router of proxy) meestal de beste optie. Maar als je Facebook of YouTube snel op je eigen computer wilt blokkeren, is het aanpassen van het hosts-bestand en het leegmaken van de DNS-cache waarschijnlijk voldoende. Hopelijk bespaart dit iemand wat tijd – al is het maar een beetje.