FTP / Firewall OS X

Läuft dein Mac OS X Firewall?

ach ich depp! das laeuft auf seinem ibook oder wie? *klatsch!

neineinein. bei mir laeuft der ftp unter debian. und da bin ich mit der firewall noch am basteln.

na - jetzt hab' sogar ich das problem erkannt.

aber waer auf dem mac dann nicht sowas einfacher: 'allow tcp from any to any out'?

gruessle,
sbx
 
starbuxx schrieb:
[...]
aber waer auf dem mac dann nicht sowas einfacher: 'allow tcp from any to any out'?

gruessle,
sbx

das ist sicherheitstechnisch aber super schlecht. alle verbindungen nach aussen erlauben, waere undenkbar. kann man ja alles einschleusen, was dann ne verbindung nach aussen oeffnet...
 
Zuletzt bearbeitet:
maceis schrieb:
Damit wird aber kein aktives ftp ermöglicht, oder schon? (würde mich sehr wundern)

nein, aber ich glaub das liegt eher an der implementierung der firewall, der lässt zwar pakete in eine richtung durch, merkt sich aber nicht NAT-mässig, ob eine verbindung nach aussen aufgebaut wurde, und nimmt dann die port 20 pakete die dann zurück kommen nicht mal auf port 21 bzw dem ziel port den der ftp client nennt auf...

maceis schrieb:
Ich finde die Sperre übrigens ganz gut.
Was würde denn passieren, wenn man auf der Kommandozeile (oder mit irgendwelchen Frontends) ne Menge Regeln konfiguriert, die dann in den Systemeinstellungen nicht angezeigt würden?
Das würde doch nur zu Verwirrung und Fehlkonfigurationen führen, oder?

klar würde es das, aber so sorgt es ja auch für verwirrung ;)
naja, ist ja nicht schwierig in den sharing prefs eine neue einfache rule zu machen.
fehlt zwar das fine tuning mit in/out, aber was solls...
 
@starbuxx:
ich selber ahbe da gar nix rumstehen,sondern ich will auf ftps zugreifen, die hinter einem router liegen (arbeitskollegen..=

@maceis

mit firewall AN:

p54a7ded5:~ jannis$ sudo ipfw list
Password:
02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any dst-port 21 in
12190 deny log tcp from any to any
65535 allow ip from any to any

mit FIREWALL AUS:
65535 allow ip from any to any


mit firewall AN und nach einagbe deines befehls:

10000 allow log tcp from 80.136.78.161 20 to any in

und dann funktioniert es nun auch mit AKTIVER firewall, aber jetzt haben wir ja dem rechner mit der ip 80.136.78.161 das freigeschaltet..jetzt ist es aber ja eine dynamische ip (normal zugang unter username.serveftp.org)
das heißt es geht ja nun nicht generell das ich auf ftps hintzer einem router zugreife oder? sondern nur bei dem einen wo ich die temporäre ip freigegeben habe?
 
Zuletzt bearbeitet:
Radiohead schrieb:
deshalb habe ich ja auch vom aktiven ftp geschrieben ;)
oh sorry, starbuxx schrieb PASV, das hab ich wohl vermischt ;.
Radiohead schrieb:
das ist sicherheitstechnisch aber super schlecht. alle verbindungen nach aussen erlauben, waere undenkbar. kann man ja alles einschleusen, was dann ne verbindung nach aussen oeffnet...
so ist das aber unter Mac OS X von Haus aus erst mal.
-----
oneOeight schrieb:
nein, aber ich glaub das liegt eher an der implementierung der firewall, der lässt zwar pakete in eine richtung durch, merkt sich aber nicht NAT-mässig, ob eine verbindung nach aussen aufgebaut wurde, und nimmt dann die port 20 pakete die dann zurück kommen nicht mal auf port 21 bzw dem ziel port den der ftp client nennt auf...
Die IPFW macht kein NAT, ist auch nicht ihre Aufgabe.
Der Zielport, den der Client nennt ist bei aktivem FTP für den Datenkanal immer Port 20, da dieser vom Server als Quellport verwendet wird. Den muss man aber nicht explizit öffnen, da es sich um eine "established" Verbindung handelt.

In Tiger ist die ipfw2 implementiert, die kann dynamische Regeln. Das geht aber ziemlich ans Eingemachte ;).

