Markus Pitha: iptables Frage

Hi,
Ich wollte mich ein wenig mit iptables beschäftigen, und habe mir den ganzen Tag Tonnen von Informationen durchgelesen, bekomme aber keine einfache Anweisung hin.
Zur Probe wollte ich versuchen, dass icmp Pakete von außen geblockt werden, aber von innen gesendet werden dürfen. Ich teste dies anhand von ping.
Ich habe 2 Regeln angelegt:

iptables -A INPUT -p icmp -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT

Man kann zwar von außen nicht pingen (mit anderem User getestet), aber unglücklicherweise kann ich selbst trotzdem nicht pingen. Wie funktioniert das nun?
2. Frage:
Welche Regeln sind überhaupt empfehlenswert, wenn ich meinen PC relativ sicher machen will (Firewall)? Das Problem ist, dass ich eigentlich gar nicht weiß, welche Tricks es eigentlich gibt, falls jemand versucht irgendwie in den PC einzudringen, sprich welche Regeln ich daraus resultierend anweden muss, um eben dies verhindern zu können?

Markus.

--
sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|
  1. iptables -A INPUT -p icmp -j DROP
    iptables -A OUTPUT -p icmp -j ACCEPT

    Mit diesen zwei Regeln gehen zwar die echo-request (ping) Pakete nach
    draußen, aber die echo-reply (pong) dürfen nicht rein. :-))

    Am besten verwendest du folgende Regel für eingehende Pakete:

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    Damit werden Pakete, die zu einer bestehenden Verbindung gehören
    zugelassen. Es gibt übrigens eine zusammenklickbare Firewall unter
    http://www.harry.homelinux.org/ von Harry, einem Moderator
    bei den http://www.linuxforen.de. Da poste ich auch hin und
    wieder.

    Gruß
    L00NIX

    1. Hi,
      Danke. Es hat geklappt.

      Markus.

      --
      sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|
  2. Das Problem ist, dass ich eigentlich gar nicht weiß, welche Tricks es eigentlich gibt, falls jemand versucht irgendwie in den PC einzudringen,

    Das ist das Hauptproblem an Sicherheit. Alles was man nicht verstanden hat ist erstmal als unsicher zu betrachten.

    Und damit das bei dir nicht so bleibt: :-)

    http://www.ccc.de/faq/security?language=de

    Und dieses Video vom CCC zum Thema Personal Firewalls hat zwar nicht primär was mit iptables zu tun, beleuchtet aber die grundsätzliche Problematik recht gut und anschaulich (Dauer ca. 1,5 Stunde).

    Mir fallen da spontan zwei Angriffspunkte ein:

    • Ausnutzen von fehlerhaftem IP-Stack und anderer Software die sich darum kümmern soll (Firewalls eingeschlossen)
    • Dienste die unbeabsichtig oder beabsichtigt auf dem System laufen (und deren Fehler).
  3. Moin!

    Zur Probe wollte ich versuchen, dass icmp Pakete von außen geblockt werden, aber von innen gesendet werden dürfen. Ich teste dies anhand von ping.

    Das willst du nicht wirklich.

    Erstens gewinnst du äußerlich damit absolut nichts. Du wirst beispielsweise nicht "unsichtbar", nur weil keine Antwort auf Ping zurückkommt. Wäre dein Rechner offline, würde dein übergeordneter Router (beim Provider) eine entsprechende ICMP-Nachricht an den pingenden Host zurücksenden. Das bedeutet: Wenn du tatsächlich ping-mäßig unsichtbar werden wolltest, müßtest du eine derartige Antwort mit der IP des übergeordneten Routers fälschen - Pakete mit gefälschten IP-Adressen gehen aber nicht zwangsläufig auch raus aus dem Providernetz.

    Zweitens ist ICMP nicht nur für Ping da, sondern überträgt noch eine ganze Reihe von sinnvollen Informationen, beispielsweise die Info, wenn die benutzte MTU zu groß ist und gesenkt werden soll. Das damit verbundene Phänomen wäre, wenn sich einzelne Webseiten nicht aufrufen lassen bzw. nur so halb gehen, obwohl sie mit Ping wunderbar zu erreichen sind, andere Webseiten hingegen perfekt funktionieren.

    Deshalb: ICMP nicht stumpf filtern, wenn man nicht weiß, was und warum man es tut.

    • Sven Rautenberg
    1. Hallo,

      Deshalb: ICMP nicht stumpf filtern, wenn man nicht weiß, was und warum man es tut.

      Ok, meinst du, ich solle diesen Filter wieder deaktivieren?

      Markus.

      --
      sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|
      1. Moin!

        Deshalb: ICMP nicht stumpf filtern, wenn man nicht weiß, was und warum man es tut.

        Ok, meinst du, ich solle diesen Filter wieder deaktivieren?

        Bingo! Konnte man das aus meiner langen Erklärung nicht eindeutig herauslesen?

        • Sven Rautenberg