dremeier
Goto Top

Pfsense Firewall Regeln in Verbindung mit OpenVPN, IPsec, pfBlockerNG, und Ausnahme Regelungen

Hallo Freunde der Bits und Bytes,

nachdem ich nun gefühlt das Internet leer gelesen habe und nun den Wald vorlauter Bäumen nicht mehr sehe, bitte ich euch um Hilfe.

Was habe ich:
pfsense V2.5.0-Devel
Router Hardware: 1HU mini PC mit Celeron 3965U, 4GB Ram, 125GB mSSD, 1xWAN, 4xLAN

Derzeitiges Routing:
VDSL -> Fritzbox (DECT VOIP) -> pfsense -> managed Switch -> ein Lokales Netz (192.168.107.0)

Was habe ich vor:
  • Dauerhafte OpenVPN Verbindung zu ExpressVPN
  • Mobil Telefone über das Mobilfunknetz von Außen über IPsec getunnel in mein LAN integrieren die dann den Datenverkehr über ExpressVPN beziehen sollen.
  • pfBlockerNG
  • Multimedia Endgeräte wie FireTV, IPTV usw. dürfen nicht durch OpenVPN geleitet werden.
  • Etliche Smarthome clients dürfen nicht ins Internet, zumindest nicht dauerhaft.
  • 2 iPhone Endgeräte im WLAN sollen zwar durch OpenVPN geleitet werden jedoch müssen die Ports 500 und 4500 für "wifiCall" direkt zum WAN als heimischen Provider geleitet werden.
wenn das nicht geht komplett direkt zum WAN

Was funktioniert:
  • OpenVPN
  • pfBlockerNG ( jedoch habe ich noch Fehler im Log)
  • IPsec jedoch ohne "redirect", seid OVPN jeoch kein Datenfluss mehr.

hier mal mein Aufbau:
Am Montag kommt das Vigor 165, somit wird sich der Aufbau etwas verändern.
meierwall-2

Meine Schwierigkeit ist das Verständnis für die Firewall Regeln, NAT und der interne Ablauf, wer ist mit wem wo ind wie verknüpft.
In der Vergangenheit hatte ich bereits einen Linux Server mit DHCP, Iptables, Proxy usw. eingerichtet der lief nun Jahrelang störungsfrei. Der Grund für die pfsense ist der Wunsch nach Dezentralisierung und erweiterten übersichtlichen Funktionen. Der Server muss erneuert werden und fällt daher sicher einige Wochen aus. Daher dachte ich mir, mal schnell ne pfsense aufsetzen und gut.

Der Status in der pfsense :
Übersicht
Übersicht 2019-05-11 223055

fw-wan 2019-05-11 223237

fw_floating_2019-05-11 223417

fw_lan_2019-05-11 223329


Anfangen möchte ich mit OVPN.
  • Wenn ich unter "Status/Services" den OVPN Dienst stoppe komme ich nicht mehr in´s Internet.
  • bei eingeschaltetem OVPN Dienst erreiche ich andere Clients im LAN nicht mehr. Z.B. meinen Server über FQDN auch nicht über die IP.
  • bei eingeschaltetem OVPN Dienst iPhone (192.168.107.108) mit den Ports 500 und 4500 an OVPN vorbeileiten so das wifiCall funktioniert.
  • bei eingeschaltetem OVPN Dienst FireTV (192.168.107.103) komplett an OVPN vorbei ins "normale" Internet leiten.

Bitte entschuldigt meine leine hafte Ausdrucksweise, hoffe ihr könnt mich trotzdem verstehen.
Für eure Mühen möchte ich mich jetzt schon mal bedanken und freue mich über konstruktive Kritik!
viele Grüße
Andre

Content-Key: 450427

Url: https://administrator.de/contentid/450427

Printed on: May 4, 2024 at 10:05 o'clock

