Julian von Mendel: Linux-Firewall + PDA: Port bestimmen

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

--
"Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
  1. Sup!

    Wer kommuniziert da eigentlich mit wem, und läuft nur auf einem System eine Firewall?

    Gruesse,

    Bio

    --
    Tötet DJ Ötzi! (Nicht wirklich!)
    1. 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

      --
      "Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
      1. 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

        --
        Tötet DJ Ötzi! (Nicht wirklich!)
        1. 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

          --
          "Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
          1. 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

            1. Hi Christian,

              [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.

              Und wie kann ich die Reihenfolge ändern?

              Schöne Grüße
              Julian

              --
              "Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
              1. 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

                1. 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

                  1. 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

                    1. 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

  2. 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.

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~