oneOeight schrieb:
...
fehlt zwar das fine tuning mit in/out, aber was solls...
Ich finde es sehr gut, wie Apple das gelöst hat. Eine einfache Oberfläche, die man ohne Spezialkenntnisse verstehen und bedienen kann. Wer sich mit den komplexen Möglichkeiten auskennt, kommt auch mit der Kommandozeile zurecht.
-------
Jannis schrieb:
...
jetzt ist es aber ja eine dynamische ip (normal zugang unter username.serveftp.org)
das heißt es geht ja nun nicht generell das ich auf ftps hintzer einem router zugreife oder? sondern nur bei dem einen wo ich die temporäre ip freigegeben habe?
Darum hatte ich ja auch zuerst any vorgeschlagen ;). Das müsste eigentlich auch gehen.
 
ok...also soll ich nochmal den ersten befehl ausführen (den du damals als erstes geschrieben hattest) und dann nochmal sudo ipfw list damit wir schauen können ob das geht?
 
mhm nach eingabe des befehls:
sudo ipfw add 10000 allow log tcp from any to any src-port 20 dst-port 49000-65553 in

kommt folgendes:

und es geht leider nicht!

02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any dst-port 21 in
10000 allow log tcp from any 20 to any dst-port 49000-17 in
12190 deny log tcp from any to any
65535 allow ip from any to any


kann es sein das da noch irgendwas falsch ist an dem befehl? weil mit der ip ging es ja....nur mit diesem any noch nicht?
 
ich hab jetzt den hier:
sudo ipfw add 10000 allow log tcp from 80.136.78.161 to any src-port 20 in

einfach mal in diesen selbstständig geändert:

sudo ipfw add 10000 allow log tcp from any to any src-port 20 in

ist das ok? weil so funktioniert es!

und der hier

sudo ipfw add 10000 allow log tcp from any to any src-port 20 dst-port 49000-65553 in

geht nämlich leider nicht!

aber jetzt dürfte es doch komplett mit any funktionieren oder?
 
Jannis schrieb:
ich hab jetzt den hier:
sudo ipfw add 10000 allow log tcp from 80.136.78.161 to any src-port 20 in

einfach mal in diesen selbstständig geändert:

sudo ipfw add 10000 allow log tcp from any to any src-port 20 in

ist das ok? weil so funktioniert es!

und der hier

sudo ipfw add 10000 allow log tcp from any to any src-port 20 dst-port 49000-65553 in

geht nämlich leider nicht!

aber jetzt dürfte es doch komplett mit any funktionieren oder?

dann geht es mit der regel die den zielport auf >49000 setzt nicht, weil der server von 20 auf einen port irgendwo unter 49000 kommt. du koenntest vielleicht noch probieren die regel etwas zu erweitern auf 39000-65535 oder so.
 
Jannis schrieb:
mhm nach eingabe des befehls:
sudo ipfw add 10000 allow log tcp from any to any src-port 20 dst-port 49000-65553 in

kommt folgendes:

und es geht leider nicht!

02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any dst-port 21 in
10000 allow log tcp from any 20 to any dst-port 49000-17 in
12190 deny log tcp from any to any
65535 allow ip from any to any


kann es sein das da noch irgendwas falsch ist an dem befehl? weil mit der ip ging es ja....nur mit diesem any noch nicht?

ausserdem ist 65553 falsch. die ausgabe zeigt dir ja auch dann von 49000-17. es gibt nur 65535 ports.
 
sorry, da ist ein zahlendreher drin; richtig muss es heissen:
sudo ipfw add 10000 allow log tcp from any to any src-port 20 dst-port 49000-65535 in

Dann müsste das auch klappen.
(17 ist die Differenz zwischen 65553 und 65535, wenn man die 0 mitzählt)
 
ok maceis und radiohead..vielen dank!

es funktioniert nun mit dem ursprünglichen befehl.
nun meine abschliessende frage:
die FW unter systemeinstlleungen ist nicht mehr konfugurierbar und folgende regeln sind aktiv:

02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any dst-port 21 in
10000 allow log tcp from any 20 to any dst-port 49000-65535 in
12190 deny log tcp from any to any
65535 allow ip from any to any


so kann ich das lassen? die firewall schützt trotzdem noch meine "restlichen ports" etc?

DANKE
 
Jannis schrieb:
ok maceis und radiohead..vielen dank!

es funktioniert nun mit dem ursprünglichen befehl.
nun meine abschliessende frage:
die FW unter systemeinstlleungen ist nicht mehr konfugurierbar und folgende regeln sind aktiv:

