Home / LinuxUser / 2007 / 01 / Feuerfest

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(233 Punkte bei 16 Stimmen)
Re: War doch klar...
(162 Punkte bei 6 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Feuerfest

Iptables im Überblick

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

Den Begriff "Firewall" hat jeder schon einmal gehört. Meist assoziiert man damit ein kompliziertes Gerät für die Sicherheit von Netzwerken. Spätestens seit viele Initiativen [1] und einige Medien immer wieder von einer "Personal Firewall" für den heimischen PC sprechen, sucht man auch für den eigenen PC ein solches Firewall-Dings. Es soll das vielzitierte Böse im Internet vom PC fernhalten und sich zumindest von Voodoo deutlich unterscheiden.

Unter Linux fällt sofort das Augenmerk auf iptables. Das Programm liegt den meisten Distributionen bei und ist bei dem einen oder anderen sogar aktiv. Ein genauer Blick auf die Konfiguration der Iptables erzeugt bei den meisten Anwendern jedoch ein verzagtes Schulterzucken. Das muss nicht sein: Die Grundlagen der Paketfilterei sind nicht allzu schwer zu verstehen, und wer sie beherrscht, richtet im Handumdrehen eine Firewall nach eigenen Bedürfnissen ein.

Pakete und Protokolle

Daten werden im Internet in Form kleiner Pakete übertragen. Um die Pakete zustellen zu können, muss man den Empfänger identifizieren, die Daten der entsprechenden Anwendung zuordnen, und diese muss sie schließlich richtig interpretieren. Für jeden einzelnen dieser Schritte gibt es genau definierte Protokolle. Einen ausführlichen Einstieg in die Welt dieser Protokolle bietet ein älterer LinuxUser-Artikel [2]. Hier sei das Wesentliche zum besseren Verständnis noch einmal kurz zusammengefasst.

Zur Vermittlung der Datenpakete vom Computer des Absenders zu dem des Empfängers dient das Internet-Protokoll oder kurz IP. Die IP-Pakete enthalten die IP-Adressen des Absenders und des Empfängers sowie einen Eintrag auf das Protokoll, welches die Daten den jeweiligen Anwendungen zuordnet und als Transportprotokoll bezeichnet wird.

Zwei wichtige Protokolltypen stellen das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP) dar. Die einzelnen Anwendungen auf einem System werden über Ports adressiert. Jede Anwendung erhält einen Port, auf dem sie Daten versenden kann, und einen, auf dem sie nach Daten lauscht. Abbildung 1 zeigt einige solcher offener Ports auf einem PC. Die zugestellten Daten werden dann mit Hilfe eines weiteren Protokolls, wie etwa HTTP, von der Anwendung interpretiert.

Abbildung 1: Netstat zeigt die momentan offenen TCP- und UDP-Ports an.

Das Transportprotokolle UDP bezeichnet man als verbindungsloses Protokoll, da es die Pakete lediglich mit einer Zieladresse und einem Zielport, sie dann auf die Reise schickt und vergisst. Zwar kann man optional neben dem Quellport auch eine Checksumme angeben, zuverlässiger wird die Zustellung dadurch aber nicht. Da auf dem langen Weg um den Globus auch ab und an ein Paket verloren gehen kann, sorgen sich verbindungsorientierte Protokolle wie TCP um eine verlässlichere Zustellung.

TCP stellt eine direkte Verbindung zum Empfänger her und enthält wesentlich mehr Steuerinformationen, sodass es einzelne abhanden gekommene Pakete bemerkt und erneut versendet. Werden größere Dateien vor dem Versenden in eine ganze Reihe von Paketen verpackt, kann TCP sie in der richtigen Reihenfolge wieder zusammensetzen, auch wenn sie auf Grund unterschiedlicher Laufzeiten in der falschen Reihenfolge ankommen.