Member: aqui
aqui May 12, 2019 at 09:06:07 (UTC)
Goto Top
Am Montag kommt das Vigor 165, somit wird sich der Aufbau etwas verändern.
Sprich: du hast im Moment noch eine Doppel NAT Router_Kaskade mit der FritzBox, richtig ?
Meine Schwierigkeit ist das Verständnis für die Firewall Regeln
Das ist eigentlich kinderleicht: Man muss nur 2 wichtige Grundregeln beachten:
  • 1.) Regeln gelten immer nur inbound. Sprich: Vom Netzwerk Kabel ins FW Interface hinein
  • 2.) "First Match wins !" Bedeutet: Der erste positive Hit im Regelwerk des Interfaces bewirkt das nachfolgende Regeln nicht mehr abgearbeitet werden.
Diese Logik bestimmt wie die Regeln am Interface zu konfigurieren sind.
Wenn du mal auf dein Regelwerk am LAN Port siehst hast du für das First Match wins Thema gleich ein Negativbeispiel.
Du erlaubst erst den Zugriff von jeglicher Absender IP auf jegliche Ziel IP mit TCP/UDP 53 und 2 Regeln später verbietest du es komplett. Im Hinblick auf das Grundregelwerk wird dir vermutlich die Sinnlosigkeit dieser DENY Regel klar, denn TCP/UDP Pakete kommen niemals mehr dahin das die DENY Regel wirken kann wenn sie oben ja schon komplett erlaubt sind.
Von dem Fehler mal abgesehen das man niemals jegliche Absender IPs erlaubt sondern immer nur die des entsprechenden IP Netzes was an dem Port anliegt LAN_network in deinem Fall.
Dauerhafte OpenVPN Verbindung zu ExpressVPN
Das bedeutet das die FW dort als OpenVPN Client arbeitet, reichtig ?
Die Sinnhaftigkeit und die Gefahren so einer VPN Verbindung auf einem öffentlichen VPN Provider ist dir hoffentlich klar ?! Du nutzt den vermutlich um GeoIP Beschränkungen zu umgehen. Halte dir imemr vor Augen das das nicht sicher ist ! Im Gegenteil, der Dienstleister hat den Schlüssel und an deren Tunnel Endpunkten lauern besonders viele Schlapphüte und Abmahner, da sie jeglichen Tunneltraffic überwachen können.
Das aber nur nebenbei...andere Baustelle !
Kommen wir mal zu deinen Problemchen...
Wenn ich unter "Status/Services" den OVPN Dienst stoppe komme ich nicht mehr in´s Internet.
Das ist natürlich tödlich und zeigt das du den OpenVPN Client auf der FW falsch oder fehlerhaft konfiguriert hast ! face-sad
Sehr wahrscheinlich hast du ein Gateway Redirect auf dem Client eingerichtet oder der VPN Dienstleister erzwingt das. Siehe hier:
https://openvpn.net/community-resources/how-to/#routing-all-client-traff ...
D.h. dein VPN Provider erzwingt vermutlich ein Gateway Redirect sowie die VPN Verbindung aktiv ist. Damit wird der gesamte Internet Traffic dann in den Tunnel geroutet. Bricht der Tunnel ab bricht auch die Internet Verbindung ab...logisch.
Hier müsstest du also das vom VPN Provider erzwungene Gateway Redirect im Client ignorieren bzw. abweisen mit
https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway
Dann passiert das auch nicht mehr. Dann musst du aber die Geo IP Blöcke manuell in den Tunnel routen wenn du damit Geo IP Blocking umgehen willst. Das ist der gravierende Nachteil wenn man mit solchen gruseligen öffentlichen VPN Dienstleistern arbeitet.
bei eingeschaltetem OVPN Dienst erreiche ich andere Clients im LAN nicht mehr. Z.B. meinen Server über FQDN auch nicht über die IP.
Diese Aussage kann nur gelten wenn du aus anderen IP Netzen auf diese Clients zugreifen willst. Niemals aber für lokalen Traffic. Das liegt dann vermutlich an der lokalen Firewall dieser Clients das die falsch oder fehlerhaft eingestellt ist. Oder auch an fehlenden FW Regeln. Das kann man so pauschal nicht sagen, da man nicht weiss von welchen Absender IP Netzen du auf diese Clients zugreifst.
bei eingeschaltetem OVPN Dienst iPhone (192.168.107.108) mit den Ports 500 und 4500 an OVPN vorbeileiten so das wifiCall funktioniert.
Das ist eine Wechselwirkung mit dem obigen Gateway Redirect. Das kann man nur mit einer Policy Route lösen indem man das nicht in den OVPN Tunnel routet was ja Default ist sondern normal übers WAN zum eigentlichen Provider.
Fire TV ist das gleiche Problem.
Fazit:
Du hast hier gleich mehrere Baustellen und Fallen die dein nicht ganz triviales Design torpedieren können.
Du solltest hier strategisch vorgehen:
  • Die Development Edition zu nutzen ist keine gute Idee. Das ist nicht sicher, da eben Bug Gefahr. Hier solltest du im Produktivbetrieb immer die normale Stable Edition nutzen !
  • Bringe erstmal eine saubere Grundkonfig OHNE den Tunnel zum Überlisten des GeoIP Blockings zum laufen und stelle sicher das damit alles funktioniert und alle Clients lokal auch wie Client Dialin VPN usw. erreichbar sind und es eine normale Connectivity gibt
  • Dann etablierst du wenn es sein muss den OVPN Client zum öffi. VPN Provider. Blocke hier zwingend das Gateway Redirecting damit nicht wieder dein gesamter lokaler Traffic in den Tunnel geht und customize dir nur das GeoIP oder was auch immer du mit diesem Provider erreichen willst. Das fixt dann auch dein Problem das das Internet ohne OVPN nicht geht.
  • Ganz zum Schluss dann pfBlockerNG am besten dort die dvelopment Edition. Dort lässt du den Wizzard laufen der das alles automatisch customized.
