Discussion:
Again ipfw
(zu alt für eine Antwort)
Basar Alabay
2010-12-09 15:20:22 UTC
Permalink
Moins,

vor längerem hatte ich hier ja mit tatkräftiger Unterstützung einiger
(vor allem Stefans) eine ipfw Konfiguration für das MacBook entworfen.

Zu Hause klappt das auch wunderbar. Nur, wenn man nun im Uninetz hängt,
läuft es nicht :-/

Meine Konfiguration:

add 01000 allow ip from any to any via lo*
add 01100 allow icmp from any to any
add 01300 deny log ip from 127.0.0.0/8 to any in
add 01400 deny log ip from any to 127.0.0.0/8 in
add 01600 allow tcp from any to any frag
add 10000 check-state
add 10100 reset tcp from any to any established in
add 10200 allow tcp from me to any setup keep-state
add 10300 allow udp from me to any keep-state
add 10400 allow udp from any 67 to any dst-port 68 in keep-state
add 25200 allow tcp from 192.168.1.0/24 to any setup in keep-state
add 25300 allow udp from 192.168.1.0/24 to any in keep-state
add 65100 deny ip from any to any
add 65535 allow ip from any to any

Jetzt habe ich halt das Problem, daß in der Uni, je nach Zugang (läuft
grundsätzlich via IPsec) folgende Netze greifen könnten:

Mögliche WLAN Netze sind:
10.201.0.0/16
10.202.0.0/16
10.203.0.0/16
10.204.0.0/16
10.205.0.0/16
10.206.0.0/16
10.207.0.0/16
10.208.0.0/16
10.102.0.0/16
10.108.0.0/16

Mögliche VPN Netze nach dem Verbinden aus dem WLAN heraus:
132.230.190.0/24
132.230.191.0/24
132.230.192.0/24
132.230.193.0/24

Ächz. Un'nu?

Gibt es da nicht irgendwie eine “sich logisch anpassende³ flexible
Regel, mit der man an Stelle 25200 und 25300 praktisch das vorgefundene
Netz “annehmen³ kann?

Wenn ich bei einem Bekannten wäre, würde sein Netz ja wieder anders
sein. Kann man das “verallgemeinern³?

Gruß,
B. Alabay
Stefan Nobis
2010-12-09 16:27:33 UTC
Permalink
Gibt es da nicht irgendwie eine “sich logisch anpassende³ flexible
Regel, mit der man an Stelle 25200 und 25300 praktisch das
vorgefundene Netz “annehmen³ kann?
IIRC müsste das Schlüsselwort "me" helfen, also sowas wie

add 25200 allow tcp from me to any setup in keep-state
--
Stefan.
Basar Alabay
2010-12-10 07:18:11 UTC
Permalink
Post by Stefan Nobis
IIRC müsste das Schlüsselwort "me" helfen, also sowas wie
add 25200 allow tcp from me to any setup in keep-state
Dann würde me aber das ersetzen, von “wo³ zugelassen wurde, das war ja
“das Netz³ (zu Hause). Ich muß das mal probieren. Was sagst Du zur von
Jürgen genannten Konfiguration? Was ist da der Unterschied?

