Sticky

Een externe firewall (gebruikers blog)

  • 20 april 2017
  • 32 Reacties
  • 13470x Bekeken


Toon eerste bericht
Dit topic is gesloten. Staat je antwoord hier niet bij, start dan een nieuw topic.

32 Reacties

Wederom heerlijk om te lezen.:D
Is wel interessant maar mij een brug te ver, ik houd het standaard bij de firewall van mijn Ziggo-modem en de ingebouwde firewall van W10NL, maar heb de internetverbinding wèl op openbaar gezet en niet op particulier.
Reputatie 7
Badge +35
Wederom heerlijk om te lezen.:D
Is wel interessant maar mij een brug te ver, ik houd het standaard bij de firewall van mijn Ziggo-modem en de ingebouwde firewall van W10NL, maar heb de internetverbinding wèl op openbaar gezet en niet op particulier.

Wederom heerlijk om te lezen.:D
En daar blijft het dan ook helemaal bij.
Na 11 jaar firewall van het modem, firewall van Windows en Microsoft Forefront Cliënt (MpCmdRun.exe) met als zijn opvolgers tot nu toe (Windows Defender beveiligingscentrum) geen virus of anderszins meer actief gehad, wel gezien, maar werden adequaat getackeld.
Daarvoor met andere vormen van beveiliging wel problemen gehad.
Ik laat hem ieder uur kijken naar een update en soms zijn er meer dan 5 of meer nieuwe beveiligingsdefinities per dag.
(En deze configuratie ook een lange tijd zakelijk gebruikt voor ICT hulp e.d. en dan weet je wel wat voor vervuilde mails je binnenkrijgt van besmette computers. Draaide wel vaak een back-up uiteraard, maar die is niet meer nodig geweest.)
Reputatie 5
Badge +5
Ik geef jullie groot gelijk.
Dit moet je alleen doet als je het leuk en interessant vindt. Anders ga je je alleen maar ergeren aan dat ding.
een heel mooi stuk, maar kun je evt een link plaatsen waar je de hardware hebt aangeschaft??? helaas ik google niet mijn vriend vandaag.. 😞
Reputatie 5
Badge +5
Ik heb hem bij Applianceshop gekocht, maar ik zie dat het moederbordje momenteel out of stock is. Het kan zijn dat hij gewoon tijdelijk uitverkocht is.
Amazon.de heeft ze ook te koop.

Mocht je voor andere hardware gaan: De nieuwste versies pfSense vereisen dat het hardwarematige AES encryptie ondersteunt (in de CPU)
Reputatie 5
Badge +5

Een externe firewall deel 8


Port forwarding


Standaard blokkeert pfSense al het verkeer dat van buiten (vanaf het internet) komt. Als je zelf een webservice wilt draaien die vanaf het internet bereikbaar is zul je iets extra moeten doen. Je zult moeten configureren welke poort verkeer mag doorlaten naar een IP adres op je eigen netwerk. Of eventueel welke poorten, want je kunt in een keer een groepje poorten doorlaten. Dit noemt men NAT port forwarding. Het is alleen nodig bij IPv4, waarbij de router (in dit geval pfSense) je externe ziggo IP adres omzet naar een intern IP adres (of een groep van adressen). Bijvoorbeeld, het op internet bekende IP adres 84.85.86.87 wordt omgezet naar 192.168.1.x. x kan hierbij een getal tussen 1 en 254 zijn.

Voor IPv6 is NAT port forwarding niet nodig, omdat U voldoende externe IP adressen krijgt. Het kan natuurlijk wel zijn dat in het IPv6 modem in te stellen is welke poorten open of dicht staan.

Ik behandel hier even (IPv4) port forwarding voor de pfSense firewall. Dit is te vinden onder firewall> NAT