Member: dremeier
dremeier May 12, 2019 at 12:10:50 (UTC)
Goto Top
Zitat von @aqui:

Am Montag kommt das Vigor 165, somit wird sich der Aufbau etwas verändern.
Sprich: du hast im Moment noch eine Doppel NAT Router_Kaskade mit der FritzBox, richtig ?
richtig, habe ich das im Piktogramm falsch dargestellt?
Meine Schwierigkeit ist das Verständnis für die Firewall Regeln
Das ist eigentlich kinderleicht: Man muss nur 2 wichtige Grundregeln beachten:
  • 1.) Regeln gelten immer nur inbound. Sprich: Vom Netzwerk Kabel ins FW Interface hinein
  • 2.) "First Match wins !" Bedeutet: Der erste positive Hit im Regelwerk des Interfaces bewirkt das nachfolgende Regeln nicht mehr abgearbeitet werden.
Diese Logik bestimmt wie die Regeln am Interface zu konfigurieren sind.
Wenn du mal auf dein Regelwerk am LAN Port siehst hast du für das First Match wins Thema gleich ein Negativbeispiel.
Du erlaubst erst den Zugriff von jeglicher Absender IP auf jegliche Ziel IP mit TCP/UDP 53 und 2 Regeln später verbietest du es komplett. Im Hinblick auf das Grundregelwerk wird dir vermutlich die Sinnlosigkeit dieser DENY Regel klar, denn TCP/UDP Pakete kommen niemals mehr dahin das die DENY Regel wirken kann wenn sie oben ja schon komplett erlaubt sind.
Von dem Fehler mal abgesehen das man niemals jegliche Absender IPs erlaubt sondern immer nur die des entsprechenden IP Netzes was an dem Port anliegt LAN_network in deinem Fall.
die meisten Regeln sind ja nicht mehr Aktiv und dienten dem experimentieren.
Wenn ich eine Regel im LAN erstelle ist sie in der FW auf 127.0.0.1, wie kommt sie denn zum WAN und wieder zurück?
Dauerhafte OpenVPN Verbindung zu ExpressVPN
Das bedeutet das die FW dort als OpenVPN Client arbeitet, reichtig ?
richtig habe es so eingerichtet: https://www.expressvpn.com/de/support/vpn-setup/pfsense-with-expressvpn- ...
Die Sinnhaftigkeit und die Gefahren so einer VPN Verbindung auf einem öffentlichen VPN Provider ist dir hoffentlich klar ?! Du nutzt den vermutlich um GeoIP Beschränkungen zu umgehen. Halte dir imemr vor Augen das das nicht sicher ist ! Im Gegenteil, der Dienstleister hat den Schlüssel und an deren Tunnel Endpunkten lauern besonders viele Schlapphüte und Abmahner, da sie jeglichen Tunneltraffic überwachen können.
Das aber nur nebenbei...andere Baustelle !
sorry nein, ist mir nicht klar, ich will ja erreichen das solche Abmahner und Datenlogger eben keine Schnitte mehr haben. Mit ExpressVPN bin ich der Meinung eine sehr gute Lösung gefunden zu haben. Zumindest behaupten das viele.
Kommen wir mal zu deinen Problemchen...
Wenn ich unter "Status/Services" den OVPN Dienst stoppe komme ich nicht mehr in´s Internet.
Das ist natürlich tödlich und zeigt das du den OpenVPN Client auf der FW falsch oder fehlerhaft konfiguriert hast ! face-sad
Sehr wahrscheinlich hast du ein Gateway Redirect auf dem Client eingerichtet oder der VPN Dienstleister erzwingt das. Siehe hier:
https://openvpn.net/community-resources/how-to/#routing-all-client-traff ...
D.h. dein VPN Provider erzwingt vermutlich ein Gateway Redirect sowie die VPN Verbindung aktiv ist. Damit wird der gesamte Internet Traffic dann in den Tunnel geroutet. Bricht der Tunnel ab bricht auch die Internet Verbindung ab...logisch.
Hier müsstest du also das vom VPN Provider erzwungene Gateway Redirect im Client ignorieren bzw. abweisen mit
https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway
Dann passiert das auch nicht mehr. Dann musst du aber die Geo IP Blöcke manuell in den Tunnel routen wenn du damit Geo IP Blocking umgehen willst. Das ist der gravierende Nachteil wenn man mit solchen gruseligen öffentlichen VPN Dienstleistern arbeitet.
Ich weis, dass eine redirekt Regel zu dem VPN-Gateway eingerichtet wurde. Im Ganzen ist mir das zu hoch und bekomme das so nicht umgesetzt
bei eingeschaltetem OVPN Dienst erreiche ich andere Clients im LAN nicht mehr. Z.B. meinen Server über FQDN auch nicht über die IP.
Diese Aussage kann nur gelten wenn du aus anderen IP Netzen auf diese Clients zugreifen willst. Niemals aber für lokalen Traffic. Das liegt dann vermutlich an der lokalen Firewall dieser Clients das die falsch oder fehlerhaft eingestellt ist. Oder auch an fehlenden FW Regeln. Das kann man so pauschal nicht sagen, da man nicht weiss von welchen Absender IP Netzen du auf diese Clients zugreifst.
Es gibt ja nur ein LAN Netz und ohne OVPN konnte ich ja von jedem Client zu jedem anderem Client gelangen. Das Netz mit ca.c50 Clients lief bis jetzt Jahrelang.
bei eingeschaltetem OVPN Dienst iPhone (192.168.107.108) mit den Ports 500 und 4500 an OVPN vorbeileiten so das wifiCall funktioniert.
Das ist eine Wechselwirkung mit dem obigen Gateway Redirect. Das kann man nur mit einer Policy Route lösen indem man das nicht in den OVPN Tunnel routet was ja Default ist sondern normal übers WAN zum eigentlichen Provider.
Fire TV ist das gleiche Problem.
Und wie erstelle ich eine solche Policy Route?
Fazit:
Du hast hier gleich mehrere Baustellen und Fallen die dein nicht ganz triviales Design torpedieren können.
Du solltest hier strategisch vorgehen:
  • Die Development Edition zu nutzen ist keine gute Idee. Das ist nicht sicher, da eben Bug Gefahr. Hier solltest du im Produktivbetrieb immer die normale Stable Edition nutzen !
  • Bringe erstmal eine saubere Grundkonfig OHNE den Tunnel zum Überlisten des GeoIP Blockings zum laufen und stelle sicher das damit alles funktioniert und alle Clients lokal auch wie Client Dialin VPN usw. erreichbar sind und es eine normale Connectivity gibt
