Linux-Firewall + PDA: Port bestimmen
Julian von Mendel
- sonstiges
Hallo,
ich habe einen PDA, ein Mandrake-System mit Synchronisationssoftware und eine Firewall. Die Synchronisation mit dem PDA funktioniert nur wenn ich der Firewall sage, dass alle Anfragen von Außen durchgelassen werden sollen. Daraus schließe ich einfach mal, das irgendwelche Ports zur Kommunikation benötigt werden. Um diese zu bestimmen habe ich zweimal ein "netstat -a" durchgeführt, einmal mit bestehender Verbindung und einmal ohne. Die Daten habe ich dann mit "diff" verglichen. Folgende Ausgaben die was mit tcp zu tun haben habe ich erhalten:
---------------------------------------
< tcp 0 0 jvm:34049 zaurus:4243 VERBUNDEN
< tcp 0 0 jvm:34042 zaurus:4242 TIME_WAIT
14,15d11
< tcp 0 1 jvm:34050 qtopia.net:http LAST_ACK
< tcp 0 1 jvm:34051 qtopia.net:http SYN_SENT
---------------------------------------
Sonst haben sich nur ein paar unix-Verbindungen verändert, aber die blockt meine Firewall ja sowieso nicht.
Also habe ich in dem Mandrake-Konfigurations-Tool eingetragen, dass die TCP-Ports 4243, 4242 und 80 freigegeben werden sollen. Dannach ging die Verbindung mit dem PDA aber nichtmehr. Wenn ich die Firewall aber ganz ausschalte geht wieder alles...
Wie bekomme ich heraus welche Ports ich noch freigeben muss?
Schöne Grüße
Julian
Sup!
Wer kommuniziert da eigentlich mit wem, und läuft nur auf einem System eine Firewall?
Gruesse,
Bio
Hallo,
Wer kommuniziert da eigentlich mit wem, und läuft nur auf einem System eine Firewall?
Mein PDA ist per USB mit meinem Computer verbunden. Per Kernelmodul usbnet wird ein Netzwerk-Interface namens usb0 erzeugt, welches sich genauso ansprechen lässt wie eine normale Netzwerkkarte (z. B. eth0). In der hosts-Datei ist die IP meines PDAS mit dem Namen "zaurus" verknüpft, um leichter dranzukommen. Auf dem PDA läuft keine Firewall, auf meinem Rechner ist eine Firewall die Verbindungen von Außen nur teilweise reinlässt. Und da ist das Problem: Ich weiß nicht welche Ports zur Kommunikation mit dem PDA verwendet werden, und kann sie deswegen nicht freigeben. Wenn die Firewall aus ist geht alles, ich möchte aber nicht alle Dienste für Fremde zugänglich machen.
Schöne Grüße
Julian
Sup!
Vielleicht wäre es ja möglich, die Firewall nur für die Ethernet-Interfaces und nicht für das USB-Interface zu aktivieren?
Gruesse,
Bio
Hallo,
Vielleicht wäre es ja möglich, die Firewall nur für die Ethernet-Interfaces und nicht für das USB-Interface zu aktivieren?
Gute Idee. Ich habe folgende Befehle manuell ausgeführt, da drakconf (grafisches Konfigurationstool von Mandrake) nicht grade viele Funktionen hat:
[root@jvm jvm]# iptables -A INPUT -i usb0 -j ACCEPT
[root@jvm jvm]# iptables -A OUTPUT -o usb0 -j ACCEPT
Geändert hat das jedoch nichts. Muss ich sonst noch irgendwas einstellen? Ich habe auch webmin zur Verfügung, verstehe die Einstellmöglichkeiten aber nicht...
Schöne Grüße
Julian
Hallo Julian,
[root@jvm jvm]# iptables -A INPUT -i usb0 -j ACCEPT
[root@jvm jvm]# iptables -A OUTPUT -o usb0 -j ACCEPT
u.U. müssen das die ERSTEN Regeln sein, nicht die LETZTEN, denn es kann sein, dass andere Regeln die Pakete *vorher* herausfiltern und diese beiden obigen Regeln nicht mehr verarbeitet werden.
Viele Grüße,
Christian
Hi Christian,
[root@jvm jvm]# iptables -A INPUT -i usb0 -j ACCEPT
[root@jvm jvm]# iptables -A OUTPUT -o usb0 -j ACCEPTu.U. müssen das die ERSTEN Regeln sein, nicht die LETZTEN, denn es kann sein, dass andere Regeln die Pakete *vorher* herausfiltern und diese beiden obigen Regeln nicht mehr verarbeitet werden.
Und wie kann ich die Reihenfolge ändern?
Schöne Grüße
Julian
Hallo Julian,
Und wie kann ich die Reihenfolge ändern?
Schau mal in der iptables-Dokumentation nach dem Switch -I (anstelle von -A, allerdings erwartet iptables dann noch einen zusätzlichen Parameter).
Viele Grüße,
Christian
Hi,
Und wie kann ich die Reihenfolge ändern?
Schau mal in der iptables-Dokumentation nach dem Switch -I (anstelle von -A, allerdings erwartet iptables dann noch einen zusätzlichen Parameter).
Danke, das funktioniert gut. Werden die Einstellungen nach einem Neustart erhalten bleiben, und wenn nein, in welches Startskript sollte ich die Werte am Besten reinschreiben?
Schöne Grüße
Julian
Hallo Julian,
Werden die Einstellungen nach einem Neustart erhalten bleiben,
In der Regel: Nein. Es gibt zwar iptables-save und -restore, allerdings verwenden die meisten Distributionen nicht diese beiden, um die Firewall zu konfigurieren, sondern einfach ein Startscript.
und wenn nein, in welches Startskript sollte ich die Werte am Besten reinschreiben?
Das hängt von Mandrake ab, am besten Du führst das ganz am Ende aus (ich weiß jetzt nicht, was bei Mandrake als letztes ausgeführt wird, oft gibt es ein Script namens 'local' oder so ähnlich), dann ist die Firewall nämlich auf jeden Fall schon geladen und kein Script löscht alle Regeln (die meisten Firewall-Scripte machen dies, bevor sie ihre eigenen Regeln einfügen, damit sie sicher gehen können, dass die Firewall auch wirklich funktioniert).
Viele Grüße,
Christian
Hi,
und wenn nein, in welches Startskript sollte ich die Werte am Besten reinschreiben?
Das hängt von Mandrake ab, am besten Du führst das ganz am Ende aus (ich weiß jetzt nicht, was bei Mandrake als letztes ausgeführt wird, oft gibt es ein Script namens 'local' oder so ähnlich), dann ist die Firewall nämlich auf jeden Fall schon geladen und kein Script löscht alle Regeln (die meisten Firewall-Scripte machen dies, bevor sie ihre eigenen Regeln einfügen, damit sie sicher gehen können, dass die Firewall auch wirklich funktioniert).
Dankeschön. Ich hab einfach mal beschlossen dass /etc/rc.sysinit als Letztes ausgeführt wird :)
Schöne Grüße
Julian
Moin,
Und weil wir auch ein Archiv haben dem dieser Thread so nicht allzu viel nützt: Der generische Weg dieses und ähnliche Probleme zu lösen besteht darin, dem Paketfilter einfach zu sagen, er möge alle abgelehnten Verbindungen loggen.
Bei IP-Tables zum Beispiel, in dem man vor jeder Regel mit -j DROP (die sind aber eh böse) oder -j RESET, sowie am Ende jeder Chain mit Policy DROP eine identische Regel mit -j LOG einfügt. Dann versucht man was auch immer nicht geht und sieht sich anschließend das Log an. Da dürfte dann penibel aufgezeichnet worden sein, welche Arten von Verbindungen erlaubt werden müssen.
Alternativ kann man bei deaktiviertem Paketfilter den Sniffer des geringsten Misstrauens anwerfen.