Destination staat standaard op WAN. Er is de mogelijkheid om een IP adres in te geven, en dat geeft soms wat verwarring. Dit is het originele IP adres aan de WAN zijde. Het is eigenlijk alleen van belang als er aan de WAN zijde (het internet) meerdere IP adressen zijn. Ik heb dat niet, dus ik laat het mooi leeg.
Destination port range Hier moet U het poort nummer ingeven waarop aan de internet kant geluisterd wordt. Ik kies een ongebruikelijk nummer 30180. Als je geen webserver draait, neem dan geen standaard poorten. Alle PC's die op het internet zijn aangesloten, worden constant gescanned op open poorten.
Redirect target IP Dit is het IP nummer aan de LAN zijde waar het binnenkomende verkeer naar toe wordt geleidt. Ik kies voor 10.0.0.101. Hierop zit een raspberry pi met Domiticz.
Redirect target port Dit is het poort die aan de LAN zijde gebruikt wordt. Domoticz gebruikt poort 8080 als webinterface.

Je kunt nog een omschrijving toevoegen, en opslaan. Bovenin komt een button waarmee de wijzigingen te activeren zijn. De nieuwe forward staat nu ook in het overzicht:



Om het te testen gebruik ik mijn telefoon. Ik zet Wifi uit, zodat al het verkeer via 4G data moet.
Ik moet nu ingeven mijn IP adres van ziggo, gevolgd door een dubbele punt en het poort nummer. Bijvoorbeeld: 80.81.82.83:30180.
Als het goed is, verschijnt dan het Domiticz login scherm op mijn telefoon.



Het werkt! Ik kan overal mijn Domoticz systeem instellen.

Als je dit soort dingen gaat doen, zorg dan wel dat het apparaat dat je openstelt helemaal bijgewerkt is met de laatste patches. Zowel het operating systeem, als de software die er op draait.

Telkens je IP nummer intypen is lastig. Er zijn wel mogelijkheden om net als bij websites een naam in te geven. Hier wordt onder andere uitgelegd hoe dit mogelijk is met ddns. Er zijn vast ook wel Nederlandse versies te vinden. Ik weet niet of noip.com in het Nederlands is, maar deze is in ieder geval gratis (als de informatie van het internet klopt).
Reputatie 5
Badge +5

Een externe firewall deel 9


Floating rules


In deel 7.1 liep ik tegen het volgende probleem aan: Ik blokkeer heel Rusland met behulp van Geoblock, maar wil toch een uitzondering maken voor een bepaalde site. We kunnen dan een rule aanmaken voor die ene site, maar omdat pfSense alle rules van boven naar beneden evalueert, en stopt zodra een rule geldig is, moet de uitzondering boven de geoblock staan. PfSense heeft een mogelijkheid om rules op een bepaalde plek te zetten.


Dit werkt heel goed, mits je daarna meteen de site benaderd. Als je het een paar dagen later weer probeert, kan het maar zo zijn dat je weer geblokkeerd bent. PfSense brengt namelijk ook zelf een volgorde aan, gebaseerd op een keuze die de gebruiker kan maken.


Standaard is: eerst alle rules die blokkeren, en dan de rules die iets toestaan. Dat is op zich logisch, want als je eerst alles doorlaat, heeft blokkeren geen zin meer. Alleen wordt door het automatisch sorteren die ene uitzondering ook weer verplaatst.

Ik heb verschillende opties geprobeerd om dit op te lossen. Andere manier van sorteren, secties, doch niets hielp. Ik was niet de enige die met dit probleem zat. Op forums vroegen mensen zich ook af wat het idee er achter was.

Uiteindelijk heb ik een oplossing gevonden: Floating rules. De floating rules worden als eerste uitgevoerd. Als ik mijn uitzonderingen in de floating rules plaats, worden ze al uitgevoerd voordat de standaard (blokkerende) rules worden geëvalueerd. Het maakt daarbij niet uit of de site geblokkeerd wordt door een Geoblock, of om een andere reden. Dus ook niet als de site op een lijst van besmette servers staat.. Je moet dus wel even oppassen voor je er gebruik van maakt.

De floating rules staan op een aparte tab, net als de rules voor WAN, LAN, etc.
Op de website van pfSense wordt de volgende informatie gegeven over floating rules:

Floating rules kunnen:
  • Verkeer van de firewall zelf filteren
  • Verkeer in uitgaande richting blokkeren (alle andere tabs filteren ingaand verkeer)
  • Regels maken die gelden voor meerdere interfaces
  • Filteren met 'laatste rule wint' bij meerdere geldige rules
  • Veel meer

