pfSense is een zeer krachtige open-source firewall/router-oplossing. Gebaseerd op FreeBSD, heeft pfSense een sterke focus op beveiliging. Zelfs in een “vanilla” configuratie zal pfSense veel veiliger zijn dan elke kant-en-klare router die je kunt kopen.
Uit de doos biedt pfSense veel tools om je beveiligde netwerkopstelling aan te passen. Maar bovenop de standaard tools, biedt pfSense ook een repository van add-on pakketten die je kunt installeren om je opstelling verder te verbeteren.
Gerelateerde gids: Hoe je advertenties kunt blokkeren op al je apparaten met pfSense, Squid & SquidGuard
Korte samenvatting van het artikel:
pfSense is een robuuste open-source firewall/router-oplossing gebaseerd op FreeBSD, die een hoger niveau van beveiliging biedt dan kant-en-klare routers.
Naast de standaard tools biedt pfSense add-on pakketten zoals pfBlockerNG, dat de firewall-functionaliteit verbetert door het fijn afstemmen van inkomende en uitgaande verbindingen mogelijk te maken met behulp van IP- en DNS-bloklijsten.De twee kernfuncties van pfBlockerNG omvatten het filteren van inkomend en uitgaand verkeer tegen IP-lijsten en het toepassen van GeoIP-beperkingen, en het blokkeren van advertenties en kwaadaardige sites door middel van DNS-filtratie.
Door DNS-verzoeken te controleren tegen bloklijsten, voorkomt pfBlockerNG toegang tot schadelijke inhoud en dient het als een efficiënte oplossing voor het blokkeren van advertenties zonder de noodzaak van een proxyserver.
pfBlockerNG heeft twee hoofdfuncties:
Inkomend & uitgaand verkeer filteren
pfBlockerNG kan inkomend en uitgaand verkeer filteren tegen IP-lijsten en GeoIP-beperkingen toepassen door verkeer naar/van specifieke landen toe te staan of te weigeren. De laatstgenoemde functionaliteit kan erg handig zijn als je poorten opent op je WAN.
Advertenties en kwaadaardige sites blokkeren via DNS-blackholing
pfBlockerNG kan advertenties en toegang tot kwaadaardige sites blokkeren via DNS-filtratie. Tijdens het surfen op het web worden je DNS-verzoeken gecontroleerd aan de hand van een blokkeerlijst. Als er een match is, wordt het verzoek geblokkeerd. Het is een geweldige manier om advertenties te blokkeren zonder een proxyserver te gebruiken.
We gaan beide gebruiksgevallen bekijken en zullen meer in detail treden naarmate we elk van hen aanpakken.
Deze gids gaat ervan uit dat je pfSense al hebt ingesteld met functionele WAN- en LAN-interfaces.
Laten we beginnen.
Het eerste wat we moeten doen, is pfBlockerNG installeren.
Nu pfBlockerNG-devel is geïnstalleerd, moeten we ons pakket configureren. We beginnen met IP- en GeoIP-filtering.
We zullen pfBlockerNG sectie per sectie configureren. Alle instellingen die niet worden genoemd, moeten op hun standaardwaarden worden gelaten.
Zoals ik hierboven al vermeldde, stelt de GeoIP-functie van pfBlockerNG je in staat om verkeer naar en van hele landen of continenten te filteren. Om dit te doen, gebruikt pfBlocker de MaxMind GeoIP-database, die een licentiesleutel vereist. Een link in de beschrijving van het veld MaxMind Licentiesleutel brengt je naar de registratiepagina van MaxMind. De MaxMind-licentiesleutel is gratis.
Vul het registratieformulier in om je licentiesleutel te verkrijgen. Zodra je je licentiesleutel hebt, voer je deze in het veld MaxMind Licentiesleutel in.
En:
In dit gedeelte wordt bepaald op welke inkomende en uitgaande interface(s) de IPv4-, IPv6- en GeoIP-filtering van pfBlockerNG worden toegepast.
Het is nu tijd om enkele blokkeerlijsten toe te voegen aan pfBlockerNG. Hoewel je vrij bent om je eigen feeds toe te voegen, heeft pfBlockerNG enkele ingebouwde feeds die we kunnen inschakelen (de termen lijst en feed zijn in deze context uitwisselbaar).
Dit is erg praktisch omdat het zoeken naar blokkeerlijsten op internet tijdrovend is en vele niet werken of niet meer worden onderhouden. De feeds binnen pfBlocker zijn live lijsten die regelmatig worden bijgewerkt, dus we gaan die gebruiken.
De naam van de feed-verzameling is ingevuld, samen met de beschrijving. De feed-URL’s in de verzameling en hun bijbehorende beschrijvingen zijn ook ingevuld. Echter, onze feeds staan standaard op UIT. We moeten ze inschakelen.
Maar voordat we dat doen, moeten we een van de feeds uit de PRI1-verzameling verwijderen. Pulsedive, de 7e feed vanaf de top, is een premium lijst die een betaalde API-sleutel vereist. We gaan deze API-sleutel niet halen voor deze tutorial. Klik op de knop Verwijderen.
Je kunt dezelfde stappen herhalen voor IPv6 als je ISP zowel een IPv4- als een IPv6-IP-adres toekent aan je WAN. De meesten van ons zitten nog steeds op alleen-IPv4-netwerken.
Voordat we GeoIP-filtering configureren, moeten we eerst een update van pfBlockerNG forceren. pfBlocker wordt automatisch bijgewerkt op vaste tijdstippen. Maar om GeoIP-filtering te configureren, moet pfBlocker eerst de MaxMind-database ophalen, en een geforceerde update zal precies dat doen.
GeoIP-logs
De GeoIP-samenvatting bestaat uit IP-adresfeeds georganiseerd per continent, met twee extra categorieën: Top Spammers en Proxy en Satelliet. Top Spammers is een lijst met landen die bekend staan als een frequente bron van online aanvallen. En Proxy en Satelliet zijn bekende anonieme proxy- en satellietproviders.
Je kunt het verkeer naar/van een heel continent filteren, of je kunt de feed fijn afstemmen door alleen de landen te selecteren die je wilt filteren.
Nu zijn er bepaalde dingen om hier te overwegen. Als je uitgaande verbindingen naar een land of continent wilt blokkeren, ga je gang. Echter, als je overweegt om inkomende links van een regering of continent te blokkeren, bedenk dan dat pfSense standaard alle ongevraagde inkomende verkeer op de WAN blokkeert.
Dat betekent dat tenzij je open poorten op je WAN hebt, het blokkeren van landen of continenten nutteloos is en alleen geheugen voor niets zal verbruiken. Als je open poorten op je WAN hebt, zorg er dan voor dat je geen verbindingen blokkeert van landen die je wilt toestaan om verbinding te maken met je open poort(en).
Aliassen zijn op zichzelf staande IP-adreslijsten die native zijn aan pfSense. Met aliassen kun je alleen de specifieke landen die je hebt geselecteerd toestaan om toegang te krijgen tot je open poorten. Echter, er is een manier om aangepaste aliassen te maken van de MaxMind GeoIP-database binnen pfBlockerNG die direct als bron in je port forwarding firewall-regels kunnen worden gebruikt.
Omdat pfSense automatisch al het verkeer blokkeert dat niet expliciet is toegestaan in de firewall-regels, willen we een alias maken van de landen die we zullen toestaan door de firewall. pfSense zal de rest standaard blokkeren.
Zet de Actie op Alias Native.
Als je open poorten hebt maar het simpel wilt houden, kun je inkomende verbindingen van Top Spammers en Proxy en Satelliet blokkeren zonder een aangepaste alias te creëren. Onthoud dat dit alleen nuttig is als je open poorten hebt op je WAN.
Als je geen enkele open poort hebt op je WAN, blokkeer dan alleen uitgaand verkeer of laat GeoIP-filtering uitgeschakeld.
Om zeker te zijn dat ons verkeer wordt gefilterd, kunnen we proberen verbinding te maken met een bekend IP-adres in de blokkeerlijst. Als ik probeer toegang te krijgen tot 1.13.9.177 (een IP opgenomen in mijn pfBlockerNG IPv4-feeds) in mijn browser, wordt het IP-adres niet vertaald naar een domeinnaam, en kan ik geen verbinding maken. Dat is wat we willen.
Laten we verder gaan met het configureren van pfBlocker’s DNSBL.
Oké. We hebben IPv4-filtering en GeoIP-filtering ingesteld, en ook aliassen. Het is nu tijd om verder te gaan met het gebruik van pfBlockerNG voor ad-blocking. Ad-blocking in pfBlockerNG wordt bereikt door middel van DNS blackholing. Dit vergelijkt jouw DNS-verzoeken met een lijst van bekende advertentienetwerken en trackers en blokkeert deze op DNS-niveau wanneer er een overeenkomst is, wat resulteert in een advertentievrij internet. Hoera.
Om de DNSBL-functie in pfBlockerNG te gebruiken, moet je de DNS Resolver in pfSense gebruiken voor jouw DNS-resolutie. Dat betekent dat je de DNS van je hosts niet via DHCP kunt toewijzen of de DNS Forwarder (dnsmasq) kunt gebruiken als je de DNSBL-functie wilt gebruiken.
Standaard gebruikt pfSense de DNS Resolver op alle interfaces. Dus als je geen wijzigingen hebt aangebracht in de instellingen van de DNS Resolver, zit je goed. Als je wel wijzigingen hebt aangebracht, configureer dan de Resolver om te binden aan jouw LAN (uitgaand) en jouw WAN (inkomend). En selecteer alle andere LAN-type (OPT interfaces) en WAN-type (multi-WAN setup, VPN-gateways) interfaces waarop je de DNSBL wilt filteren.
We moeten nu enkele DNSBL-feeds toevoegen.
We moeten nu een update van pfBlockerNG forceren, zoals we hierboven deden.
Zodra de update is voltooid, kunnen we zien dat onze DNSBL-feeds zijn bijgewerkt.
Om er zeker van te zijn dat DNSBL-filtering werkt, zullen we proberen verbinding te maken met het domein dat ik aan de DNSBL Custom_List: vungle.com heb toegevoegd. Als ik probeer toegang te krijgen tot vungle.com in mijn browser, wordt de DNSBL-blokkeerpagina weergegeven met enkele nuttige stukjes informatie.
Opmerking: DNSBL van pfBlocker bevat een mini-webserver die deze blokkeerpagina kan serveren. IPv4, IPv6 en GeoIP-filtering breiden de bestaande functionaliteit van de pfSense firewall uit en blokkeren of staan IP-adressen toe zonder een blokkeerpagina weer te geven.
Nou, dat was het dan. Je hebt pfBlockerNG-devel met succes geïnstalleerd en geconfigureerd in pfSense. We hebben IPv4-filtering, GeoIP-filtering, evenals DNSBL-filtering geconfigureerd. Al deze drie maken je netwerk veiliger en privé zonder je verbinding te vertragen.
Naarmate je netwerk groeit, moet je misschien bepaalde poorten op je WAN openen als je een VPN-server wilt draaien of als je een webserver wilt hosten die toegankelijk is vanaf het internet. Wanneer je dat doet, zal pfBlockerNG een mooie tool in je beveiligingskit zijn om je netwerk te vergrendelen en de toegang van buitenaf fijnmazig te regelen.
Gerelateerd: Hoe vind je de beste VPN’s