Discussion:
Firewall: Logik in Abfolge der Regeln
(zu alt für eine Antwort)
K. Dreier
2019-02-12 12:53:01 UTC
Permalink
Hallo,

möchte fragen zum sichergehen:
PF_FORWARD[1]='IP_NET_2 IP_NET_3 REJECT'
PF_FORWARD{2]='IP_NET_2 ACCEPT'

Regel 1 verbietet NET_2 den Zugriff auf NET_3.
Regel 2 erlaubt den Zugriff von NET_2 _nur_ auf alles andere (z.B.
NET_4), nicht aber auch - doch wieder - auf NET_3. Ist das so richtig?

Wenn dem so ist, dann wÀre Obiges insofern der korrekte Weg, um z.B.
einem VLAN den Zugriff auf ein anderes VLAN zu verbieten, richtig? Denn
ich brauche schliesslich ja noch ein z.B. IP_NET_2 ACCEPT, um diesem
Netz ultimativ den Zugang ins WAN zu ermöglichen.
Falls das so nicht stimmt: was wÀre richtig?

Danke!

Gruß
Klaus
Peter Schiefer
2019-02-12 15:19:04 UTC
Permalink
Hallo Klaus,
Post by K. Dreier
PF_FORWARD[1]='IP_NET_2 IP_NET_3 REJECT'
PF_FORWARD{2]='IP_NET_2 ACCEPT'
Regel 1 verbietet NET_2 den Zugriff auf NET_3.
Regel 2 erlaubt den Zugriff von NET_2 _nur_ auf alles andere (z.B.
NET_4), nicht aber auch - doch wieder - auf NET_3. Ist das so richtig?
korrekt - der Paketfilter wird von oben nach unten abgearbeitet.
Zur Kontrolle kannst Du dein obigen Regeln via
iptables -nvL FORWARD-middle auf dem fli4l ansehen.
Post by K. Dreier
Wenn dem so ist, dann wäre Obiges insofern der korrekte Weg, um z.B.
einem VLAN den Zugriff auf ein anderes VLAN zu verbieten, richtig? Denn
ich brauche schliesslich ja noch ein z.B. IP_NET_2 ACCEPT, um diesem
Netz ultimativ den Zugang ins WAN zu ermöglichen.
Gruß Peter

P.S. ich habe das eben auch auf meinem fli4l kontrolliert.
K. Dreier
2019-02-13 11:14:57 UTC
Permalink
Hallo,

super, danke dir!

Ich habe dabei bemerkt, daß ein Eintrag wie

PF_FORWARD[]='tmpl:dns IP_NET_3 @client1 ACCEPT BIDIRECTIONAL'

dazu fÃŒhrt, daß man z.B. auch auf ein Webinterface von client1 kommt,
da dies leider nicht via zusÀtzlichem Port wie z.B. 8080 angesteuert
wird, sondern eben via 80/443. Dies jedenfalls dann, wenn ich am Ende
der Kette noch ein

PF_FORWARD[]='IP_NET_3 ACCEPT'

setze, da es ohne scheinbar kein "Internet" gibt. Ich habe also nun
insofern das ganze so aufgebaut:

PF_FORWARD[]='tmpl:http IP_NET_3 @client1 REJECT'
PF_FORWARD[]='tmpl:https IP_NET_3 @client1 REJECT'
PF_FORWARD[]='tmpl:dns IP_NET_3 @client1 ACCEPT BIDIRECTIONAL'
PF_FORWARD[]='IP_NET_3 ACCEPT'

Das scheint zu klappen, sprich Zugriff auf den DNS-Server auf client1
ist möglich (sprich er beantwortet FQDN-Anfrage korrekt) und Zugriff
auf das Webinterface nicht (wie gewÃŒnscht).

Allerdings funktioniert das ganze eben nur, wenn ich noch das IP_NET_3
ACCEPT setze. Was routet fli4l denn hier aus dem NET_3 dann zusÀtzlich
noch (wo hin)? Geht dann z.B. ein 80/443 noch ins WAN-Netz?
Anders gefragt: wenn NET_1 meine WAN-NIC ist, muß ich eine
Forward-Accept-Regel fÃŒr meine internen Netze auf dieses NET_1 haben?
Dies wÀre ja bei 'IP_NET_3 ACCEPT' der Fall, da darin enthalten. Ich
meine hier mal irgendwo gelesen zu haben, daß es eigentlich keine
Forward-Regeln ins Netz der WAN-NIC braucht?

Gruß
Klaus

Loading...