Met een floating rule kunnen we dus rules maken die als eerste geëvalueerd worden. Dat is perfect voor uitzonderingen op blokkering. Ik heb nu drie floating rules. Twee om verkeer door te laten, en een om verkeer te blokkeren.


De twee rules om wat door te laten zijn vrij simpel: Ze bevatten een enkele website, die elders geblokkeerd wordt. De rule om te blokkeren bevat een alias met een aantal websites die zich als tracker gedragen, en waarvan ik niet zeker weet of ze wel geblokkeerd worden. Omdat floating rules ook uitgaand verkeer kunnen blokkeren, leek me dit ideaal om deze sites te blokkeren. Het had het ook met een standaard rule kunnen doen, maar dan had ik die rule bij LAN en bij WLAN moeten plaatsen.

Floating rules hebben trouwens een Quick Optie. Hiermee heb je invloed op de evaluatie van de floating rules
  • Als de optie aan staat, geldt de regel: de eerste rule die geldig is, wordt hij uitgevoerd.
  • Als de optie niet aan staat, geldt de regel: de laatste rule die geldig is wordt uitgevoerd.
Alle floating rules worden geëvalueerd van boven naar beneden. Er wordt niet gestopt op de eerste die geldig is. Als er meer geldig zijn, kun je met de quick optie bepalen of de eerste wint, of de laatste.
Bij een rule die iets doorlaat, staat de optie standaard aan. Bij een die blokkeert staat hij standaard uit.

Als een geen de floating rules geldig is, wordt doorgegaan met de standaard rules bij WAN of LAN, afhankelijk van de richting van het communicatie pakketje

Interface, direction, etc.
Omdat je bij een floating rule aangeven voor welke interface hij geldt, en of het voor ingaand of uitgaand verkeer is zal ik dat nog wat toelichten. Stel we hebben de volgende situatie:


Je moet je goed realiseren dat alle rules gelden ten opzichte van de firewall. We zijn gewend om vanuit de PC, of vanuit het internet te redeneren.

Als ik vanaf de PC een datapakketje naar een website verstuur (b.v. een PING of een click op een link), dan gaat dat datapakketje van de PC naar de firewall, en die stuurt het naar de website.

  • Voor de firewall (pfSense) komt er op de LAN interface data van de PC (10.0.0.5) binnen. Hierop worden de 'in' rules toegepast.
  • Vervolgens vervangt de ingebouwde NAT het IP adres van de PC (10.0.0.5) door het IP adres aan de WAN zijde. Als mijn modem in bridge mode staat, is dit het adres dat je van Ziggo hebt gekregen (b.v. 81.82.83.84).
  • Voordat de data naar Ziggo wordt verstuurd, worden aan de WAN zijde van de firewall, de 'out' rules toegepast. Wat door alle rules heen komt, wordt verstuurd via het internet.
  • Het antwoord komt binnen aan de WAN zijde, en daar worden allereerst de 'in' rules voor de WAN interface toegepast.
  • De NAT vervangt het publieke Ziggo IP adres weer met 10.0.0.5, en de 'out' rules van de LAN zijde worden toegepast.

Dit hele verhaal met in-rules en out-rules geldt dus alleen voor floating rules. De standaard rules worden alleen bij binnenkomend verkeer toegepast (LAN of WAN zijde).
Als je met standaard rules verkeer van PC naar facebook wilt blokkeren, moet je dus een rule aan de LAN zijde maken. Als je de verkeer vanaf facebook wilt blokkeren, moet je een rule aan de WAN zijde maken. Alleen met floating rules kan ik ook aan de WAN zijde uitgaande berichten blokkeren.

Hier is veel onduidelijkheid over, en eerlijk gezegd is het mij zelf ook lange tijd onduidelijk geweest. PfSense laat je namelijk ook rules aanmaken die niet zullen werken, zoals aan de WAN zijde een filter met source=10.0.0.5 en destination=facebook. (Dit werkt niet want de WAN zijde heeft geen inkomend verkeer van 10.0.0.5).