Das war natürlich meine Basis, diese habe ich gespeichet und nun wieder hergestellt. Somit habe ich jetzt eine Saubere Basis ohne VPN, pfBlocker. Alles funktioniert so wie mit einer Standard Fritzbox ohne eine extra Einstellung.
* Dann etablierst du wenn es sein muss den OVPN Client zum öffi. VPN Provider. Blocke hier zwingend das Gateway Redirecting damit nicht wieder dein gesamter lokaler Traffic in den Tunnel geht und customize dir nur das GeoIP oder was auch immer du mit diesem Provider erreichen willst. Das fixt dann auch dein Problem das das Internet ohne OVPN nicht geht.
  • Ganz zum Schluss dann pfBlockerNG am besten dort die dvelopment Edition. Dort lässt du den Wizzard laufen der das alles automatisch customized.
Ich denke, ich lande dann genau da wo ich jetzt auch war, denn nichts anderes habe ich zuvor auch getan. Bis auf die redirekt Geschichte.
Das redirect möchte ich jedoch auf jeden Fall haben. Jeder Traffic incl. DNS soll durch den Tunnel, nur einige Lan Adressen die im Alias zusammen gefasst sind nicht. Muss doch möglich sein?

Abschließend macht es wohl erstmal Sinn ich warte auf den Vigor165 und fange von Vorne an.
vielen Dank und Grüße
Andre
Member: aqui
aqui May 13, 2019 updated at 11:14:42 (UTC)
Goto Top
wie kommt sie denn zum WAN und wieder zurück?
Gar nicht. Hairpin NAT verhindert sowas:
https://wiki.mikrotik.com/wiki/Hairpin_NAT
Wenn man unbedingt sowas braucht kann man das in den Advanced Settings unter Firewall deaktivieren.
ich will ja erreichen das solche Abmahner und Datenlogger eben keine Schnitte mehr haben.
Und dann begibst du dich in die Arme eines öffentlichen VPN Anbieters der deinen privaten Schlüssel kennt bzw. selber erzeugt ?? Und du bist wirklich so naiv das du glaubst er gibt ihn nicht weiter ? Muss man sicher nicht mehr weiter kommentieren heutzutage.
Dann sprngst du sicher auch vom 10m Turm ins Becken ohne Wasser wenn viele das machen. Die "Vielen" sind alles Laien aus Laien Foren oder bezahlte Kommentare die nicht beurteilen können was wirklich abgeht. Aber egal...Glauben versetzt ja bekanntlich Berge und du vertraust deine Bankpin auch dem Nachbarn an. Aber egal...
Das Netz mit ca.c50 Clients lief bis jetzt Jahrelang.
WAS genau hast du dann verändert so das es nicht mehr rennt ? Da genau liegt der Schlüssel zur Lösung !
Und wie erstelle ich eine solche Policy Route?
Guckst du hier:
https://docs.netgate.com/pfsense/en/latest/routing/multi-wan.html
https://www.heise.de/select/ct/2016/24/1479992026108405
Das redirect möchte ich jedoch auf jeden Fall haben.
Wenn du so naiv und blauäugig bist das das sicher ist dann nur zu ! Aber dann brauchst du logischerweise auch ein Policy Routing, denn dann hast du ja eben diese 2 Internet Leitungen, quasi ein Dual WAN. Einmal direkt zum Provider und einmal den Tunnel über den VPN Provider. Das musst du dann natürlich zwingend customizen damit es so rennt wie du es willst !
Dann solltest du jetzt von der Grundkonfig erstmal nur das VPN so einrichten und dann quasi über die 2 Inetrfaces so agieren mit dem regelwerk als ob du 2 WAN Ports hast. Ist ja auch irgendwie einleuchtend face-wink
Muss doch möglich sein?
Ja natürlich ist es das.
Abschließend macht es wohl erstmal Sinn ich warte auf den Vigor165 und fange von Vorne an.
Das ist richtig, denn die Kaskaden Konfig die du nun mit 2 NAT Routern hast verkomplizieret nur noch alles. Das wird mit dem Vigor 165 NUR Modem dann besser wenn die pfSense selber PPPoE terminiert, sprich das Internet ohne doppeltes NAT direkt an der pfSense anliegt.
Member: rzlbrnft
rzlbrnft May 14, 2019 at 15:34:47 (UTC)
Goto Top
Zitat von @aqui:
Und dann begibst du dich in die Arme eines öffentlichen VPN Anbieters der deinen privaten Schlüssel kennt bzw. selber erzeugt ?? Und du bist wirklich so naiv das du glaubst er gibt ihn nicht weiter ? Muss man sicher nicht mehr weiter kommentieren heutzutage.

