Mac OSX Firewall-Tool pf

Versuch im Skript en0 durch en1 zu ersetzen. Ich seh gerade, dass du 2 aktive Netzwerkadapter hast, einmal en0 mit IP 192.168.178.53 und einmal en1 mit IP 192.168.178.44, ist das Absicht?

Du kannst auch für beide Netzwerkadapter das Skript erweitern, indem du obige Regeln zwar mit en0 lässt und dieselben nur für en1 hinzufügst, das hat denselben Effekt. Du öffnest damit die FW für beide aktiven Adapter.

Und dein OpenVPN Adapter heißt bei dir utun0, statt tun0. Wenn das also mit den Anpassungen weiter unten nicht klappt, dann ersetze mal tun0 durch utun0.

Also so:

Code:
block all
pass in on lo0 all
pass out on lo0 all
pass out on en0 proto udp to any port {1151,150,151,149,1149,1150,53,5353} keep state
pass out on en0 proto tcp to any port {1152,152} keep state
pass out on en0 to 192.168.2.0/24
pass in on en0 from 192.168.2.0/24
pass out on en1 proto udp to any port {1151,150,151,149,1149,1150,53,5353} keep state
pass out on en1 proto tcp to any port {1152,152} keep state
pass out on en1 to 192.168.2.0/24
pass in on en1 from 192.168.2.0/24
pass out on tun0 all keep state
 
Hi,

vielen Dank für Deine Hilfe, jetzt funktioniert alles so wie es soll :) Das mit den zwei aktiven Netzwerkadaptern ist eigentlich nicht gewollt, aber jetzt sind sie ja beide abgesichert. Ehrlich gesagt, weiss ich auch nicht wieso es zwei sind.
 
Naja ich schätze du hast sowohl LAN als auch WLAN aktiv, daher 2 aktive Adapter. Aber ist wie du schon sagtest egal, da der Schutz alle einbezieht. Für die, die raus wollen müssen Ausnahmen her.
 
Ich versuche gerade herauszufinden welche Ports ich öffnen muss um das ganze mit (dem Mac OS X nativen) L2TP über IPSec zum laufen zu kriegen.

Soweit bin ich schon (en0 ist mein WiFi):

block all
pass in on lo0 all
pass out on lo0 all
pass on en0 proto esp from any to any keep state
pass on en0 proto udp from any to any port {500,1701}
pass out on tun0 all keep state


(Das ESP Protokoll und die UDP ports habe ich auf https://en.wikipedia.org/wiki/Layer_2_Tunneling_Protocol gefunden)

Leider wird dennoch alles geblockt obwohl ich mit dem PP server verbunden bin via L2TP/IPSec (die Verbindung bleibt interessanterweise bestehen..).

Ich würde mich über Tips freuen. Google hat mich mehr verwirrt, als geholfen :)
 
Hi, wenn du die Verbindung zum L2TP/IPsec herstellen kannst, dann musst du noch den Traffic auf dem virtuellen device freischalten genauso wie beim tun device für OpenVPN. Mit nem ifconfig nach erfolgter Verbindung siehst du wie das device heißt, dafür dann die Ausnahme hinzufügen.
 
Ah! Danke für das fehlende Puzzleteil, es heißt ppp0 :)

Das hier funktioniert für mich:

# Block everything by default
block all

# Allow all packets on local loopback interface
set skip on lo0

# Allow L2TP/Ipsec to establish a tunnel
pass out on en0 proto udp from any to any port { 53,500,1701,4500 } keep state
pass on en0 proto esp from any to any

# Allow outgoing traffic through VPN
pass out on ppp0 all keep state
 
Hm, ein kleines Problem habe ich noch.

Die Regeln funktionieren wie sie sollen, aber wenn ich meine Airport-Wifi-Verbindung trenne und neu verbinde, dann klagt Airport natürlich über "Keine Verbindung zum Internet" (es wird ein Ausrufezeichen im Airport-Icon angezeigt). Bin ich einmal mit dem WLAN verbunden, kann ich die Regeln jedoch aktivieren und es funktioniert alles. Die WLAN-Verbindung wird auch nicht getrennt.

So lange ich das Ausrufezeichen habe, kann ich keine L2TP Verbindung erstellen. Beißt sich hier die Katze in den Schwanz? Ohne Internet kein VPN, ohne VPN kein Internet :)

Welche Ports müsste ich noch öffnen um Airport zufriedenzustellen? Ich habe UDP 1151,150,151,149,1149,1150,53,5353,500,1701,4500 und TCP 1152,152 offen zum testen, das reicht aber immer noch nicht.

Danke für die Zeit.

PS: Ich wünsche mir ein Perfect-Privacy Cocoa-Tool, dass die Verbindungen einrichtet, die Firewall zu macht, und dann die Verbindung überwacht :)
 