Das leistet UDP zwar nicht, ist dafür aber deutlich kompakter und erzeugt weniger "Verpackung" beim Paketversand. Ein komplettes IP-Paket mit UDP-Daten sehen Sie in Abbildung 2 schematisch dargestellt.

Abbildung 2: Schematische Darstellung eines UDP-Datenpakets.

Nachdem das Paket über den Zielport die entsprechenden Anwendung erreicht hat, muss diese die Daten richtig interpretieren. Für jede Anwendung gibt es daher ein Protokoll, das die Daten korrekt darstellt. Beim bereits erwähnten HTTP handelt es sich um ein Anwendungsprotokoll für das Darstellen von Webseiten. Ein nicht weniger bekanntes Protokoll ist das File Transfer Protocol (FTP).

Sowohl HTTP als auch FTP setzen bei der Übertragung auf TCP auf. Das gewährleistet zum einen die für größere Datenmengen unverzichtbare Transportsicherheit. Zum anderen lässt sich auch gleichzeitig kontrollieren, wer die Verbindung initiieren darf. Zwar soll der Client die Verbindung zum Server im Internet aufnehmen dürfen, jedoch nicht umgekehrt jeder aus dem Internet ungefragt mit dem Client reden. Der Begriff, hinter dem sich die Zuordnung zu bereits etablierten Verbindungen verbirgt, lautet Stateful Inspection.

Iptables

Ein Paketfilter ist eine Software, die alle Netzwerkschnittstellen überwacht und die IP-Pakete nach vorher definierten Regeln überprüft. Anhand der IP-Adressen stellt der Filter fest, ob Absender und Empfänger überhaupt kommunizieren dürfen. Eine Schicht tiefer im IP-Paket wird anhand des Transportprotokolls und des Anwendungsprotokolls entschieden, ob die Kommunikation derfolgen darf.

Die meisten DSL-Router bringen einen solchen einfachen Paketfilter mit und bieten auf diese Weise eine rudimentäre Schutzfunktion. Das Paket Iptables ist etwas mehr als ein reiner Paketfilter. Es kann zusätzlich erkennen, ob Pakete zu einer schon etablierten TCP-Verbindung gehören (Stateful Inspection), Adressumsetzungen (NAT) zwischen Internet und privatem Netz vornehmen und vieles mehr.

Iptables ordnet je nach Richtung den Netzverkehr standardmäßig einer von drei Regelketten zu, den so genannten Chains. Ist ein Paket direkt an den Computer adressiert, arbeitet es die INPUT-Chain ab. Bevor der Rechner es versendet, muss es die OUTPUT-Chain durchlaufen. Und wenn es vom Computer nur weitergeleitet wird – ob vom inneren Netz zum äußeren oder umgekehrt – passiert es die FORWARD-Chain.

Abbildung 3 stellt die Standardketten von Iptables schematisch dar. Ein Paket wird in der jeweiligen Regelkette der Reihe nach mit den Filterregeln geprüft. Bei einer Übereinstimmung kommt die Regel zur Anwendung, die Bearbeitung endet damit. Falls keine Regel zutrifft, wird eine Standardregel angewandt, die so genannte Policy.

Abbildung 3: Die Standard-Chains von Iptables.

Zu jeder Standard-Chain gehört eine solche Policy. Da man nicht jeden möglichen Fall genau regeln kann, muss es eine Standardantwort für den Rest geben. Dabei kann man zwei Strategien verfolgen: Die eine erlaubt alles, was nicht explizit geregelt ist. Damit stellt man sicher, dass erst einmal alles funktioniert, Unerwünschtes muss man ausdrücklich verbieten. Die zweite Strategie gestattet nur den explizit erwünschten Datenverkehr und verbietet den Rest. Die zweite Variante bietet deutlich mehr Sicherheit, erfordert jedoch in der Regel mehr Konfigurationsaufwand.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1438 Hits
Wertung: 96 Punkte (10 Stimmen)

Schlecht Gut

Infos zum Autor


Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...