Gruß,
B. Alabay
Basar Alabay
2010-12-10 15:14:35 UTC
Permalink
Post by Stefan Nobis
IIRC müsste das Schlüsselwort "me" helfen, also sowas wie
add 25200 allow tcp from me to any setup in keep-state
Hm, also bei einer VPN-Verbindung via Proxy der Uni habe ich so wieder
keine Verbindung ins Netz. Echt unlösbar :-(

B. Alabay
Basar Alabay
2010-12-12 21:26:28 UTC
Permalink
Post by Stefan Nobis
add 25200 allow tcp from me to any setup in keep-state
Danach läuft kein Screensharing und kein iChat mehr.

B. Alabay
Juergen P. Meier
2010-12-10 04:54:41 UTC
Permalink
Post by Basar Alabay
Zu Hause klappt das auch wunderbar. Nur, wenn man nun im Uninetz hängt,
läuft es nicht :-/
Gar kein IPv6?
Post by Basar Alabay
add 01000 allow ip from any to any via lo*
add 01100 allow icmp from any to any
add 01300 deny log ip from 127.0.0.0/8 to any in
add 01400 deny log ip from any to 127.0.0.0/8 in
add 01600 allow tcp from any to any frag
add 10000 check-state
add 10100 reset tcp from any to any established in
add 10200 allow tcp from me to any setup keep-state
add 10300 allow udp from me to any keep-state
Bei den beiden solltest du out dazuschreiben.
Post by Basar Alabay
add 10400 allow udp from any 67 to any dst-port 68 in keep-state
add 25200 allow tcp from 192.168.1.0/24 to any setup in keep-state
add 25300 allow udp from 192.168.1.0/24 to any in keep-state
Zuhause.
Post by Basar Alabay
add 65100 deny ip from any to any
In der Uni gilt diese Regel. Natuerlich funktioniert damit nichts.
Post by Basar Alabay
Jetzt habe ich halt das Problem, daß in der Uni, je nach Zugang (läuft
Ächz. Un'nu?
Keine Pauschalfreigaben verwenden. Einfach.
Post by Basar Alabay
Gibt es da nicht irgendwie eine “sich logisch anpassende³ flexible
Regel, mit der man an Stelle 25200 und 25300 praktisch das vorgefundene
Netz “annehmen³ kann?
Wozu?
Post by Basar Alabay
Wenn ich bei einem Bekannten wäre, würde sein Netz ja wieder anders
sein. Kann man das “verallgemeinern³?
# DNS Replies
31900 allow udp from any 53 to any in
# UDP Protocola: DHCP, tftp, NTP, ?, mDNS replies
32200 allow udp from any to any dst-port 67,68,69,123,5052,5353 in
# allow local Services: SSH, ident, HTTP and VNC
32300 allow tcp from any to any dst-port 22,113,80,443,5900 in
32400 allow icmp from any to any
# Slient Drops:
32500 deny tcp from any to any dst-port 137-139,445
32600 deny udp from any to any dst-port 137-139,445
# Avoid self-mutilation by timeouts:
32700 reset log tcp from any to any
33200 unreach filter-prohib log ip from any to any

Apache (Webserver) und VNC (Desktop Sharing) sollten unabhaengig vom
Paketfilter-Regelwerk nur dann eingeschaletet werden, wenn sie auch
als Dienst fuer Andere angeboten sein sollen. Ggf. mit
Zugriffsregelung in der jeweiligen Dienste-Konfiguration.

Bei 5052 weis ich grade nicht auswendig, warum ich das in meinem
Regelwerk habe. Du bruachst das also vermutlich nicht. TFTP (69)
bruachst du wohl auch nicht (ich bruachs weil ich auch mal
Router-Firmware updaten muss).

Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
Basar Alabay
2010-12-10 07:15:40 UTC
Permalink
Post by Juergen P. Meier
Gar kein IPv6?
Nö, davon habe ich eh noch so gut wie keine Ahnung ;-)
Post by Juergen P. Meier
Post by Basar Alabay
add 10200 allow tcp from me to any setup keep-state
add 10300 allow udp from me to any keep-state
Bei den beiden solltest du out dazuschreiben.
Warum?
Post by Juergen P. Meier
Post by Basar Alabay
add 10400 allow udp from any 67 to any dst-port 68 in keep-state
add 25200 allow tcp from 192.168.1.0/24 to any setup in keep-state
add 25300 allow udp from 192.168.1.0/24 to any in keep-state
Zuhause.
Genau.
Post by Juergen P. Meier
Post by Basar Alabay
add 65100 deny ip from any to any
In der Uni gilt diese Regel. Natuerlich funktioniert damit nichts.
Eben.
Post by Juergen P. Meier
Post by Basar Alabay
Jetzt habe ich halt das Problem, daß in der Uni, je nach Zugang (läuft
Ächz. Un'nu?
Keine Pauschalfreigaben verwenden. Einfach.
Du meinst, keine exakten, sondern sich anpassenden?
Post by Juergen P. Meier
Post by Basar Alabay
Gibt es da nicht irgendwie eine ?sich logisch anpassende3 flexible
Regel, mit der man an Stelle 25200 und 25300 praktisch das vorgefundene
Netz ?annehmen3 kann?
Wozu?
Um meine Konstruktion, die ich ja nachvollziehen kann, überall
funktionieren zu lassen, nur daß sich die Konstruktion dem gegebenen
Netz anpaßt.
Post by Juergen P. Meier
Post by Basar Alabay
Wenn ich bei einem Bekannten wäre, würde sein Netz ja wieder anders
sein. Kann man das ?verallgemeinern3?
# DNS Replies
31900 allow udp from any 53 to any in
# UDP Protocola: DHCP, tftp, NTP, ?, mDNS replies
32200 allow udp from any to any dst-port 67,68,69,123,5052,5353 in
# allow local Services: SSH, ident, HTTP and VNC
32300 allow tcp from any to any dst-port 22,113,80,443,5900 in
32400 allow icmp from any to any
Alles?
Post by Juergen P. Meier
32500 deny tcp from any to any dst-port 137-139,445
Dieses 139 habe ich eh nie so recht verstanden. Aber ich bilde mir ein,
daß es mal irgendwo benötigt wurde und etwas (ohne es) klemmte.
Post by Juergen P. Meier
32600 deny udp from any to any dst-port 137-139,445
32700 reset log tcp from any to any
33200 unreach filter-prohib log ip from any to any
Was ist das?
Post by Juergen P. Meier
Apache (Webserver) und VNC (Desktop Sharing) sollten unabhaengig vom
Paketfilter-Regelwerk nur dann eingeschaletet werden, wenn sie auch
als Dienst fuer Andere angeboten sein sollen.
Apache interessiert nicht, VNC sehr wohl. VNC und auch SSH sind recht
restriktiv.
Post by Juergen P. Meier
Bei 5052 weis ich grade nicht auswendig, warum ich das in meinem
Regelwerk habe. Du bruachst das also vermutlich nicht. TFTP (69)
bruachst du wohl auch nicht (ich bruachs weil ich auch mal
Router-Firmware updaten muss).
Hm, ich nutze FTPS und SFTP. Aber nicht auf dem Laptop.

Und wo ist da jetzt die IPv6 Konfiguration? Oder ist das dann einfach
dupliziert? Dynamische Regeln sind da keine, oder? Warum?

B. Alabay
Dirk Kring
2010-12-10 13:24:12 UTC
Permalink
Post by Basar Alabay
Post by Juergen P. Meier
32500 deny tcp from any to any dst-port 137-139,445
Dieses 139 habe ich eh nie so recht verstanden. Aber ich bilde mir ein,
daß es mal irgendwo benötigt wurde und etwas (ohne es) klemmte.
Netbios, brauche ich bei OS 10.5 zum Beispiel um auf einen Windows 2008
Server mit DFS (Distributed File System) zu kommen, also
smb://server:139/share
Haste aber wohl hier komplett ausgeschaltet.
--
Dirk Kring
Juergen P. Meier
2010-12-11 07:42:27 UTC
Permalink
Post by Basar Alabay
Post by Juergen P. Meier
Post by Basar Alabay
add 10200 allow tcp from me to any setup keep-state
add 10300 allow udp from me to any keep-state
Bei den beiden solltest du out dazuschreiben.
Warum?
Einfaches Antispoofing.
Post by Basar Alabay
Post by Juergen P. Meier
Post by Basar Alabay
Gibt es da nicht irgendwie eine ?sich logisch anpassende3 flexible
Regel, mit der man an Stelle 25200 und 25300 praktisch das vorgefundene
Netz ?annehmen3 kann?
Wozu?
Um meine Konstruktion, die ich ja nachvollziehen kann, überall
funktionieren zu lassen, nur daß sich die Konstruktion dem gegebenen
Netz anpaßt.
Ein Kollege hatte seine ipfw-scripte an die Netzwerk-Locations
gebunden. Mittels automator geht das. Allerdings kenne ich die Details
nicht mehr.
Post by Basar Alabay
Post by Juergen P. Meier
Post by Basar Alabay
Wenn ich bei einem Bekannten wäre, würde sein Netz ja wieder anders
sein. Kann man das ?verallgemeinern3?
# DNS Replies
31900 allow udp from any 53 to any in
# UDP Protocola: DHCP, tftp, NTP, ?, mDNS replies
32200 allow udp from any to any dst-port 67,68,69,123,5052,5353 in
# allow local Services: SSH, ident, HTTP and VNC
32300 allow tcp from any to any dst-port 22,113,80,443,5900 in
32400 allow icmp from any to any
Alles?
Ja. Mac OS X hat keine bekannte Schwachstelle bezueglich diverser
ICMP-Protokolle, also ist es sinnfrei das per Hostbased-PF zu filtern.
Post by Basar Alabay
Post by Juergen P. Meier
32500 deny tcp from any to any dst-port 137-139,445
Dieses 139 habe ich eh nie so recht verstanden. Aber ich bilde mir ein,
daß es mal irgendwo benötigt wurde und etwas (ohne es) klemmte.
Nur wenn du Windos-Shares *Anbietest*.
Post by Basar Alabay
Post by Juergen P. Meier
32600 deny udp from any to any dst-port 137-139,445
32700 reset log tcp from any to any
33200 unreach filter-prohib log ip from any to any
Was ist das?
Das sorgt dafuer, dass verbotene Zugriffe mit entsprechenden
Rueckmeldungen abglehnt werden. Damit musst du z.B. bei Mailservern,
die ident-requests machen oder beim IRC-Server der Uni nicht jedesmal
ewig warten bis der auf seine Timeouts laeuft, wenn du was von ihnen
willst.
Post by Basar Alabay
Post by Juergen P. Meier
Apache (Webserver) und VNC (Desktop Sharing) sollten unabhaengig vom
Paketfilter-Regelwerk nur dann eingeschaletet werden, wenn sie auch
als Dienst fuer Andere angeboten sein sollen.
Apache interessiert nicht, VNC sehr wohl. VNC und auch SSH sind recht
restriktiv.
SSH laesst sich bei OSX deutlich besser absichern als der eingebaute
VNC-Server. Darum bietet sich an, VNC ausschliesslich ueber ssh
getunnelt zu erlauben (per ipfw verbieten - die kommunikation ueber
loopback ist ja ganz zu beginn des Regelwerks pauschal erlaubt)
Post by Basar Alabay
Und wo ist da jetzt die IPv6 Konfiguration? Oder ist das dann einfach
dupliziert? Dynamische Regeln sind da keine, oder? Warum?
IPv6 hat ein paar subtile Unterschiede, deswegen kannst du ein
Regelwerk nicht einfach 1:1 umsetzen. Wenn ich wieder am Mac sitze,
kann ich dir ja mal ein IPv6-Basisregelwerk posten. HAb ich aber auch
glaub ich schon mal gemacht - such mal in Newsarchiven innerhalb von
de.* nach Postings von mir mit dem text ipfw6.

Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
Basar Alabay
2010-12-11 08:36:27 UTC
Permalink
Post by Juergen P. Meier
Ein Kollege hatte seine ipfw-scripte an die Netzwerk-Locations
gebunden. Mittels automator geht das. Allerdings kenne ich die Details
nicht mehr.
Hoho, das dürfte was für Oberblicker sein ;-)
Post by Juergen P. Meier
Post by Basar Alabay
Post by Juergen P. Meier
32500 deny tcp from any to any dst-port 137-139,445
Dieses 139 habe ich eh nie so recht verstanden. Aber ich bilde mir ein,
daß es mal irgendwo benötigt wurde und etwas (ohne es) klemmte.
Nur wenn du Windos-Shares *Anbietest*.
Hm, kann ich mich jetzt, ehrlich gesagt, nicht erinnern, daß ich das
getan hätte. Aber irgendwann mal gab es ein Problem mit dieser ominösen
139. Ich kann mich nicht mehr erinnern. Klar, ich habe ein Windows, das
sporadisch in einer VM läuft, ohne Serverdienste, aber ob es das war?
Oder ob es irgendwas in der Uni betraf? Hm. Naja, egal.
Post by Juergen P. Meier
Post by Basar Alabay
Apache interessiert nicht, VNC sehr wohl. VNC und auch SSH sind recht
restriktiv.
SSH laesst sich bei OSX deutlich besser absichern als der eingebaute
VNC-Server. Darum bietet sich an, VNC ausschliesslich ueber ssh
getunnelt zu erlauben (per ipfw verbieten - die kommunikation ueber
loopback ist ja ganz zu beginn des Regelwerks pauschal erlaubt)
Ich muß diese gesamte Konstruktion mal ausprobieren.
Post by Juergen P. Meier
Post by Basar Alabay
Und wo ist da jetzt die IPv6 Konfiguration? Oder ist das dann einfach
dupliziert? Dynamische Regeln sind da keine, oder? Warum?
IPv6 hat ein paar subtile Unterschiede, deswegen kannst du ein
Regelwerk nicht einfach 1:1 umsetzen. Wenn ich wieder am Mac sitze,
kann ich dir ja mal ein IPv6-Basisregelwerk posten. HAb ich aber auch
glaub ich schon mal gemacht - such mal in Newsarchiven innerhalb von
de.* nach Postings von mir mit dem text ipfw6.
Ich probiere jetzt erstmal diese v4, ob das alleine schon hier zu Hause
funktioniert (Screensharing war oft ein großes Problem bei ipfw).

Gruß,
B. Alabay
Basar Alabay
2010-12-11 09:08:56 UTC
Permalink
Post by Basar Alabay
Ich probiere jetzt erstmal diese v4, ob das alleine schon hier zu Hause
funktioniert (Screensharing war oft ein großes Problem bei ipfw).
Ähm, ganz blöde Frage ...

Aber Deine genannten Regeln, die sind doch nicht nur ein reiner Zusatz,
oder? Die ersetzen doch manche von meinen? Oder steh ich jetzt auf dem
Schlauch?

Wenn ich mal alles zusammen schreibe:

add 01000 allow ip from any to any via lo*
add 01100 allow icmp from any to any
add 01300 deny log ip from 127.0.0.0/8 to any in
add 01400 deny log ip from any to 127.0.0.0/8 in
add 01600 allow tcp from any to any frag
add 10000 check-state
add 10100 reset tcp from any to any established in
add 10200 allow tcp from me to any setup out keep-state
add 10300 allow udp from me to any out keep-state
add 10400 allow udp from any 67 to any dst-port 68 in keep-state
add 25200 allow tcp from me to any setup in keep-state
add 25300 allow udp from me to any in keep-state
add 31900 allow udp from any 53 to any in
add 32200 allow udp from any to any dst-port 67,68,69,123,5052,5353 in
add 32300 allow tcp from any to any dst-port 22,113,80,443,5900 in
add 32400 allow icmp from any to any
add 32500 deny tcp from any to any dst-port 137-139,445
add 32600 deny udp from any to any dst-port 137-139,445
add 32700 reset log tcp from any to any
add 33200 unreach filter-prohib log ip from any to any
add 65100 deny ip from any to any
add 65535 allow ip from any to any

Dann werden doch 10200-10400 von 32200-32300, öh, ersetzt, oder? ;-) Was
ist dann mit "keep-state"?

