PfSense: Probleme mit Wirksamkeit von Rules
Hallo,
ich habe gerade ein Problem mit einem Setup für LAN-Rules. Dieses hatte ich vor einiger Zeit schon eingerichtet und auch erfolgreich getestet, doch leider musste ich heute feststellen das es nun wieder nicht funktioniert. Folgendes hatte ich mir gedacht:
Ich wollte den Clients in einem bestimmten Subnetz die Möglichkeit entziehen das Internet auf direktem Wege zu erreichen... also habe ich folgende zwei Rules erstellt...
Reject IPv4/TCP 10.0.1.0/24 * * 80 * none
Reject IPv4/TCP 10.0.1.0/24 * * 443 * none
Da gesamte Netz lautet 10.0.0.0/20. Damit die Clients dennoch im Internet surfen können, habe ich ein WPAD und einen Squid. Es soll alles über Port 3128 laufen. Das würde, nach meinem Verständnis, bedeuten das alle Rechner die nicht den Proxy konfiguriert haben, auch nicht ins Internet kommen. Oder?
Leider ist dies nicht der Fall, alle Clients könnten auch in Internet ohne den Proxy zu verwenden. Wo also liegt der Fehler? Rules die ganz oben angeordnet sind, genießen doch höhere Priorität, oder? Also wenn es oben geblockt wird und unten eine Rule die es reintheoretisch wieder aufheben würde, sollte es dennoch geblockt werden. Oder ist es anders herum?
Gruß
ich habe gerade ein Problem mit einem Setup für LAN-Rules. Dieses hatte ich vor einiger Zeit schon eingerichtet und auch erfolgreich getestet, doch leider musste ich heute feststellen das es nun wieder nicht funktioniert. Folgendes hatte ich mir gedacht:
Ich wollte den Clients in einem bestimmten Subnetz die Möglichkeit entziehen das Internet auf direktem Wege zu erreichen... also habe ich folgende zwei Rules erstellt...
Reject IPv4/TCP 10.0.1.0/24 * * 80 * none
Reject IPv4/TCP 10.0.1.0/24 * * 443 * none
Da gesamte Netz lautet 10.0.0.0/20. Damit die Clients dennoch im Internet surfen können, habe ich ein WPAD und einen Squid. Es soll alles über Port 3128 laufen. Das würde, nach meinem Verständnis, bedeuten das alle Rechner die nicht den Proxy konfiguriert haben, auch nicht ins Internet kommen. Oder?
Leider ist dies nicht der Fall, alle Clients könnten auch in Internet ohne den Proxy zu verwenden. Wo also liegt der Fehler? Rules die ganz oben angeordnet sind, genießen doch höhere Priorität, oder? Also wenn es oben geblockt wird und unten eine Rule die es reintheoretisch wieder aufheben würde, sollte es dennoch geblockt werden. Oder ist es anders herum?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 326842
Url: https://administrator.de/forum/pfsense-probleme-mit-wirksamkeit-von-rules-326842.html
Ausgedruckt am: 11.04.2025 um 19:04 Uhr
12 Kommentare
Neuester Kommentar
Die Erste zutreffende Regel von "oben" wird angewendet.
Die weiteren Regeln werden nicht mehr angewendet.
Dein Setup scheint im Ansatz richtig zu sein:
1. Reject IPv4/TCP 10.0.1.0/24 * * 80 * none
2. Reject IPv4/TCP 10.0.1.0/24 * * 443 * none
3. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
4. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
verbietet 10.0.01.0/24 Zugriff nach 0.0.0.0 auf HTTP(S)
enable mal logging für die allow Regeln
CH
Die weiteren Regeln werden nicht mehr angewendet.
Dein Setup scheint im Ansatz richtig zu sein:
1. Reject IPv4/TCP 10.0.1.0/24 * * 80 * none
2. Reject IPv4/TCP 10.0.1.0/24 * * 443 * none
3. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
4. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
verbietet 10.0.01.0/24 Zugriff nach 0.0.0.0 auf HTTP(S)
enable mal logging für die allow Regeln
CH
3. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
4. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
Ist ja auch ein bischen sinnfrei hier ! 2mal die gleiche Regel ist ja etwas überflüssig. Vermutlich aber ein Dreckfuhler und die 2te 80 sollte sicher eine 443 sein, oder ?!4. Allow IPv4/TCP 10.0.0.0/20 * * 80 * none
So oder so wäre diese Regel auch unsinnig für das was der TO vorhat, sprich also nur Traffic für TCP 3128 passieren zu lassen aus einem /20er Netz.
Welchen tieferen Sinn sollte es dann haben gerade den Hostbereich von 10.0.1.1 bis 10.0.1.254 aus seinem gesamten /20er Netz rauszufiltern, das wäre ja Blödsinn !
Sein Host Adressbereich geht ja von 10.0.0.1 bis 10.0.15.254 !!
Wenn ein Endgerät also eine 10.0.2.1 hat oder irgendwas was nicht in dem o.a. Bereich liegt, kommt es ja trotzdem durch. Insofern ist der Filer mit der /24er Maske doch sinnfrei.
Richtig müsste es lauten:
Allow IPv4/TCP Source: 10.0.0.0/20, Port: any -> Desination: <ip_adresse_proxy>, Port: TCP 3128
Fertig !
Deny any any ist danach dann default so das kein explizites Deny mehr erforderlich ist.
Das lässt dann nur Connections aus dem 10.0.0.0 /20 Segment auf die Proxy IP mit Port TCP 3128 zu. Alles andere wird geblockt, natürlich auch inklusive TCP 80 und 443.
Sinnigerweise erlaubt man vorher auch noch DNS, damit auch Namensauflösungen klappen
Ich möchte aber nur das die Adressen aus dem Subnetz 10.0.1.0/24 nicht direkt ins Internet kommen.
So ein Subnetz hast du ja aber gar nicht auf deiner Firewall !!!Du gibst ja selber oben an das dein LAN Segment einen /20er Prefix hat also 10.0.0.0/20. Das bedeutet dann einen Hostadressbereich von 10.0.0.1 bis 10.0.15.254 !!
Die /24er Regel oben filtert damit lediglich einen Host (Endgeräte) Adressbereich von 10.0.1.1 bis 10.0.1.254 heraus ignoriert aber alle anderen IP Endgeräte Adressen in deinem /20er Netzwerk Segment.
Folglich kommen also ALLE anderen IP Endadressen außer der .1.1-.254 Range weiterhin direkt ins Internet.
Es reicht also wenn sich jemand nur statisch selber eine IP aus dem freien Bereich gibt um dann am Proxy vorbei direkt ins Internet zu kommen.
Ist das so gewollt ?? Vermutlich wohl nicht, oder ?
Gut, wenn du die inverse Logik nimmst also eine ALLOW Rule einzig nur für diesen Hostbereich, dann kommen nur Hosts aus dem Bereich nach draussen bzw. auf den Proxy und alles andere ist geblockt, das ist natürlich richtig.
Es wird aber so aus dem Posting nicht so ganz klar was das genaue Ziel deiner Regeln sein soll.
Ein Netzwerk Segment bzw. L2 Collision Domain mit 4094 möglichen Hosts zu verwenden ist ja nun auch nicht gerade das gelbe vom Ei aber egal, wenns nun rennt ist alles gut...
Das ist schlicht falsch !
NAT hat nichts mit Allow Rules zu tun und vice versa. Erstmal ist es abhängig davon an welchem Port überhaupt NAT aktiviert ist.
Allow Rules kann man ja auch zwischen nicht NAT aktivierten Ports machen wie den LAN oder ggf. VLAN Ports. Richtig ist nur das auf jedem Port einer Firewall im Default Deny any any gilt und alles explizit verboten ist. Erlaubt ist nur was auch explizit mit Allow Regeln definiert ist. Klassischer Grundsatz einer Firewall....
Du würfelst hier also diverse Dinge im freien Fall völlig durcheinander.
NAT hat nichts mit Allow Rules zu tun und vice versa. Erstmal ist es abhängig davon an welchem Port überhaupt NAT aktiviert ist.
Allow Rules kann man ja auch zwischen nicht NAT aktivierten Ports machen wie den LAN oder ggf. VLAN Ports. Richtig ist nur das auf jedem Port einer Firewall im Default Deny any any gilt und alles explizit verboten ist. Erlaubt ist nur was auch explizit mit Allow Regeln definiert ist. Klassischer Grundsatz einer Firewall....
Du würfelst hier also diverse Dinge im freien Fall völlig durcheinander.