Home / LinuxUser / 2007 / 03 / Komplexe Architektur

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 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.

Komplexe Architektur

Netzwerkgrundlagen für die Systemanalyse

Pakete filtern

Erst, wenn diese Hausaufgaben erledigt sind, ergibt es Sinn, den Einsatz einer Firewall zu erwägen. Eine solche vermittelt zwischen einem sicheren und einem unsicheren Netz. Sie schützt das sichere Netz so gut wie möglich, während sie den Zugang zum unsicheren Netz – oft das Internet – ermöglicht. Dazu sortiert der Paketfilter die unerwünschte Pakete aus. Statt eines Netzwerkes schützen Firewalls auch einzelne Hosts, zum Beispiel ein Notebook, das oft auf Reisen geht.

Linux verfügt mit Iptables einen leistungsfähigen Paketfilter, mit dem Sie leicht eine Firewall aufsetzen [12]. Das modulare Iptables verwendet Einstiegspunkte in Kernel-Routinen (Hooks), die Netfilter bereitstellt.

Wie der Name schon sagt, basiert Iptables auf Tabellen mit Regeln zum Bearbeiten von Paketen (Abbildung 6). Eine Regel bestimmt, was mit Paketen geschieht. Die Tabelle filter enthält beispielsweise Regeln zum Filtern von Daten. In nat finden sich Regeln, um Adressen und Ports von Paketen zu manipulieren. Regeln zum Verändern von Paketen landen in der Tabelle mangle. Eigene Tabellen fassen bestimmte Regeln in einer Art Unterprogramm zusammen.

Abbildung 6: Iptables bietet durch seinen Aufbau die Möglichkeit einer flexiblen Konfiguration.

Je nach Tabelle gibt es vorgegebene Regelketten (Chains), die bestimmen, welche Regel zum Einsatz kommt. Die Regelkette INPUT behandelt eingehende Pakete an lokale Prozesse, OUTPUT kümmert sich um solche von lokalen Prozessen nach außen. Das Weiterleiten von Paketen regelt die Kette FORWARD. Vor dem Routing nimmt unter Umständen PREROUTING Einfluss auf die Pakete, und POSTROUTING ist die letzte Eingriffsmöglichkeit, bevor diese auf die Reise gehen.

Oft zum Einsatz kommen die Regelketten INPUT und OUTPUT sowie bei Routern auch FORWARD in der Tabelle filter. Für jede Regelkette existiert in jeder Tabelle eine Standardrichtlinie (Policy), die festlegt, was mit Paketen passiert, auf die keine spezielle Regel passt. Sie gibt als Ziel ACCEPT für das Akzeptieren oder DROP für das Verwerfen von Paketen an.

Dabei existieren zwei grundsätzliche Möglichkeiten, einen Paketfilter aufzubauen: Entweder Sie verbieten alles, was nicht ausdrücklich erlaubt ist, oder Sie erlauben alles, was nicht ausdrücklich verboten ist. Bequemer mag die zweite Möglichkeit erscheinen, sicherer ist die erste.

Jede Regel enthält zwei Teile: Der erste Teil bestimmt, auf welche Pakete die Regel zutrifft. Kriterien zur Auswahl von Paketen sind unter anderem: Quell-IP-Adresse, Ziel-IP-Adresse, Quell-Port, Ziel-Port, Schnittstelle von Quelle oder Ziel. Der zweite Teil gibt an, wie der Filter mit diesen Paketen verfährt.

Neben den eingebauten Zielen ACCEPT und DROP existiert ein weiteres eingebautes Ziel namens REJECT. Bei DROP verwirft Iptables das Paket, ohne den Absender zu informieren. Bei REJECT sendet es den ICMP-Fehler Port unreachable zurück. Bei REJECT meldet der anfragende Client sofort eine abgelehnte Verbindung (Connection refused), während er bei DROP auf die Antwort wartet und nach einem Zeitlimit abbricht.

Das Ziel MASQUERADE schreibt IP-Adresse und Port eines Pakets um, und das Ziel LOG schreibt den Zugriff in eine Protokolldatei. Je nach Ziel beendet Iptables das Abarbeiten der Regelkette (ACCEPT, DROP, REJECT, MASQUERADE) oder setzt es fort (LOG).

Häufig stellt sich die Aufgabe, IP-Pakete ausgehender Verbindungen weiterzuleiten, IP-Pakete eingehender Verbindungen jedoch zu blockieren. Da die Antwortpakete ausgehender Verbindungen jedoch auf einem beliebigen Port zwischen 1024 und 65535 ankommen, gehört es zu den Aufgaben, Pakete an diese Ports zu akzeptieren, auch wenn ein eingehendes Paket gar kein solches Antwortpaket ist. Dadurch gestalten sich einerseits die Regeln komplizierter als nötig, andererseits öffnen sich mehr Löcher als nötig.

Hier kommt der Connection Tracker von Iptables ins Spiel. Er liest den Datenstrom mit und merkt sich, welche Verbindungen der Benutzer oder das System aufbauen. Dieser Mechanismus erlaubt wiederum eine Regel, die wie folgt lautet: Akzeptiere alle eingehenden Pakete, bei denen es sich um Antworten auf ausgehende Verbindungen handelt. Der Connection Tracker arbeitet schnell, da er sich nur das erste Paket einer Verbindung anzusehen braucht. 

Glossar

TCP/IP

Transmission Control Protocol/Internet Protocol. Protokoll-Familie, auf der die Kommunikation in vielen Netzen basiert.

OSI

Siebenschichtiges Modell für die Netzwerkkommunikation. Standardisiert von der International Standards Organisation (ISO).

Ethernet

Kabelgebundene Netzwerktechnologie für lokale Netze (LANs). Weitgehend in IEEE 802.3 standardisiert.

