EinführungFirewalls ermöglichen es, den ein- und ausgehenden
- Netzwerkverkehr Ihres Systems zu filtern. Dazu verwendet eine
+ Netzwerkverkehr eines Systems zu filtern. Dazu verwendet eine
Firewall eine oder mehrere Gruppen von Regeln,
um ankommende Netzwerkpakete zu untersuchen und entweder
durchzulassen oder zu blockieren. Die Regeln einer
@@ -51,54 +51,76 @@
- Den Schutz der Anwendungen, Dienste und Rechner Ihres
+ Den Schutz der Anwendungen, Dienste und Rechner eines
internen Netzwerks vor unerwünschtem Datenverkehr
aus dem Internet.Die Beschränkung des Zugriffs von Rechnern des
- internen Netzwerk auf Rechner oder Dienste des externen
+ internen Netzwerks auf Rechner oder Dienste des öffentlichen
Internets.Den Einsatz von Network Address Translation
- (NAT), die es Ihnen durch die Verwendung
+ (NAT), welches es durch die Verwendung
von privaten IP-Adressen ermöglicht,
eine einzige gemeinsame Internetverbindung für mehrere
- Rechner zu nutzen (entweder über eine einzige Adresse
- oder über eine Gruppe von jeweils automatisch
- zugewiesenen öffentlichen
- IP-Adressen).
+ Rechner zu nutzen. Dies geschieht entweder über eine
+ einzige IP-Adresse oder über eine Gruppe
+ von jeweils automatisch zugewiesenen öffentlichen
+ Adressen.
- Nachdem Sie dieses Kapitel gelesen haben, werden Sie:
+ Das Basissystem von &os; enthält drei Firewalls:
+ PF, IPFW
+ und IPFILTER (auch als
+ IPF bekannt). &os; enthält ebenfalls
+ zwei Traffic-Shaper zur Kontrolle
+ der Bandbreite: &man.altq.4; und &man.dummynet.4;.
+ ALTQ ist traditionell eng an
+ PF gebunden, während
+ dummynet zusammen mit
+ IPFW verwendet wird.
+ Gemeinsam ist allen Firewalls, dass sie Regeln einsetzen, um den
+ Transfer von ein- und ausgehenden Datenpaketen des Systems
+ zu steuern. Unterschiedlich ist aber die Art und Weise, wie
+ dies realisiert wird. Auch die für diese Regeln verwendete
+ Syntax ist unterschiedlich.
+
+ &os; besitzt mehrere Firewalls, um den unterschiedlichen
+ Anforderungen und Vorlieben von Benutzern gerecht zu werden.
+ Jeder Benutzer sollte selbst beurteilen, welche Firewall seinen
+ Bedürfnissen am besten entspricht.
+
+ Nachdem Sie dieses Kapitel gelesen haben, werden Sie
+ wissen:
- Wissen, wie man korrekte Paketfilterregeln erstellt.
+ Wie man Paketfilterregeln erstellt.
- Die Unterschiede zwischen den in &os; eingebauten Firewalls
- kennen.
+ Was die Unterschiede zwischen den in &os; eingebauten
+ Firewalls sind.
- Wissen, wie man die PF-Firewall
- von OpenBSD konfiguriert und einsetzt.
+ Wie die PF-Firewall
+ konfiguriert und einsetzt wird.
- IPFILTER konfigurieren und
- einsetzen können.
+ Wie die IPFW-Firewall
+ konfiguriert und einsetzt wird.
- Wissen, wie man IPFW konfiguriert
- und einsetzt.
+ Wie die IPFILTER-Firewall
+ konfiguriert und einsetzt wird.
@@ -110,6 +132,16 @@
verstehen.
+
+
+ Da alle Firewalls auf der Inspektion ausgewählter
+ Kontrollfelder in Datenpaketen basieren, muss für die
+ Erstellung von Firewallregeln ein grundlegendes Verständnis
+ von TCP/IP vorhanden sein. Eine gute
+ Einführung finden Sie in
+ Daryl's TCP/IP Primer.
+
@@ -117,96 +149,147 @@
firewall
-
- rulesets
+ Regelsatz
- Es gibt zwei grundlegende Arten, Regelgruppen für
- Firewalls zu erstellen: einschließend
- (inclusive firewall) sowie
- auschließend (exclusive
- Firewall). Eine auschließende Firewall
- lässt jeden Datenverkehr durch, der nicht durch eine Regel
- ausgeschlossen wurde. Eine einschließende Firewall macht
- das genaue Gegenteil. Sie lässt Datenverkehr nur dann
- durch, wenn er einer der definierten Regeln entspricht.
-
- Eine inclusive Firewall bietet eine wesentlich bessere Kontrolle
- des ausgehenden Verkehrs, macht sie zur besseren Wahl für Systeme,
- die Services für das Internet anbieten. Sie kontrolliert
- auch den Verkehr vom Internet zu ihrem privaten Netzwerk. Jeder Verkehr,
- der keiner Regel entspricht wird geblockt und geloggt. Inclusive
- Firewalls sind generell sicherer als exclusive Firewalls, da sie das
- Risiko, dass unerwünschter Verkehr hindurch geht, drastisch
- reduzieren.
+ Ein Regelsatz besteht aus einer Gruppe von Regeln, die
+ Pakete basierend auf ihren Inhalt entweder blockieren oder
+ durchlassen. Der bidirektionale Austausch von Paketen zwischen
+ zwei Rechnern wird als Sitzung
+ (Session) bezeichnet. Der
+ Regelsatz verarbeitet sowohl ankommende Pakete aus dem
+ Internet, als auch die vom System erzeugten Antwortpakete.
+ Jeder TCP/IP-Dienst hat ein festgelegtes
+ Protokoll und einen vorgegebenen Port. Pakete für einen
+ bestimmten Dienst stammen von einer Quelladresse und einem
+ unprivilegierten Port und gehen an einen spezifischen Port
+ auf der Zieladresse. Alle oben genannten Parameter können als
+ Selektionskriterien verwendet werden, um einen Regelsatz zu
+ erstellen, der den Zugriff auf bestimmte Dienste gewährt oder
+ blockiert.
+
+ Unbekannte Portnummern können Sie in
+ /etc/services nachschlagen.
+ Alternativ finden Sie die Portnummern und deren Verwendungszweck
+ auf
+ http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers.
+
+ Die Seite
+ http://www.sans.org/security-resources/idfaq/oddports.php
+ enthält eine Liste der Portnummern, die auch von Trojanern
+ benutzt werden.
+
+ FTP hat zwei Modi: Aktiv und Passiv.
+ Unterschied liegt in der Bestimmung des Datenkanals. Der
+ Passiv-Modus ist sicherer, da der Datenkanal vom Client
+ bestimmt wird. Eine ausführliche Erklärung von
+ FTP und den verschiedenen Modi finden Sie
+ unter
+ http://www.slacksite.com/other.ftp.html.
+
+ Ein Firewall-Regelsatz kann entweder
+ einschließend (inclusive
+ firewall) oder ausschließend
+ (exclusive Firewall) sein. Eine
+ ausschließende Firewall lässt jeden Datenverkehr durch, der
+ nicht durch eine Regel ausgeschlossen wurde. Eine
+ einschließende Firewall macht das genaue Gegenteil. Sie lässt
+ Datenverkehr nur dann passieren, wenn dieser einer der
+ definierten Regeln entspricht.
+
+ Eine einschließende Firewall bietet eine wesentlich bessere
+ Kontrolle des ausgehenden Verkehrs, was sie zur besseren Wahl
+ für Systeme macht, welche Dienste für das Internet anbieten.
+ Sie kontrolliert auch den Verkehr aus dem öffentlichen Internet
+ zum privaten Netzwerk. Jeder Verkehr, der keiner Regel
+ entspricht wird geblockt und protokolliert. Einschließende
+ Firewalls sind generell sicherer als ausschließende Firewalls,
+ da sie das Risiko, dass unerwünschter Verkehr hindurch geht,
+ drastisch reduzieren.Wenn nicht anders vermerkt, verwenden alle Konfigurationen
- und Beispielregelsets dieses Kapitels inclusive Firewalls.
+ und Regelsätze in diesem Kapitel einschließende
+ Firewalls.
- Die Sicherheit einer Firewall kann durch den Einsatz einer
- zustandsabhängigen Firewall
+ Die Sicherheit kann durch den Einsatz einer
+ zustandsorientierten Firewall
(stateful firewall) weiter
- erhöht werden. Dieser Typ einer Firewall
- überwacht alle durch die Firewall gehenden offenen
- Verbindungen und erlaubt nur schon bestehenden Verkehr oder
- Datenverkehr, der eine neue Verbindung öffnet. Der Nachteil
- einer zustandsabhängigen Firewall ist allerdings, dass sie
- anfällig für Denial of Service (DoS)
- -Attacken ist, wenn sehr schnell sehr viele neue Verbindungen
- erstellt werden. Bei den meisten Firewalls können Sie eine
- Kombination aus zustandsabhängigem und nicht
- zustandsabhängigem Verhalten verwenden, um eine für Ihre
- Bedürfnisse optimale Firewall einzurichten.
-
+ erhöht werden. Dieser Typ Firewall überwacht alle offenen
+ Verbindungen und erlaubt nur Datenverkehr von bereits
+ bestehenden Verbindungen oder wenn eine neue Verbindung
+ aufgebaut wird.
+
+ Eine zustandsorientierte Firewall behandelt den Verkehr
+ als einen bidirektionalen Austausch von Paketen während einer
+ Session. Wenn ein Zustand für eine passende Regel angegeben
+ wird, erstellt die Firewall dynamisch interne Regeln für jedes
+ Paket, das während dieser Session ausgetauscht wird. Die
+ Firewall hat ausreichend Möglichkeiten, um zu bestimmen, ob ein
+ Paket zu einer Session gehört. Alle Pakete, die nicht zu dieser
+ Session passen, werden automatisch abgelehnt.
+
+ Sobald die Session beendet ist, wird sie aus der
+ dynamischen Zustandstabelle entfernt.
+
+ Eine zustandsorientierte Filterung erlaubt es, sich auf die
+ Sperrung bzw. Freigabe von neuen Sessions zu konzentrieren.
+ Wenn eine neue Session genehmigt wird, werden alle nachfolgenden
+ Pakete dieser Session automatisch erlaubt und betrügerische
+ Pakete werden automatisch abgelehnt. Wenn eine neue Session
+ nicht genehmigt wird, werden alle nachfolgenden Pakete dieser
+ Session abgelehnt. Die zustandsorientierte Filterung bietet
+ fortgeschrittene Fähigkeiten zur Abwehr von verschiedensten
+ Angriffsmethoden, die von Angreifern eingesetzt werden.
+
+ NAT steht für Network Address
+ Translation. Die NAT-Funktion
+ ermöglicht es einem privaten LAN hinter einer
+ Firewall, sich eine einzelne vom ISP
+ zugewiesene IP-Adresse zu teilen, auch wenn
+ die Adresse dynamisch zugewiesen wird. NAT
+ ermöglicht den Internetzugriff für jeden Rechner im
+ LAN, ohne dass der ISP für
+ mehrere Internet-Konten bezahlt wird.
+
+ NAT übersetzt automatisch die private
+ IP-Adresse auf die öffentliche
+ IP-Adresse, sobald ein Paket für das
+ öffentliche Internet die Firewall passiert. Zusätzlich führt es
+ auch die Übersetzung der Anwortpakete durch.
+
+ Gemäß RFC 1918 sind die folgenden
+ IP-Adressbereiche für private Netzwerke
+ reserviert und werden nie ins öffentliche Internet
+ weitergeleitet. Daher sind diese Bereiche für den Einsatz
+ mit NAT geeignet:
-
- Firewallpakete
+
+
+ 10.0.0.0/8
+
- Das Basissystem von &os; enthält bereits drei
- Firewallpakete: IPFILTER (auch als
- IPF bekannt), IPFIREWALL
- (auch als IPFW bezeichnet) sowie das von OpenBSD
- übernommene PacketFilter (das auch als
- PF bezeichnet wird). Zusätzlich
- verfügt &os; über zwei eingebaute Pakete für das
- sogenannte traffic shaping (dabei
- handelt es sich die Steuerung des Bandbreitenverbrauchs):
- &man.altq.4; sowie &man.dummynet.4;. Dummynet steht traditionell
- in enger Verbindung mit IPFW, während
- ALTQ gemeinsam mit PF
- eingesetzt wird. Traffic Shaping für IPFILTER ist derzeit
- mit IPFILTER für NAT sowie Filterung und
- mit IPFW und &man.dummynet.4;
- oder durch die Kombination von
- PF mit ALTQ möglich.
- Gemeinsam ist allen Firewallpaketen (IPF, IPFW sowie PF), dass sie
- Regeln einsetzen, um den Transfer von Datenpaketen auf und von
- Ihrem System zu regeln. Unterschiedlich sind aber die Art und
- Weise, wie dies realisiert wird. Auch die für diese Regeln
- verwendete Syntax ist unterschiedlich.
-
- &os; überlässt es dem Anwender, das Firewallsystem
- zu wählen, dass seinen Anforderungen und Vorlieben am Besten
- entspricht. Keines der im Basissystem enthaltenen Firewallpakete
- wird dabei als das beste angesehen.
-
- IPFILTER hat etwa den Vorteil, dass dessen
- zustandsabhängige Regeln relativ einfach in einer
- NAT-Umgebung implementiert werden können.
- Außerdem verfügt es über einen eigenen FTP-Proxy,
- der die Erstellung von sicheren Regeln für ausgehende
- FTP-Verbindungen vereinfacht.
-
- Da alle Firewalls auf der Untersuchung der Werte
- ausgewählter Kontrollfelder von Datenpaketen basieren, ist es
- für die Erstellung von Firewallregeln notwendig, die
- Funktionsweise von TCP/IP zu verstehen.
- Außerdem muss man dazu wissen, was die Werte der einzelnen
- Kontrollfelder bedeuten und wie diese während einer
- Verbindung eingesetzt werden. Eine gute Erklärung dieser
- Thematik finden Sie unter http://www.ipprimer.com/overview.cfm.
+
+ 172.16.0.0/12
+
+
+
+ 192.168.0.0/16
+
+
+
+
+ Seien Sie äußerst vorsichtig wenn Sie
+ mit Firewallregeln arbeiten. Durch eine falsche Konfiguration
+ kann der Administrator den Zugriff auf den Server verlieren.
+ Um auf der sicheren Seite zu sein, sollten Sie die anfängliche
+ Konfiguration der Firewall von der lokalen Konsole
+ durchführen, anstatt dass Sie dies aus der Ferne über
+ ssh tun.
+
@@ -534,7 +617,7 @@
betreut und gesteuert werden kann. Die Regeln der Firewall werden
mit dem Programm &man.ipf.8; gesetzt oder gelöscht. Für
die Manipulation der NAT Regeln verwendet man
- &man.ipnat.1;. Mit &man.ipfstat.8; werden Laufzeitstatistiken der
+ &man.ipnat.8;. Mit &man.ipfstat.8; werden Laufzeitstatistiken der
kernelseitigen Anteile von IPFILTER aufgelistet. Und mit dem
Programm &man.ipmon.8; kann man die Aktionen von IPFILTER in die
Protokolldateien des Systems speichern.
@@ -557,8 +640,11 @@
einschließenden Regelsatz erstellen können.
Für eine ausführliche Erläuterung der alten Methode
- zur Regelverarbeitung schauen Sie bitte auf http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1
- oder http://coombs.anu.edu.au/~avalon/ip-filter.html.
+ zur Regelverarbeitung schauen Sie bitte auf
+ http://www.munk.me.uk/ipf/ipf-howto.html oder
+ http://coombs.anu.edu.au/~avalon/ip-filter.html.
Antworten auf häufige Fragen finden Sie unter
http://www.phildev.net/ipf/index.html.
@@ -1714,7 +1800,7 @@
block in log first quick on dc0 proto tcp/udp from any to any port = 81
# Allow traffic in from ISP's DHCP server. This rule must contain
-# the IP address of your ISP's DHCP server as it's the only
+# the IP address of your ISP's DHCP server as it is the only
# authorized source to send this packet type. Only necessary for
# cable or DSL configurations. This rule is not needed for
# 'user ppp' type connection to the public Internet.
@@ -1846,7 +1932,7 @@
NAT rules are loaded by using the
ipnat command. Typically the
NAT rules are stored in
- /etc/ipnat.rules. See &man.ipnat.1; for
+ /etc/ipnat.rules. See &man.ipnat.8; for
details.When changing the NAT rules after