​In der Tat, das war genug um Airport zufrieden zu stellen. Jetzt funktioniert alles wie gewollt.

Vielen Dank.
 
Hey Jack, habe mal wieder Zeit gefunden um mich hier zu melden
smile.png


Deine Firewall Regeln funktionieren ohne Probleme unter Yosemite !

Was die Firewall Regeln betrifft habe ich eine Frage an dich.
Ich habe mal wieder Amule aus den Tiefen meiner HDD rausgeholt und installiert. (ja ja, lach nicht
wink.png
, das Tool gibt es noch)
Nur bekomme ich es mit aktivierter Firewall nicht zum Laufen.
Genauer gesagt, bekomme ich eine LOW ID (der TCP und UDP Port sind anscheinend dicht), obwohl ich es in den Firewall Regeln eingetragen haben.

Der Port 0815 ist für Amule

Code:
block all
pass in on lo0 all
pass out on lo0 all
pass out on en0 proto udp to any port {1151,150,151,149,1149,1150,53,5353,0815} keep state
pass out on en0 proto tcp to any port {1152,152,0815} keep state
pass out on en0 to 192.168.178.0/24
pass in on en0 from 192.168.178.0/24
pass out on tun0 all keep state

Wenn ich die Firewall deaktiviere bekomme ich eine HIGH ID (TCP und UDP Port sind offen)
Was mache ich falsch?
Hast du eine Idee?


PS: Und bitte keine Kommentare über Amule, warum ich den verwende! Ich verwende ihn nur zum Spaß, da ich ihn zufällig auf der HDD gefunden habe.
Wenn wir keine Lösung finden macht es auch nichts, ist wie gesagt nur Just for Fun


THX
 
Du brauchst ein

Code:
pass in on tun0 all keep state

für eingehende Verbindungen auf tun0. Amule braucht offene Ports ausgehend wie eingehend.
 
Hey Jack.

Ich habe es sofort in die Tat umgesetzt.
Was soll ich sagen, es läut jetzt ohne Probleme :):):)

Wie immer bleibt mir nur ein fettes DANKE für die Unterstützung zu sagen.

PS: Du könntest den Code noch im Script hinzufügen.
 
Super!

Ich habe da noch eine Frage:

Ist es ein Sicherheitsrisiko, wenn ich die Ports für tun0 eingehend offen lasse, auch wenn momentan keine Software eigehende Ports braucht?
 
Ist immer ein Risiko, wenn man die Hütte nach innen aufmacht. Im Falle vom nach aussen offenen Ports, sind eingehende Verbindungen nur erlaubt für Antwortpakete auf von dir initiierte Verbindungen, also du surfst auf ne Seite und die Antwort wird durchgelassen. Machst du die Ports eingehend auf, können von aussen initiierte Verbindungen zu dir gelangen, da das allerdings via tun0 läuft und du dazu ja n Port Forward bei PP schalten musst, dass das überhaupt geht, ist das Risiko sehr gering. tun0 läuft ja auf ner IP, die aus'm Internet nicht direkt angesprochen werden kann, sondern nur über den VPN Server.
 
Ah mein Fehler, hab nicht gelesen, dass für Yosemite...Da startet es :)

Wenn ich Activate Filter setze, sollte dann die FW aktiv sein?

Egal was ich da anhake, es wird nix geblockt. Der Traffic geht immer raus.

Und evtl noch das Helper Tool beenden mit Ende der App, sonst bleibt das als root Prozess aktiv, ohne dass es benötigt wird.
 
Wenn ich Activate Filter setze, sollte dann die FW aktiv sein?

Richtig. Aktivieren entspricht `pfctl -e -a "com.apple/249.Brick" -f /path/to/custom/config/file` und deaktivieren entspricht `pfctl -a "com.apple/249.Brick" -Fa`

Siehe https://github.com/halo/Brick/blob/master/BrickLayer/Classes/BrickLayer.m#L57-L67

Egal was ich da anhake, es wird nix geblockt. Der Traffic geht immer raus.

Ist deine `/etc/pf.conf` modifiziert oder hast du `pfctl` mit `-f` selber gestartet?

Mir ist auch schon aufgefallen, dass der Traffic z. B. im Browser trotzdem weiter geht aber Anfragen mit `curl` unmittelbar blockiert werden. Ich dachte, dass `-Fa` auch alle states schließen würde, bereits bestehende Verbindungen scheinen aber manchmal dennoch weiterzulaufen.

Und evtl noch das Helper Tool beenden mit Ende der App, sonst bleibt das als root Prozess aktiv, ohne dass es benötigt wird.

Ah, schlau! Hast du eigentlich einen Github account? Das wäre leichter dort mit Issues (wohl dann auf Englisch) zu arbeiten.
 
Back
Top