Mann Mann Mann ... daß man nicht im Studium damals jedem Deppen, der auf
'ne Uni kommt zuerst mal solche Sachen um die Ohren haut :-/ Zum
AUtofahren muß man x Vorbereitungen treffen, aber an den Comp darf
jeder. Ich fühl mich gerade wieder wie der Oberdepp. Dieser ipfw-Mist
gelingt mir einfach nicht.

B. Alabay
Marc Stibane
2010-12-31 16:07:39 UTC
Permalink
Post by Basar Alabay
Ähm, ganz blöde Frage ...
Aber Deine genannten Regeln, die sind doch nicht nur ein reiner Zusatz,
oder? Die ersetzen doch manche von meinen? Oder steh ich jetzt auf dem
Schlauch?
Schade, dass es hier keine Antwort mehr gab.
Hätte mich auch interessiert...
Post by Basar Alabay
add 01000 allow ip from any to any via lo*
add 01100 allow icmp from any to any
add 01300 deny log ip from 127.0.0.0/8 to any in
add 01400 deny log ip from any to 127.0.0.0/8 in
add 01600 allow tcp from any to any frag
add 10000 check-state
add 10100 reset tcp from any to any established in
add 10200 allow tcp from me to any setup out keep-state
add 10300 allow udp from me to any out keep-state
add 10400 allow udp from any 67 to any dst-port 68 in keep-state
add 25200 allow tcp from me to any setup in keep-state
add 25300 allow udp from me to any in keep-state
add 31900 allow udp from any 53 to any in
add 32200 allow udp from any to any dst-port 67,68,69,123,5052,5353 in
add 32300 allow tcp from any to any dst-port 22,113,80,443,5900 in
add 32400 allow icmp from any to any
add 32500 deny tcp from any to any dst-port 137-139,445
add 32600 deny udp from any to any dst-port 137-139,445
add 32700 reset log tcp from any to any
add 33200 unreach filter-prohib log ip from any to any
add 65100 deny ip from any to any
add 65535 allow ip from any to any
Dann werden doch 10200-10400 von 32200-32300, öh, ersetzt, oder? ;-) Was
ist dann mit "keep-state"?
--
In a world without walls and fences,
who needs windows and gates?
Loading...