taugt ipfw nichts?

Dieses Thema im Forum "Hardware" wurde erstellt von elrancho, 13. Juni 2002.

  1. elrancho

    elrancho New Member

    Habe mich ein wenig mit ipfw auseinandergesetz und zu diesem Zweck erstmal Brickhouse installiert. Erster Versuch: alle eingehenden und ausgehenden Verbindungen blockieren, Regeln anwenden, Skript installieren und reboot. Hat aber alles weiterhin funktioniert (iDisk, Web, Telnet, Mail usw.), d.h. keine Blockierung der Dienste. Daraufhin habe ich im Terminal die ipfw-Einstellungen angeschaut. Erste Ueberraschung: keine meiner Brickhouse-Einstellungen, ausser die Advanced-Optionen, wurden übernommen. Zweite Ueberraschung: die letzte Regel der Liste, die 65535, sagt "allow all from any to any", was ja soviel heisst wie sämtlicher eingehender und ausgehender Verkehr wird akzeptiert. Schnell das Buch "Mac OS X unleashed" gezückt und nachgeschaut. Erklärung Buch:

    "One rule is always present: 65535 deny all from any to any.

    This rule, not to allow anything, is the default policy.

    If the kernel option IPFIREWALL_DEFAULT_TO_ACCEPT has been enabled, the
    default rule is 65535 allow all from any to any.

    The preceeding rule is the default rule in OS X."

    Was für mich so viel heisst wie: Mac OS X hat standardmässig die Türen
    offen, da diese kernel option bei der Installation des Systems gesetzt
    wird. Ich jedenfall habe diese kernel option nicht gesetzt; wüsste nicht einmal, wie so etwas geht. Ich habe also versucht, diese ominöse Regel 65535 zu löschen.
    Resultat: Fehlermeldung ("ipfw: rule 65535: setsockopt (IP_FW_DEL): invalid argument"). Alle anderen Regeln lassen sich per ipfw delete [Nummer der Regel] anstandslos löschen.

    So viel ich weiss, werden die Firewall-Regeln von der tiefsten bis zur höchsten Nummer durchgespielt. Regel 65535 ist also immer die letzte und gibt sämtlichen Verkehr frei, egal was ich in Brickhouse oder "von Hand" konfiguriere.

    Quintessenz für mich: ipfw ist nicht zu gebrauchen. Kann mich jemand vom
    Gegenteil überzeugen? Habe ich einen Fehler gemacht? Weiss jemand, wie man die kernel option IPFIREWALL_DEFAULT_TO_ACCEPT rausschmeisst?
     
  2. kasimir

    kasimir New Member

    hallo,

    habe meine firewall per hand konfiguriert und funktioniert wunderbar, in der logdatei finden sich regelmäßig jede menge abgewehrte angriffe von außen. alle software von drittanbietern (norton internet sec., netbarrier und brickhouse) setzt der integrierten firewall von mac os x nur eine grafische benutzeroberfläche auf, sollte aber nichts anderes tun, die regeln sieht man ja dann im terminal auch. so fühle ich mich ganz sicher mit der ipfw, es kann natürlich sein, dass ich schon längst von den hackern dieser welt ausspioniert wurde - aber wenn mein auto klappert, drehe ich auch das radio lauter und dann läuft es wieder ruhig ... ;-)
     
  3. elrancho

    elrancho New Member

    wenn Du "ipfw list" ausführst, steht bei Dir am Schluss auch "65535 allow all from any to any"?
     
  4. hakru

    hakru New Member

    Meine letzte Regel bei ipfw heisst auch "65535 allow ip from any to any" - ist ganz normal - taucht auch bei "funktionierender" ipfw-Konfiguration auf.
    Es geht darum, VORHER - also mit niedrigerer Nummer - ipfw-Regeln ("deny ...") zu schreiben, die den entsprechenden ungewünschten Verkehr ablehnen. Es wird nämlich für jedes IP-Packet der Regel-Stapel von oben nach unten analysiert: findet ipfw eine auf das Packet passende Regel, wird danach verfahren ("deny ..."). Erst wenn keine Regeln des Stapels für dieses Packet zutreffen, kommt die letzte Regel zur Anwendung: allow all .... Und dann schlüpft das Packet durch.
    Wenn Du als default alles ablehnen willst, schreib einfach als vorletzte Regel (65534) "deny log all from any to any in" - und schon ist der Fisch geputzt ;-). Jetzt wird per default alles abgelehnt, was nicht zuvor in "allow"-Regeln erlaubt wurde.

    hakru
     
  5. kasimir

    kasimir New Member

    ja, aber das macht nix - siehe nächster eintrag ;-)
     
  6. elrancho

    elrancho New Member

    Besten Dank für die Aufklärung. Ich schnalle aber immer noch nicht, wieso eine Konfiguration mit "Brickhouse" nur die im "Advanced-Tab" vorgenommenen Einstellungen tatsächlich in ipfw übernimmt (also ICMP, frag, established, FTP und DNS), den Rest aber frech ignoriert. Wenn ich versuche ipfw "von Hand" zu kofigurieren, dann wird die Regel, obwohl Synax korrekt, nicht übernommen. System defekt? Glaub ich eher nicht, ich habe OS X vor drei Tagen auf formatierte HD neu installiert. Irgendwelche Ideen?
     
  7. tas

    tas New Member

    Hast Du daran gedacht, dass Du ipfw immer als super-user (= root) konfigurieren musst? Also immer schoen "sudo ipfw..." tippen. Und dass alles wieder in den urspruenglichen Zustand zurueckgeht, wenn Du Dich auslogst?
     
  8. elrancho

    elrancho New Member

    Ja, ja, immer schön mit "sudo". Fehlermeldung gibt's keine, aber Regeln werden, wie ein nachfolgendes "ipfw list" zeigt, trotzdem nicht übernommen. Von den durch Brickhouse generierten Regeln werden, wie schon gesagt, nur diejeigen aus dem "Advanced"-Menü übernommen, was aber gleichzeitig heisst, dass das Brickhouse-Startskript grundsätzlich funktioniert. Bin ich der einzige, der eine störrische Firewall hat?
     
  9. elrancho

    elrancho New Member

    Habe mich ein wenig mit ipfw auseinandergesetz und zu diesem Zweck erstmal Brickhouse installiert. Erster Versuch: alle eingehenden und ausgehenden Verbindungen blockieren, Regeln anwenden, Skript installieren und reboot. Hat aber alles weiterhin funktioniert (iDisk, Web, Telnet, Mail usw.), d.h. keine Blockierung der Dienste. Daraufhin habe ich im Terminal die ipfw-Einstellungen angeschaut. Erste Ueberraschung: keine meiner Brickhouse-Einstellungen, ausser die Advanced-Optionen, wurden übernommen. Zweite Ueberraschung: die letzte Regel der Liste, die 65535, sagt "allow all from any to any", was ja soviel heisst wie sämtlicher eingehender und ausgehender Verkehr wird akzeptiert. Schnell das Buch "Mac OS X unleashed" gezückt und nachgeschaut. Erklärung Buch:

    "One rule is always present: 65535 deny all from any to any.

    This rule, not to allow anything, is the default policy.

    If the kernel option IPFIREWALL_DEFAULT_TO_ACCEPT has been enabled, the
    default rule is 65535 allow all from any to any.

    The preceeding rule is the default rule in OS X."

    Was für mich so viel heisst wie: Mac OS X hat standardmässig die Türen
    offen, da diese kernel option bei der Installation des Systems gesetzt
    wird. Ich jedenfall habe diese kernel option nicht gesetzt; wüsste nicht einmal, wie so etwas geht. Ich habe also versucht, diese ominöse Regel 65535 zu löschen.
    Resultat: Fehlermeldung ("ipfw: rule 65535: setsockopt (IP_FW_DEL): invalid argument"). Alle anderen Regeln lassen sich per ipfw delete [Nummer der Regel] anstandslos löschen.

    So viel ich weiss, werden die Firewall-Regeln von der tiefsten bis zur höchsten Nummer durchgespielt. Regel 65535 ist also immer die letzte und gibt sämtlichen Verkehr frei, egal was ich in Brickhouse oder "von Hand" konfiguriere.

    Quintessenz für mich: ipfw ist nicht zu gebrauchen. Kann mich jemand vom
    Gegenteil überzeugen? Habe ich einen Fehler gemacht? Weiss jemand, wie man die kernel option IPFIREWALL_DEFAULT_TO_ACCEPT rausschmeisst?
     
  10. kasimir

    kasimir New Member

    hallo,

    habe meine firewall per hand konfiguriert und funktioniert wunderbar, in der logdatei finden sich regelmäßig jede menge abgewehrte angriffe von außen. alle software von drittanbietern (norton internet sec., netbarrier und brickhouse) setzt der integrierten firewall von mac os x nur eine grafische benutzeroberfläche auf, sollte aber nichts anderes tun, die regeln sieht man ja dann im terminal auch. so fühle ich mich ganz sicher mit der ipfw, es kann natürlich sein, dass ich schon längst von den hackern dieser welt ausspioniert wurde - aber wenn mein auto klappert, drehe ich auch das radio lauter und dann läuft es wieder ruhig ... ;-)
     
  11. elrancho

    elrancho New Member

    wenn Du "ipfw list" ausführst, steht bei Dir am Schluss auch "65535 allow all from any to any"?
     
  12. hakru

    hakru New Member

    Meine letzte Regel bei ipfw heisst auch "65535 allow ip from any to any" - ist ganz normal - taucht auch bei "funktionierender" ipfw-Konfiguration auf.
    Es geht darum, VORHER - also mit niedrigerer Nummer - ipfw-Regeln ("deny ...") zu schreiben, die den entsprechenden ungewünschten Verkehr ablehnen. Es wird nämlich für jedes IP-Packet der Regel-Stapel von oben nach unten analysiert: findet ipfw eine auf das Packet passende Regel, wird danach verfahren ("deny ..."). Erst wenn keine Regeln des Stapels für dieses Packet zutreffen, kommt die letzte Regel zur Anwendung: allow all .... Und dann schlüpft das Packet durch.
    Wenn Du als default alles ablehnen willst, schreib einfach als vorletzte Regel (65534) "deny log all from any to any in" - und schon ist der Fisch geputzt ;-). Jetzt wird per default alles abgelehnt, was nicht zuvor in "allow"-Regeln erlaubt wurde.

    hakru
     
  13. kasimir

    kasimir New Member

    ja, aber das macht nix - siehe nächster eintrag ;-)
     
  14. elrancho

    elrancho New Member

    Besten Dank für die Aufklärung. Ich schnalle aber immer noch nicht, wieso eine Konfiguration mit "Brickhouse" nur die im "Advanced-Tab" vorgenommenen Einstellungen tatsächlich in ipfw übernimmt (also ICMP, frag, established, FTP und DNS), den Rest aber frech ignoriert. Wenn ich versuche ipfw "von Hand" zu kofigurieren, dann wird die Regel, obwohl Synax korrekt, nicht übernommen. System defekt? Glaub ich eher nicht, ich habe OS X vor drei Tagen auf formatierte HD neu installiert. Irgendwelche Ideen?
     
  15. tas

    tas New Member

    Hast Du daran gedacht, dass Du ipfw immer als super-user (= root) konfigurieren musst? Also immer schoen "sudo ipfw..." tippen. Und dass alles wieder in den urspruenglichen Zustand zurueckgeht, wenn Du Dich auslogst?
     
  16. elrancho

    elrancho New Member

    Ja, ja, immer schön mit "sudo". Fehlermeldung gibt's keine, aber Regeln werden, wie ein nachfolgendes "ipfw list" zeigt, trotzdem nicht übernommen. Von den durch Brickhouse generierten Regeln werden, wie schon gesagt, nur diejeigen aus dem "Advanced"-Menü übernommen, was aber gleichzeitig heisst, dass das Brickhouse-Startskript grundsätzlich funktioniert. Bin ich der einzige, der eine störrische Firewall hat?
     

Diese Seite empfehlen