Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.5. Firewalls

Die Informationssicherheit wird üblicherweise als Prozess und nicht als Produkt angesehen. Allerdings setzen standardmäßige Sicherheitsimplementierungen normalerweise gewisse Mechanismen ein, um Zugriffsrechte zu steuern und Netzwerkressourcen auf Benutzer zu beschränken, die autorisiert, identifizierbar und nachverfolgbar sind. Red Hat Enterprise Linux enthält mehrere Tools, die Administratoren und Sicherheitstechnikern bei Fragen der Zugangskontrolle auf Netzwerkebene unterstützen können.
Firewalls sind einer der Kernbestandteile bei einer Sicherheitsimplementierung im Netzwerk. Mehrere Hersteller bieten Firewall-Lösungen an, die für alle Bereiche des Marktes geeignet sind: vom privaten Benutzer zum Schutz eines einzelnen PCs, bis hin zu Lösungen für Datenzentren, wo wichtige Unternehmensinformationen geschützt werden. Firewalls können eigenständige Hardware-Lösungen sein, wie die Firewall-Geräte von Cisco, Nokia und Sonicwall. Anbieter wie z. B. Checkpoint, McAfee und Symantec haben zudem proprietäre Software-Firewall-Lösungen für den Heim-und Firmenbereich entwickelt.
Neben den Unterschieden zwischen Hardware- und Software-Firewalls gibt es auch Unterschiede in der Funktionsweise von Firewalls, die die verschiedenen Lösungen voneinander abheben. Tabelle 2.2, »Firewall-Typen« erklärt drei gängige Firewall-Typen und deren Funktionsweise:

Tabelle 2.2. Firewall-Typen

Methode Beschreibung Vorteile Nachteile
NAT Network Address Translation (NAT) platziert private IP-Subnetzwerke hinter eine einzige oder eine kleine Gruppe von externen IP-Adressen, wodurch alle Anfragen wie von einer Quelle erscheinen statt von mehreren. Der Linux-Kernel hat eine integrierte NAT-Funktionalität durch das Netfilter-Kernel-Subsystem.
· Kann transparent auf Rechnern auf einem LAN konfiguriert werden
· Der Schutz vieler Rechner und Dienste hinter einer oder mehreren externen IP-Adressen vereinfacht die Verwaltung
· Benutzerzugriff vom bzw. auf das LAN kann konfiguriert werden, indem Ports auf der NAT Firewall/Gateway geöffnet bzw. geschlossen werden
· Kann keine bösartigen Aktivitäten verhindern, sobald sich Benutzer mit einem Dienst außerhalb der Firewall verbinden
Paketfilter Paketfilter-Firewalls lesen alle Datenpakete, die sich im LAN bewegen. Pakete können mithilfe der Kopfzeileninformation gelesen und bearbeitet werden. Die Pakete werden auf der Grundlage von programmierbaren Regeln gefiltert, die vom Administrator der Firewall aufgestellt wurden. Der Linux-Kernel hat eine integrierte Paketfilterfunktion über das Netfilter-Kernel-Subsystem.
· Anpassbar mithilfe des iptables Frontend-Hilfsprogramms
· Erfordert keinerlei Anpassungen auf Client-Seite, da sämtliche Netzwerkaktivität auf Routerebene statt auf Applikationsebene gefiltert wird
· Da Pakete keinen Proxy passieren, ist die Netzwerkgeschwindigkeit aufgrund der direkten Verbindungen vom Client zum Remote-Host höher
· Kann Pakete nicht nach Inhalt filtern wie Proxy-Firewalls
· Verarbeitet Pakete auf Protokollebene, kann Pakete jedoch nicht auf Applikationsebene filtern
· Komplexe Netzwerkarchitekturen erschweren das Einrichten von Paketfilter-Regeln, insbesondere wenn es zusammen mit IP-Masquerading oder lokalen Subnetzen und DMZ-Netzwerken eingesetzt wird
Proxy Proxy-Firewalls filtern alle Anfragen eines bestimmten Protokolls oder Typs von den LAN-Clients zu einer Proxy-Maschine, von wo aus die Anfragen im Auftrag des lokalen Clients an das Internet gestellt werden. Eine Proxy-Maschine fungiert als ein Puffer zwischen bösartigen Benutzern von außen und den internen Client- Maschinen des Netzwerkes.
· Ermöglicht Administratoren Kontrolle darüber, welche Applikationen und Protkolle außerhalb des LAN funktionieren sollen
· Einige Proxy-Server können Daten, auf die häufiger zugegriffen wird, lokal zwischenspeichern, so dass diese Daten nicht jedesmal neu über die Internetverbindung abgefragt werden müssen. Dadurch wird Bandbreite gespart
· Proxy-Dienste können genauestens überwacht und protokolliert werden, wodurch eine bessere Kontrolle des Ressourcenverbrauchs auf dem Netzwerk ermöglicht wird
· Proxys sind oft applikationsspezifisch (HTTP, Telnet, etc.), oder beschränkt auf ein Protokoll (die meisten Proxys funktionieren ausschließlich mit Diensten, die über TCP verbinden)
· Applikationsdienste können nicht hinter einem Proxy ausgeführt werden, Ihre Applikationsserver müssen demnach eine separate Form der Netzwerksicherheit verwenden
· Proxys können zu einem Engpass im Netzwerk werden, da alle Anfragen und Übertragungen diese eine Stelle passieren müssen, statt direkt vom Client zum entfernten Dienst zu verbinden

2.5.1. Netfilter und IPTables

Der Linux-Kernel enthält ein leistungsstarkes Netzwerk-Subsystem namens Netfilter. Das Netfilter-Subsystem bietet eine Paketfilterung mit oder ohne Status sowie NAT- und IP-Maskierungsdienste. Netfilter ist zudem dazu in der Lage, IP-Kopfzeileninformation für fortgeschrittenes Routing und zur Überprüfung des Verbindungszustandes zu überarbeiten (engl. mangle). Netfilter wird durch das iptables-Hilfsprogramm gesteuert.

2.5.1.1. Überblick über IPTables

Die Leistungsstärke und Flexibilität von Netfilter wird mithilfe des iptables-Verwaltungstools implementiert, ein Befehlszeilentool, das eine ähnliche Syntax wie sein Vorgänger ipchains verwendet. ipchains wurde ab dem Linux-Kernel 2.4 durch Netfilter/iptables abgelöst.
iptables verwendet das Netfilter-Subsystem zur Erweiterung, Untersuchung und Verarbeitung der Netzwerkverbindungen. iptables bietet verbesserte Protokollierung, Pre- und Post-Routing Aktionen, Network Address Translation und Port-Weiterleitung, alles in einer einzigen Befehlszeilenschnittstelle.
Dieser Abschnitt enthält eine Übersicht über iptables. Für weitere Informationen werfen Sie bitte einen Blick auf Abschnitt 2.6, »IPTables«.