02000 allow ip from any to any via lo*
02010 deny ip from 127.0.0.0/8 to any in
02020 deny ip from any to 127.0.0.0/8 in
02030 deny ip from 224.0.0.0/3 to any in
02040 deny tcp from any to 224.0.0.0/3 in
02050 allow tcp from any to any out
02060 allow tcp from any to any established
02070 allow tcp from any to any dst-port 21 in
10000 allow log tcp from any 20 to any dst-port 49000-65535 in
12190 deny log tcp from any to any
65535 allow ip from any to any


so kann ich das lassen? die firewall schützt trotzdem noch meine "restlichen ports" etc?

DANKE

sie schuetzt dich schon, nur geht halt alles nach aussen durch, was ich nicht fuer sehr gut halte. du kannst aber auf der homepage von maceis mal das ipfw tutorial lesen und dann kannst du bei bedarf weitere aenderungen ueber das terminal vornehmen. ist nicht so schwer ;)
 
achso..
wenn wir gerade dabei sind, wie ändere ich zb bei proftp den upload port? so das die leute nicht an port 21 sondern an einem anderen port connecten?
(hier geht es nun um MEINEN ftp server..)
grüße
 
hi jannis: wozu dass denn schon wieder? ;)

es gibt keine proftp-direktive die da was einstellen kann. du koenntest hoechstens einen virtuellen server erstellen, der nur die uploads handled und den auf nen anderen port legen.

aber wozu?

gruesse,
sbx
 
Jannis schrieb:
achso..
wenn wir gerade dabei sind, wie ändere ich zb bei proftp den upload port? so das die leute nicht an port 21 sondern an einem anderen port connecten?
...
Sowas kannst Du vielleicht im Manual nachlesen.
Aber auch hier könnte Dir die ipfw Firewall weiterhelfen.

Du schließt den Port 21 und machst eine Portumleitung von z.B. 2121 außen auf 21 innen. Das sollte mit einer divert Regel funktionieren.

An der Stelle solltest Du aber erstmal ein wenig in der man page lesen (man ipfw) und selber versuchen ;).
 
tuts dafuer nicht die Port Direktive?

ich will hier echt nicht rumquerulieren. ich versuch nur grad rauszukriegen, wieso ihr so anders denkt als ich ;)
 
Zuletzt bearbeitet:
starbuxx schrieb:
tuts dafuer nicht die Port Direktive?
...
Oben noch sagst Du es gibt keine solche Directive - und jetzt nennst Du sie.
starbuxx schrieb:
...
ich will hier echt nicht rumquerulieren. ich versuch nur grad rauszukriegen, wieso ihr so anders denkt als ich ;)
Nein, nein, das ist völlig okay.
So kommt man zu unterschiedlichen Lösungsansätzen und jeder lernt bei so einer Diskuusion was dazu.
Ich hab die Port-Direktive aus dem Grund nicht genannt, weil ich nicht mit proftpd nicht arbeite und es daher schlichtweg nicht weiß.
 
@maceis
Oben noch sagst Du es gibt keine solche Directive - und jetzt nennst Du sie.
neineineinein. ;) die port direktive verbiegt den ganzen server auf einen anderen port, aber nicht _nur den upload, so wie jannis das beschrieben hatte. und da deine portumleitung das ja auch taete, hab' ich die dann noch genannt.

es gibt im uebrigen auch eine 'PassivePorts' direktive, die die ports festlegt, die proftpd fuer die ipassiven verbindungen verwendet.

gruesse,
sbx
 
starbuxx schrieb:
neineineinein. ;) die port direktive verbiegt den ganzen server auf einen anderen port, aber nicht _nur den upload, so wie jannis das beschrieben hatte. und da deine portumleitung das ja auch taete, hab' ich die dann noch genannt.
...
Es gibt bei ftp keinen "upload port", insofern habe ich das einfach überlesen :D.

starbuxx schrieb:
es gibt im uebrigen auch eine 'PassivePorts' direktive, die die ports festlegt, die proftpd fuer die ipassiven verbindungen verwendet.
Versteh ich noch nicht ganz. Die passiven Verbindungen werden vom Client initiiert, d.h. der Client bestimmt erstmal die Ports.
Der Server kann nur noch akzeptieren oder ablehnen.
 
Zurück
Oben Unten