|
|
Funktionsweise einer FirewallEin Firewall soll einen Einbruch in ein privates Netz verhindern, obwohl das Netz nach außen mit einem öffentlichen Netz verbunden ist. Ist eine TCP/IP-Verbindung einmal hergestellt, wird auch jedes Protokoll transportiert. Ein Router interessiert sich nicht für den Inhalt der Pakete, der er vermittelt. Vom Prinzip funktioniert eine Firewall so, dass die Verbindung nach außen durchgeschnitten wird und ein Rechner mit zwei Netzwerkschnittstellen dazwischen gesetzt wird. Dieser Computer arbeitet fast wie ein Router. Allerdings schickt er nicht jedes Paket auf die andere Seite, sondern überprüft anhand seiner Regeln, ob das Paket passieren darf, ob es zurückgewiesen werden soll oder einfach nur verworfen wird. Da jedes Paket die IP Nummer des Senders und des Empfängers enthält und darüber hinaus die Portnummer der beiden, kann der Firewall"-Rechner erkennen, zu welchem Zweck das Paket versandt wurde. Beispielsweise wird eine Anfrage an einen Webserver im Internet als Empfänger eine IP-Nummer haben, die nicht zum Firmennetz gehört und eine Portnummer 80. Der Absender hat eine IP-Nummer aus dem Firmenbereich und als Portnummer eine beliebige Nummer, die nicht zu den well known ports gehört. Bei der Antwort des Servers werden Empfänger und Absender umgetauscht. Dagegen würde ein Versuch, den firmeninternen Intranetwebserver von außen anzugreifen, anders aussehen. Der Empfänger des Pakets hätte eine IP Nummer des internen Firmennetzes und die Portnummer wäre 80. Es ist also an den Paketadressen erkennbar, wer Client und wer Server ist. Üblicherweise startet man die Firewallregeln damit, jede Kommunikation zu unterbinden. Anschließend werden sukzessive die benötigten und ungefährlichen Kommunikationswege zugelassen. Es muss also der Zugriff auf Webserver über den Port 80 nach außen explizit frei gegeben werden, sonst kann niemand im Internet surfen.
ipchains und iptablesDas Paket ipchains wird mit den Linuxversionen bis Kernelversion 2.2 ausgeliefert. Das ab Version 2.4 verwendete Paket iptables ist weitgehend aufrufkompatibel.
In Regeln wird festgelegt, wie mit einem Paket verfahren werden soll.
Dabei gibt es verschiedene Aktionen, die in Abhängigkeit von der Art des
Paketes eingeleitet werden können. Die Regeln werden in einem Skript durch
den mehrfachen Aufruf von
[Aktionen]L|L
Aktion & Wirkung
Zu Anfang werden alle Regeln gelöscht. Das macht die Option -F (flush).
ipchains -F input ipchains -F output ipchains -F forward Mit der Option -A (add) werden Regeln hinzugefügt. Die folgenden zwei Regeln besagen, dass Pakete von den Schnittstellen eth0 und lo erlaubt sind.
ipchains -A input -i lo -j ACCEPT ipchains -A input -i eth0 -j ACCEPT Dagegen sind Zugriffe von außen mit den freien Netzwerkadressen verdächtig. An sich werden diese im Internet nicht geroutet, also sollten sie gar nicht auftreten können. Entsprechend kann man von IP-Adressenfälschung ausgehen und solch verdächtige Pakete werden abgelehnt.
ipchains -A input -i ppp0 -s 192.168.0.0/16 -j DENY ipchains -A input -i ppp0 -s 172.16.0.0/12 -j DENY ipchains -A input -i ppp0 -s 10.0.0.0/8 -j DENY Von außen wollen wir alle Zugriffe per telnet (Port 23) ausschließen. Aber SMTP (Port 25) und SSH (Port 22) soll erlaubt sein.
ipchains -A input -i ppp0 -p tcp -dport 22 -j ACCEPT ipchains -A input -i ppp0 -p tcp -dport 23 -j DENY ipchains -A input -i ppp0 -p tcp -dport 25 -j ACCEPT
ipfwipfw ist eine andere Implementierung einer Firewall. Hier die Kommandos, die Kommunikationswege zu löschen und dann den Zugriff des SSH-Zugriffs über de0.
ipfw -f flush ipfw add 600 allow tcp from any to any 22 in via de0 Letztlich ist das Vorgehen in beiden Fällen identisch, lediglich die Syntax unterscheidet sich. Hier liegt auch derzeit die Problematik der verschiedenen Firewalls. Es gibt keine einheitliche Syntax, obwohl an sich alle Varianten ähnlich arbeiten.
Möglichkeiten und GrenzenMit einer Firewall können neben dem Schutz vor Einbrüchen unter anderem auch folgende Ziele erreicht werden:
Trotz der oft gehörten gegenteiligen Annahme ist eine Firewall aber keineswegs in der Lage, einen Vireneinbruch zu verhindern. Ein Virus, das über das Netz eindringt, wird als ausführbare Datei im Anhang einer E-Mail transportiert. Durch das Starten dieser Datei wird meist die Netzwerkkomponente des Betriebssystems verändert. Das ist allerdings bei UNIX unmöglich, da nur der Administrator das könnte.Das ist ein Beispiel dafür, warum ein UNIX-Anwender niemals als arbeitet, wenn es vermeidbar ist. Von dort hängt erzeugt das Virus E-Mails mit sich selbst als Anhang an E-Mailadressen, die es entweder Adressverzeichnissen oder dem Datenstrom, der durch das Socketmodul fließt, entnimmt. Da eine Firewall auf die Ziele und Absender der Pakete, aber nicht auf den Inhalt der Pakete schaut, kann sie einen Virus nicht erkennen. Des weiteren ist eine Firewall ein Schutz gegen einen Einbruch über das Internet. Es schützt niemals gegen den Angriff aus den eigenen Reihen. Darum ist eine existierende Firewall kein Grund, die Sicherheit der einzelnen Rechner zu vernachlässigen.
StandardpaketfilterDie Distributionen unter Linux bringen bereits Paketfilter für Rechner mit, die direkt an das Internet angeschlossen werden sollen. Diese Pakete sind zwar nicht individuell auf optimale Sicherheit gestrickt, aber sie sind sicher besser, als die ersten eigenen Versuche. Immerhin ist es ein kostenloser Schutz, auf den Sie nicht leichtfertig verzichten sollten. Da der Paketfilter auf dem Arbeitsplatzrechner installiert ist, kann er natürlich nicht so sicher sein wie eine separate Firewall. Einen solchen separat stehenden Computer können Sie in seinen Netzverbindungen vollständig beschränken. Das ist mit einem Arbeitsplatzrechner natürlich nicht möglich. Die Konfiguration einer Firewall sollten Sie nur selbst machen, wenn Sie über eine gute Kenntnis der verschiedenen Protokolle von TCP/IP verfügen. Ferner hilft ein Gespür, an welchen Stellen Sicherheitslöchen entstehen und die Lektüre der aktuellen Sicherheitswarnungen. Unter der folgenden Adresse finden sich regelmäßig die aktuellsten Sicherheitshinweise direkt nach ihrem Bekanntwerden. http://www.cert.org/
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|