Wenn der Anbieter genau damit wirbt, das er die Daten nicht weitergibt, und das der Traffic nicht geloggt wird, möchte er damit Geld verdienen. Wenn heraus kommen würde, das er die Daten weiter gibt, würde er kein Geld mehr verdienen. Welche Garantie kannst du denn sonst verlangen das er seine Aufgaben erfüllt?
Member: aqui
aqui May 14, 2019 at 15:44:06 (UTC)
Goto Top
Express VPN hat nicht einmal ein Impressum. Klickt man auf "Kontakt" landet man im Nirwana.
Vermutlich ist das kein EU Anbieter muss sich auch dann nicht an EU Recht halten. Keine Chance also rauszubekommen wo der Firmensitz ist und noch schlimmer wo deren Tunnelserver gehostet werden. Das ein Anbieter sich so verstecken muss spricht eher gegen ihn.
Da muss man sicher nichts mehr zu schreiben was man von solchen Anbietern und Vertraulcihkeit der Kundenschlüssel dann erwarten darf.
Letztlich gilt: Jeder bekommt den VPN Dienst den er verdient.
Member: rzlbrnft
rzlbrnft May 14, 2019 at 15:52:50 (UTC)
Goto Top
Zitat von @aqui:
Express VPN hat nicht einmal ein Impressum. Klickt man auf "Kontakt" landet man im Nirwana.