WLAN

Wireless LAN. Netzwerktechnik für Funknetze. Standardisiert durch IEEE 802.11, basiert auf Ethernet.

MAC-Adresse

Weltweit eindeutige Adresse für eine Netzwerkhardware nach dem Ethernet-Standard (Karten für kabelgebundenes Ethernet, WLAN-Adapter, Bluetooth-Adapter). Eine 48-Bit-Zahl, üblicherweise in Hexadezimalschreibweise geschrieben, zum Beispiel: 00:02:8A:4F:58:42.

IP-Adresse

Nummer zum Adressieren von Geräten in einem IP-Netzwerk. Bei IPv4 32 Bit unterteilt in vier Gruppen zu je 8 Bit, in üblicher Dezimalschreibweise zum Beispiel: 192.168.1.1.

ARP

Address Resolution Protocol. Protokoll, um eine Netzwerkaddresse einer Hardwareadresse zuzuordnen.

Port

Adresszusatz in Form einer Nummer zwischen 0 und 65535, die dazu dient, Pakete den richtigen Diensten oder Clients zuzuordnen.

IANA

Internet Assigned Numbers Authority. Organisation, die unter anderen die Vergabe von IP-Adressen, Top-Level-Domains und Standard-Ports regelt.

HTTP

Hypertext Transport Protocol. Protokoll, um Daten über ein Netzwerk zu transportieren. Hauptsächlich fürs WWW eingesetzt.

SMTP

Simple Mail Transfer Protocol. Gängige Technik zum Versand von E-Mails.

POP3

Post Office Protocol 3. Protokoll, mit dem ein E-Mail-Client Mails von einem E-Mail-Server abholt.

IMAP

Internet Message Access Protocol. Protokoll für den Zugriff und zum Verwalten von Mails auf einem entfernten Server.

SSH

Secure Shell. Verschlüsselter Kommunikationskanal für Shell-Sitzungen auf entfernten Computern. Eignet sich auch zum Übertragen von Dateien.

DNS

Domain Name System. System und Protokoll, um Rechnernamen IP-Adressen und umgekehrt zuzuordnen. Beispiel: Der Server www.linux-user.de hat die IP-Adresse 87.106.38.241.

NTP

Network Time Protocol. Ermöglicht die Zeitsynchronisation über ein Netzwerk.

TTL

Time-to-live. Lebenszeit eines Paketes. Gibt die maximale Anzahl der Hops an, die ein Paket machen darf.

WAN

Wide Area Network. Ein weiträumiges Netzwerk, das sich über einen großen geographischen Bereich erstreckt.

NAT

Network Address Translation. Ein Verfahren, um eine IP-Adresse durch eine andere zu ersetzen.

VLANs

Virtual Local Area Netwerk. Ein VLAN ist ein virtuelles lokales Netzwerk innerhalb eines physischen lokalen Netzwerks. Linux unterstützt die Implementation, die der IEEE-Standard 802.1q definiert.

DHCP

Dynamic Host Configuration Protocol. Protokoll zur dynamischen Konfiguration von Hosts.

KISS

Keep It Small and Simple. Prinzip, stets die einfachste mögliche Lösung für ein Problem zu wählen.

Telnet

Dienst und Programm zur zeichenbasierten Kommunikation in beide Richtungen, zum Beispiel für Shell-Sitzungen.

FTP

File Transfer Protocol. Protokoll zum Übertragen von Dateien.

Public-Key-Verfahren

Verschlüsselungsverfahren, das anstatt eines Passworts mit einem zweigeteilten Schlüssel arbeitet. Der private Schlüssel dient zum Entschlüsseln, der öffentliche zum Verschlüsseln.

Infos

[1] Wikipedia-Artikel zu TCP/IP: http://de.wikipedia.org/wiki/TCPIP und http://de.wikipedia.org/wiki/TCP/IP-Referenzmodell

[2] Wikipedia-Artikel zum OSI-Schichten-Modell: http://de.wikipedia.org/wiki/OSI-Modell

[3] Wikipedia-Artikel zum Masquerading: http://de.wikipedia.org/wiki/Masquerading

[4] Linux Advanced Routing and Traffic Control: http://www.lartc.org

[5] Routing: Jörg Fritsch, "Verkehrsplanung", Linux-Magazin Sonderheft 03/2006, S. 64

[6] Ralf Spenneberg, "Übersichtliche Verkehrsregelung", Linux-Magazin 02/2005: http://www.linux-magazin.de/Artikel/ausgabe/2005/02/tcng/tcng.html

[7] Virtuelle LANs: Chris Hübsch, "Patchen ohne Kabel", Linux Magazin 11/2006, S. 56 http://www.linux-magazin.de/Artikel/ausgabe/2006/11

[8] Buqtraq bei SecurityFocus: http://www.securityfocus.com

[9] Debian-Sicherheitsmeldungen: http://www.debian.org/security/

[10] Ubuntu-Sicherheitsmeldungen: http://www.ubuntu.com/usn

[11] Suse-Sicherheitsmeldungen: http://lists.suse.com/archive/suse-security-announce/

[12] Netfilter/Iptables: http://www.netfilter.org

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 115 Punkte (10 Stimmen)

Schlecht Gut

Infos zum Autor

Martin Steigerwald

Martin Steigerwald

Martin Steigerwald arbeitet als Trainer, Consultant und Systemadministrator bei der team(ix) GmbH in Nürnberg. Schwerpunkte seiner Tätigkeit sind Linux-Schulungen, die Konzeption, Installation und Wartung solider IT-Infrastruktur auf Basis von Debian Linux sowie Second Level Support für Linux als Business-Desktop bei Kunden von teamix(ix).


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...