Der Domain Name Service

Für DNS benötigen wir etwas kompliziertere Regeln – notwendig ist dieser Dienst jedoch immer. Jede Anfrage an einen DNS-Server erfolgt zunächst über das UDP-Protokoll. Sofern die Antwort zu groß ist für ein einzelnes UDP-Paket, wird die Anfrage per TCP wiederholt. Damit sind größere Datenübertragungen möglich. Die Regeln für das Senden der Anfrage an den Nameserver sind relativ einfach:

iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT

Wie wir zu Anfang erwähnt hatten, stellen die UDP-Antworten eine besondere Herausforderung an die Firewall dar: Sie kann nicht ohne Weiteres feststellen, ob ein Paket zu einer bereits bestehenden Verbindung gehört.

Spricht ein DNS-Server mit uns, kommt das Paket von Port 53 (domain). Empfänger ist (sofern wir keinen eigenen DNS-Server besitzen) einer der oberen Ports auf unserem Computer. Wenn wir nur einen einzigen fremden DNS-Server benutzen, etwa den des Internet-Providers, erlauben wir UDP-Pakete von genau dieser IP-Adresse, im Beispiel 193.162.1.42:

nameserver=193.162.1.42
iptables -A INPUT -p udp -s $nameserver --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -s $nameserver --sport 53 -j ACCEPT

Falls wir einen eigenen DNS-Server betreiben, können wir den lokal verwendeten UDP-Port konfigurieren. Wir akzeptieren UDP-Pakete aus dem ganzen Internet, aber nur an diesen einen UDP-Port:

iptables -A INPUT -p udp --sport 53 --dport 7531 -j ACCEPT

Ohne eigenen DNS-Server und mit veränderlichem fremdem Server (zum Beispiel bei Modem-Einwahlverbindungen) müssten wir UDP von allen fremden Rechnern freigeben. Das ist natürlich sehr unerwünscht. Abhilfe bietet das in Kasten 2 erwähnte Zusatzmodul zur Überwachung von Verbindungen: Es lässt UDP-Antworten auf unsere Anfragen zu, andere UDP-Pakete jedoch nicht. Leider kann solch ein Modul, insbesondere unter hoher Last, designbedingt nicht immer zuverlässig arbeiten. Wenn Sie möchten, aktivieren Sie das Zusatzmodul mit folgender Regel:

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

Eine Alternative ist die Aktualisierung der Firewall nach jeder neuen Internet-Einwahl. Das Firewall-Skript kann die Adressen der Nameserver aus der Konfigurationsdatei /etc/resolv.conf auslesen und die Regeln entsprechend anpassen. Dazu rufen wir es aus /etc/ppp/ip-up auf: Diese Datei wird vom PPP-Dämon nach erfolgter Einwahl gestartet.

Schreiben Sie das Fragment aus Listing 1 einfach in Ihr Firewall-Skript (z. B. /etc/rc.d/rc.firewall) hinein. Anschließend setzen Sie die DNS-Regeln und nehmen dabei Bezug auf die Variablen $nameserver_1, $nameserver_2 usw. Die Zeile . /etc/rc.d/rc.firewall in /etc/ppp/ip-up sorgt für die Aktualisierung der Firewallregeln. (Der Punkt ruft ein Skript aus einem anderen Skript heraus auf.)

Listing 1

Einlesen der Nameserver-Adressen im Firewall-Skript

awk    'BEGIN { i=1 }
        /^nameserver / { print "nameserver_" i "=" $2; i+=1 }' \
                < /etc/resolv.conf >> /etc/ppp/nameserver.info
. /etc/ppp/nameserver.info

ICMP

Datenpakete, die Internet Control Messages enthalten, bedürfen einer besonderen Behandlung. Anstelle von Port-Nummern enthalten solche Pakete einen Nachrichtentyp (und eventuell einen Subtyp). So erkennt bereits die Firewall, worum es geht, und kann bestimmte Inhalte selektiv herausfiltern.

echo-request und echo-reply sind Frage und Antwort von ping, mit dem man prüft, ob ein Computer eingeschaltet und ordentlich ans Netz angeschlossen ist. Die folgenden Regeln erlauben eine abgehende Anfrage (Request) und die zugehörige Antwort (Reply).

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT  -p icmp --icmp-type echo-reply   -j ACCEPT

Ob Sie auch den umgekehrten Weg öffnen, also anderen Leuten die Überprüfung Ihres eigenen Rechners gestatten, entscheiden Sie selbst. Dafür benutzen Sie gegebenenfalls diese beiden Regeln:

iptables -A INPUT  -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply   -j ACCEPT

Die zahlreichen Subtypen von destination-unreachable teilen einem Computer mit, dass eine bestimmte Ressource nicht erreichbar ist. Diese Nachrichten sollten in beiden Richtungen passieren dürfen. Insbesondere der Subtyp fragmentation-needed, der durch destination-unreachable mit abgedeckt wird, ist in bestimmten Situationen lebenswichtig: Wenn Pakete nicht fragmentiert werden dürfen, kann es zu völlig undurchsichtigen Fehlerzuständen kommen, bei denen Verbindungen willkürlich abzureißen scheinen. Verwenden Sie folgende Regeln:

iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT  -p icmp --icmp-type destination-unreachable -j ACCEPT

Bei ankommenden Paketen sollte man noch drei weitere Arten von Fehlermeldungen erlauben, um sich die Fehlersuche zu erleichtern. An andere Computer wird man kaum jemals solche Meldungen übermitteln (außer, man setzt ein Server-System auf), aber es kommt durchaus einmal vor, dass ein fremder Computer einen solchen Fehler zurückschickt.

iptables -A INPUT -p icmp --icmp-type source-quench     -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded     -j ACCEPT
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Iptables-GUIs im Vergleich
    Mit dem richtigen Werkzeug ist das Einrichten einer Desktop-Firewall keine Kunst. Wo die distributionseigenen Tools schwächeln, helfen clevere Alternativen weiter.
  • Grafische Firewall-Administration mit FWBuilder 2.0
    Linux bringt eine leistungsfähige Firewall mit. Sie manuell zu konfigurieren, bringt jedoch selbst Profis ins Schwitzen. Mit dem grafischen Firewall Builder dagegen behalten Sie sogar komplexe Regelwerke bequem im Griff.
  • Iptables-Grundlagen für Desktop-Nutzer
    Nicht jeder Linux-Desktop braucht eine Firewall. Mit grafischen Werkzeugen lässt sie sich aber bei Bedarf im Handumdrehen einrichten.
  • Sicher und zuverlässig
    Funktioniert Ihr Netzwerk wie gewünscht? Ist es sicher? Mit den passenden Werkzeugen überprüfen Sie jeden Aspekt des Netzes und sichern es mit einfachen Maßnahmen gegen den Großteil möglicher Angriffe ab.
  • Feuerfest
    Steht dem PC das Tor zum Internet offen, sollte man einen Wächter engagieren, der unerwünschte Gäste draußen hält. Iptables ist solch ein qualifizierter Türsteher.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...