Das wird auf den British Virgin Islands wohl auch nicht üblich sein.
Wenn ich was illegales tun würde, wäre ein EU Anbieter auch die letzte Anlaufstelle die ich besuchen würde, da kann ich meine Daten ja auch gleich dem Weber Manfred in die Hand drücken wenn ich ihm beim Einkaufen treff.
Member: dremeier
dremeier May 14, 2019 at 16:40:54 (UTC)
Goto Top
Zitat von @rzlbrnft:

Zitat von @aqui:
Express VPN hat nicht einmal ein Impressum. Klickt man auf "Kontakt" landet man im Nirwana.

Das wird auf den British Virgin Islands wohl auch nicht üblich sein.
Wenn ich was illegales tun würde, wäre ein EU Anbieter auch die letzte Anlaufstelle die ich besuchen würde, da kann ich meine Daten ja auch gleich dem Weber Manfred in die Hand drücken wenn ich ihm beim Einkaufen treff.

Sicher habe ich nichts böses vor, würde ja sonst nicht offen darüber sprechen. Letztlich möchte ich mit meinem "ENDE" nicht in GER landen, aus guten Gründen, die ich nicht weiter kommentiere. Jeder solle das machen wie er es für richtig hält (im gesetzlichen Rahmen). aqui seine warnenden Worte finde ich sehr gut, nicht jeder weiß wo drauf er sich einlässt.

Aber nun zurück zum Topik:

Vigor165 und pfsense sind angeschlossen und laufen. Sicher noch nicht optimal und VoIP läuft auch noch nicht.

Hier meine aktuelle Übersicht:
vogr2pfsense

Für das PPPoE benötige ich den VLAN tag 7. Im Vigor165 eingestellt, bekomme ich eine Verbindung, in pfsense eingestellt bekomme ich keine Verbindung.

hier meine Einstellungen:
vigor1 2019-05-14 180627
vigor2 2019-05-14 180627
vigor3 2019-05-14 180627

im Vigor165 habe ich dann den VLAN tag disabled und in der pfsense so eingestellt:
pfsense_vlan_2019-05-14 180900
und so bekomme ich keine Verbindung aufgebaut. Wie muss also der VLAN tag in der pfsense richtig konfiguriert werden? Was für Fehler könnt ihr noch ausmachen?

Nach dieser Anleitung bin ich vorgegangen: https://blog.root32.eu/2017/01/voip-mit-fritzbox-und-pfsense/

viele Grüße
Andre