-
Hintergrund
der Erfindung
-
Die
Erfindung betrifft eine Firewall-Vorrichtung zum Steuern des Verkehrs
von Daten-paketen zwischen einem internen und einem externen Netzwerk.
-
Eine
Firewall ist ein weit verbreiteter Sicherheitsmechanismus zur Kontrolle
und Über-wachung des
Zugriffs an der Grenze zwischen "offenen" und privaten Netzwerken
oder administrativen Domänen.
-
Die
europäische
Patentanmeldung
EP
0 909 073 A2 schlägt
zum Beispiel eine Firewall mit einem Proxy vor, bei der der Firewall
der Befehl gegeben werden kann, eine Netzwerksitzung zur Verarbeitung an
einen eigenständigen
Server umzuleiten, um die Firewall von Anwendungs-Proxys zu entlasten.
Zusätzlich
kann die Firewall so kon-figuriert werden, dass sie eine "Stateful"-Paketfilterung verwendet,
ein Verfahren, bei dem die Ergebnisse der auf ein oder mehrere Pakete
angewandten Regelverarbeitung zur Verwendung bei nachfolgenden Paketen
gespeichert werden.
-
Im
Rahmen der Netzwerk-Infrastruktur sind Firewalls stark von der Entwicklung
neuer Kommunikations-Paradigmen und -Anwendungen betroffen. Die
derzeit vorhandenen Firewall-Vorrichtungen haben Probleme bei der
Unterstützung
von Multimedia-Anwendungen.
-
Vorteile der
Erfindung
-
Die
Erfindung gemäß den Merkmalen
des selbstständigen
Anspruchs hat den Vorteil, dass Multimedia-Anwendungen von der Firewall-Vorrichtung besser
unter stützt
werden. Multimedia-Anwendungen verwenden kontinuierliche Medien
und diskrete Medien-daten, wobei die kontinuierlichen Medien Audio-
und/oder Video-Ströme sind,
die einen hohen Durchsatz und die Einhaltung von Echtzeitspezifikationen,
wie begrenzte Verzögerung
oder Jitter, verlangen. Die diskreten Medien bestehen üblicherweise
aus Steuerdatenströmen
für die
Audio- und Video-Datenströme
sowie zusätzlichen
Informationen (z.B. Meta-Daten). Die Komponenten der erfindungsgemäßen Firewall-Vorrichtung
sind in der Lage, sich selbstständig
anderen Komponenten anzupassen oder diese zu beeinflussen, ihre
individuelle Konfiguration anzupassen. Es ist möglich, den Zustand des gesamten
Firewall-Systems
gemäß den Anforderungen
der augen-blicklichen Kommunikationssituation oder des Kommunikationszustands
zusammen-hängend
zu steuern. Erfindungsgemäß ist es
auch möglich,
Paketströme
einzeln durch das Firewall-System oder die Firewall-Vorrichtung
zu leiten.
-
Ferner
ist es vorteilhaft, dass diese Firewall-Komponenten Filtermittel
und Routing-Mittel umfassen, dass diese Filtermittel und diese Routing-Mittel
als Filter ausgeführt
sind, welche Informationen aus der Anwendungsebene extrahieren ("Stateful"-Filter) und dass
diese Routing-Mittel als mindestens ein Proxy ausgeführt sind.
Somit vereinigt die Erfindung die Vorteile verschiedener Firewall-Techniken
in sich.
-
Ferner
ist es vorteilhaft, dass diese Firewall-Vorrichtung Austauschmittel
bereithält,
um Firewall-Daten zwischen den Firewall-Komponenten auszutauschen,
wobei die Firewall-Daten von den Netzwerkdaten verschieden sind.
Somit ist die Firewall-Vorrichtung anpassbar, je nach Kommunikationszustand
und/oder Art der Netzwerkdaten.
-
Ferner
ist es vorteilhaft, dass ein Fluss verschiedenartiger Datenpakete
des Netzwerks durch die Filtermittel transparent aufgespalten wird
und dass dieser Fluss verschieden-artiger Datenpakete des Netzwerks
durch die Filtermittel transparent wieder zusammen-gesetzt wird.
Somit können
z.B. Steuerkanäle
von den Daten kanälen
getrennt werden und dann unterschiedlich und von gut gelegenen,
dynamisch ladbaren und erweiter-baren Komponenten bearbeitet werden.
-
Ferner
ist es vorteilhaft, dass jede der Firewall-Komponenten mit jeder
anderen ver-bunden ist. Somit sind die Komponenten leicht verbindbar,
und jede von ihnen kann mit jeder anderen Komponente kommunizieren.
-
Ferner
ist es vorteilhaft, dass die Firewall-Vorrichtung eine zentrale
Komponente und mindestens zwei weitere Komponenten umfasst, wobei die
zentrale Komponente mit jeder der weiteren Komponenten verbunden
ist. Somit müssen
sich die Komponenten nicht gegenseitig finden und müssen nicht den
Zustand jeder Komponente verfolgen. Außerdem ist die maximale Anzahl
von möglichen
Kommunikationsbeziehungen kleiner. Ferner sind Kompatibilitätsprobleme
leichter vermeidbar.
-
Ferner
ist es vorteilhaft, dass diese Firewall-Vorrichtung mit einem Registrierungs-mechanismus
ausgestattet ist, so dass eine weitere Komponente zu der Firewall-Vorrichtung
hinzugefügt
werden kann. Die Kern- oder zentrale Komponente ist dann in der
Lage, einen Ortungsmechanismus bereitzustellen, der es den Komponenten
ermöglicht,
einander zu finden.
-
Ferner
ist es vorteilhaft, dass mindestens eine der Firewall-Komponenten
als IP-Filter-Adapter ausgeführt ist.
Somit können
IP-Pakete durch die Firewall-Vorrichtung über-tragen werden.
-
Ferner
ist es vorteilhaft, dass mindestens eine der Firewall-Komponenten
als Proxy-Adapter für IP-Telefonie
ausgeführt
ist. Somit stehen der Firewall-Vorrichtung IP-Telefonie und insbesondere
die H.323-Proxy-Funktionalität
zur Verfügung.
-
Zeichnungen
-
Die
Erfindung ist in den Zeichnungen dargestellt und wird in der folgenden
Beschreibung ausführlich
beschrieben.
-
1 zeigt
eine erste Ausführungsform
einer erfindungsgemäßen Firewall-Architektur.
-
2 zeigt
eine zweite Ausführungsform
einer erfindungsgemäßen Firewall-Architektur.
-
3 zeigt
eine dritte Ausführungsform
einer erfindungsgemäßen Firewall-Architektur.
-
4 zeigt
ein Kommunikationsbeispiel im Detail.
-
Beschreibung
der bevorzugten Ausführungsform
-
Bevor
die Einzelheiten der Erfindung besprochen werden, wird Bezug genommen
auf Lösungen nach
dem Stand der Technik und Definitionen, die später zur Beschreibung der erfindungsgemäßen Firewall-Architektur
verwendet werden.
-
Firewalls
sind ein weit verbreiteter Sicherheitsmechanismus zur Kontrolle
und Über-wachung des
Zugriffs an der Grenze zwischen "offenen" und privaten Netzwerken
oder administrativen Domänen. Im
Rahmen der Netzwerk-Infrastruktur sind sie stark von der Entwicklung
und Entfaltung neuer Kommunikations- Paradigmen und -Anwendungen
betroffen.
-
Mit
dem Anstieg von Multimedia-Anwendungen entstehen neue Herausforderungen
für Firewall-Architekturen.
Multimedia-Anwendungen unterscheiden sich in vielerlei Hinsicht
von "herkömmlichen
Anwendungen", zum
Beispiel im Hinblick auf Bandbreitenverwen-dung, dynamische Protokollelemente
oder verschiedenartige Datenströme
für eine ein-zige
Anwendungssitzung. Die entsprechenden Firewall-Mechanismen und -Techniken
haben sich jedoch nicht mit derselben Dynamik geändert. Die zur Zeit vorhandenen
Firewalls haben Probleme mit der Unterstützung dieser neuen Art von
Anwendungen, weil sie bis zu einem gewissen Grad versuchen, die neuen
Kenndaten auf die Art und Weise herkömmlicher Anwendungen, die sie
abwickeln können,
abzubilden.
-
Sicherheitsaspekte
gewinnen zunehmend an Bedeutung, und eine Zugangskontrolle an der Netzwerkgrenze
wird für
wesentlich erachtet. Deshalb haben die meisten Organisationen ihre
Basis-Internet-Router durch Geräte
ersetzt, die eine zusätzliche
Paketfilterung durchführen.
Diese Option ist kosteneffektiv, weil die meisten Router ohnehin
in der Lage sind, eine Paketfilterung durchführen und diese Funktionalität lediglich
aktiviert werden muss. Für
einige Einrichtungen ist diese Sicherheitsstufe jedoch möglicherweise
nicht ausreichend. Paketfilter führen üblicherweise
nur einen Mustervergleich auf vorgegebenen Feldern innerhalb des
Pakets (Kopfzeile) durch, achten jedoch nicht auf die Semantik der
Nutzinformationen des Pakets, welche die anwendungsspezifischen
Daten darstellt.
-
Ein
anspruchsvolleres Verfahren, das zur Steuerung der Kommunikation über eine
Netzwerkgrenze verwendet werden kann, sind sogenannte "Stateful-Filter". Sie arbeiten wie
ein Filter, sind aber auch in der Lage, Informationen aus der Anwendungsebene
zu extrahieren, und können
ihr Verhalten ändern,
je nachdem, was zuvor durch sie hindurchgegangen ist.
-
Für eine höhere Sicherheit
müssen
die Anwender zusätzlich
Optionen in Erwägung
ziehen und müssen
die Paketfilter-Sicherheit durch Verwendung von Proxys erhöhen. Ein
Proxy-Server bietet zusätzliche
Sicherheit, weil der Sitzungsfluss zurückgehalten, geprüft und an
die Anwendungsebene weitergeleitet wird. Viele Firewall-Anbieter
bevorzugen Stateful-Filter anstelle von Proxys, weil es auf diese
Weise leichter ist, eine Unterstützung
neuer Protokolle zu implementieren. Ferner ermöglichen Filter generell eine
bessere Leistung.
-
Um
die Vorteile all dieser Firewall-Techniken zu kombinieren, wird
oft eine Mischung aus Paketfiltern, Stateful-Filtern und Proxys
verwendet. Die Kombination dieser Elemente oder Komponenten wird
als herkömmliches
oder Standard-Firewall-System bezeichnet.
-
Bei
diesem Szenario ist die Kommunikation zwischen dem internen und
dem externen Netzwerk nur möglich,
wenn die Daten durch beide Filter und den Proxy laufen. Um zu erreichen,
dass die Hosts nicht direkt, sondern nur über den Proxy kommunizieren,
sind die Filter so konfiguriert, dass nur Pakete, die vom oder an
den Proxy-Server geschickt werden, weitergeleitet werden. Anwendungen,
die auf einen Server im anderen Netzwerk zugreifen, müssen so konfiguriert
sein, dass sie den Proxy-Server entweder explizit oder mittels eines
Elements, das Adressen- und/oder Port-Übersetzung bietet, verwenden. Der
Bereich zwischen den zwei Filtern wird üblicherweise demilitarisierte
Zone (DMZ) genannt.
-
Unter
bestimmten Umständen
wird der Schutz jedoch bewusst geschwächt – wobei offensichtliche Sicherheitsrisiken
entstehen. Dies wird üblicherweise
getan, wenn eine solche Praktik die einzige anwendbare kurzfristige
Methode zu sein scheint, um einen bestimmten Service überhaupt
zu nutzen. Im Folgenden werden einige nicht repräsen-tative Beispiele gegeben:
Einige
Anwendungen komplizieren die Verwendung eines Proxys, da sie für direkt
miteinander kommunizierende Endsysteme ausgelegt und implementiert wurden.
Sie übertragen
zum Beispiel Adressen niedrigerer Ebenen im Rahmen ihrer anwendungs-spezifischen
Nutzdaten erneut. In diesem Fall können die Firewall-Filter so
konfiguriert werden, dass sie selektiv Dater ströme direkt an das externe Netzwerk
weiterleiten und umgekehrt. Dasselbe ist notwendig, wenn für eine Anwendung
(noch) kein Proxy implementiert wurde.
-
Firewall-Komponenten
in herkömmlichen Firewall-Architekturen
sind nicht dafür
ausgelegt, Nachrichten gleichzeitig an mehrere Teilnehmer zu senden
(Multicast-Kommunikation).
Um Anwendungen, die Multicast verlangen, verwenden zu können, müssen die
Sicherheitsrichtlinien der Firewall üblicherweise auf der Grund lage "alles oder nichts" geschwächt werden.
Dies widerspricht den beabsichtigten Richtlinien, Datenströme an einer
Firewall einzeln und mit einer feinkörnigen Granularität abzuwickeln.
-
Für viele
der sogenannten Multimedia-Anwendungen muss das Firewall-System
so konfiguriert werden, dass es nicht den höchstmöglichen Schutz für das interne
Netzwerk bietet.
-
Multimedia-Anwendungen
verwenden kontinuierliche Medien und diskrete Mediendaten, wobei die
kontinuierlichen Medien Audio- und/oder Video-Ströme sind,
die einen hohen Durchsatz und die Einhaltung von Echtzeitspezifikationen,
wie begrenzte Verzögerung
oder Jitter, verlangen. Die diskreten Medien bestehen üblicherweise
aus Steuerdatenströmen
für die
Audio- und Video-Datenströme
sowie zusätzlichen
Informationen (z.B. Meta-Daten).
-
Um
die Kommunikations-Szenarien zu beschreiben, werden folgende Begriffe
definiert, um die Granularität,
bei der der Datenstrom einer Anwendung betrachtet wird, zu unterscheiden.
Ein "Fluss" ist ein einzelner
Datenstrom, gekennzeichnet durch ein Tupel von Kennwerten (Quelladresse,
Quell-Port, Zieladresse, Ziel-Port, Protokoll-nummer). Der Begriff "Kanal" beschreibt einen
einzelnen Datenstrom und wird hier als Synonym verwendet. Eine "Sitzung" beschreibt die Zuordnung
verschiedenartiger Flüsse, die
zusammen den Datenstrom einer Anwendung bilden.
-
Das
Protokollverhalten typischer Multimedia-Anwendungen kann wie folgt
verall-gemeinert werden: Ein Kunde schließt sich typischerweise mit Hilfe
eines ersten direkten TCP- oder UDP-"Anschlusses", oft Steuerkanal genannt, an einen
Server an. Nach Einrichtung des Steuerkanals öffnet die Multimedia-Anwendung
einen oder mehrere Datenkanäle,
um Audio- oder Video-Daten zu übermitteln. Die
für diese
Datenkanäle
verwendeten Port-Nummern werden dynamisch automatisch auf den Steuerkanal
eingestellt.
-
Einige
Multimedia-Anwendungen verwenden nicht nur einen Unicast-Datenkanal
zum Senden der erforderlichen Daten, sondern bedienen sich eines Multicast-Mechanismus,
um mehrere Kunden auf sehr effektive Weise zu erreichen. Wenn das
Zwischen-Netz-werk diese Option unterstützt, könnten sich Server und Kunde
außerdem
automatisch auf QoS-Parameter (QoS = Quality of Service = Qualität der Dienstleistung)
einstellen, um sicherzustellen, dass zeitkritische Inhalte je nach
Wunsch durch Zwischenknoten übertragen
werden können.
-
Multimedia-Anwendungen
unterscheiden sich von herkömmlichen
Anwendungen in vielen Eigenschaften. Insbesondere folgende Punkte
verursachen Probleme in einem durch eine Firewall geschützten Netzwerk:
Verschiedenartige
Flüsse
für eine
logische Sitzung: Der Audio- und Video-Inhalt wird in den meisten
Fällen
mit Hilfen zusätzlicher
TCP- oder UDP-Flüsse
getrennt von den Steuerdaten gesendet. Sender und Empfänger sind
durch mehrere Flüsse
miteinander "verbunden", obwohl nur eine
einzige logische Sitzung zwischen ihnen besteht.
-
Dynamisches
Verhalten: Viele Anschlussparameter sind nicht fest und deshalb
bei Beginn der Kommunikation möglicherweise
unbekannt. Zum Beispiel könnte
die Anzahl von Audio- oder Video-Strömen, die für die Übermittlung der Ströme benötigte Band-breite
oder die für
die Ströme
verwendeten TCP- und UDP-Ports anfangs unbekannt sein. Zwischensysteme
wie Firewalls müssen
diese Tatsache berücksichtigen
und müssen
sich wahrscheinlich diesem dynamischen Verhalten anpassen.
-
Komplexe
Protokolle: Die zur Steuerung verschiedenartiger Flüsse und
der dynamischen Kommunikation verwendeten Protokolle sind gewöhnlich komplexer
als die für
einen statischen Fluss verwendeten. Firewalls und insbesondere Proxys
beobachten die Kommunikation und können von der Interpretation
der Sematik der Kommuni-kationsprotokolle profitieren.
-
Datenrate
und erforderlicher Durchsatz: Die erhöhte Datenrate und das erhöhte Datenvolumen, die
für Multimedia-Anwendungen
charakteristisch sind, erfordern eine höhere Leistung des Netzwerk, aber
auch der Übertragungsknoten.
Firewalls müssen
dieser Tatsache ausdrücklich
gerecht werden, um Übermittlungs-Engpässe zu vermeiden.
-
QoS:
Die Übermittlung
kontinuierlicher Medien erfordert typischerweise eine garantierte
Qualität (die
z.B. in Bezug auf Bandbreite oder Verzögerung beschrieben wird). Bei
Verwendung der derzeitigen Methode der IntServ (Integrated Services)
der IETF (Internet Engineering Task Force) wird diese sichergestellt
mittels ausdrücklicher
Anforderung und Führung
von Ressourcen-Reservierungen. Eine Firewall als Netzwerk-element
sollte die entsprechenden Protokolle nicht behindern und könnte sich
sogar aktiv an den Ressourcen-Reservierungen beteiligen. Dasselbe
gilt für
die Verwendung der Methode der DiffServ (Differentiated Services),
bei der QoS-spezifische Operationen insbesondere an Flankenknoten
ausgeführt
werden, die mit Firewall-Systemen zusammenfallen könnten.
-
Multicast:
Viele Multimedia-Anwendungen verwenden Multicast-Kommunikation,
um Audio- und Video-Inhalte zu übermitteln.
Um eine Abwicklung der Datenströme
mit feiner Granularität
sicherzustellen, müssen
die Komponenten eines Firewall-Systems die Multicast-Ströme einzeln
weiterleiten. Deshalb benötigen
Firewall-Systeme zusätzliche
Mechanismen, um zu ermitteln, welche Mul ticast-Gruppen weitergeleitet werden sollen.
-
Die
erfindungsgemäße Firewall-Vorrichtung ist
insbesondere so konzipiert, dass sie von den ersten vier Aspekten
verursachte Probleme meistert.
-
Multimedia-Anwendungen
stellen sich dynamisch automatisch auf Anzahl und Spezifi-kationen (z.B.
Port-Nummern) der meisten Datenkanäle ein. Deshalb erfordern diese
Anwendungen Zwischensysteme, die in der Lage sind, sich der jeweiligen Kommunika-tionssituation
oder dem Kommunikationszustand anzupassen. In Anbetracht dessen,
dass in einer herkömmlichen
Firewall-Architektur
- – nur die zentrale Komponente
im System, der Proxy, diese Fähigkeiten
hat (sich dem jeweiligen Kommunikationszustand anzupassen),
- – der
Proxy in der Lage ist, die Flusszuordnungsbefehle der Anwendungen
aufgrund der über
die Steuerkanäle übermittelten
Informationen zu erkennen,
- – der
Proxy gemäß einer
geeigneten Interpretation der Flusszuordnungsbefehle die Kommunikationspfade
an Kommunikationsendpunkte (Filter) an der Grenze der DMZ (welche
selbst nicht an dieser dynamischen Anpassung an die Situation beteiligt
sind) weiterleitet,
- – die
Flankenkomponenten oder Filter (an der Grenze der Firewall) so konfiguriert
werden müssen,
dass sie alle möglichen
Verbindungen zum und vom Proxy hindurch lassen,
ist der
maximale Schutzmodus nicht realisierbar.
-
Um
diese Nachteile zu überwinden,
stellt die vorliegende Erfindung deshalb eine Firewall-Architektur
bereit, bei der alle Komponenten oder zumindest eine Vielzahl der
Komponenten eines Firewall-Systems in der Lage sein sollten, sich
selbstständig
anzupassen, oder anderen Komponenten ermöglichen sollten, ihre individualle
Konfiguration zu beeinflussen und zu ändern. In diesem Fall müssen Mechanismen
vorhanden sein, um den Zustand des ganzen Firewall-Systems zusammenhängend zu steuern,
je nach den Erfordernissen der jeweiligen Kommunikationssituation
oder des Kommunikationszustands. Um dieses Ziel zu erreichen, sollten
Firewall-Komponenten in der Lage sein, Informationen dynamisch an
andere Firewall-Komponenten weiter-zugeben.
-
Herkömmliche
Firewall-Systeme haben ferner den Nachteil, insbesondere in einem
Multimedia-Szenario, dass jedes Paket durch alle Firewall-Komponenten, d.h.
zwei Filter und einen Proxy, geschickt wird. Das verringert die
Leistung und begrenzt den Umfang von Verbindungen, die durch das System
geschickt werden können.
-
Die
vorliegende Erfindung hingegen stellt eine Firewall-Vorrichtung
bereit, in der die Paketströme
einzeln durch das Firewall-System geleitet werden. Beispielsweise
sollten Steuerkanäle
von den Datenkanälen
getrennt werden, und sie können
dann unter-schiedlich behandelt und von verschiedenen geeigneten,
dynamisch ladbaren und erweiterbaren Komponenten behandelt werden.
-
Um
das Merkmal zu verwirklichen, dass alle Komponenten oder zumindest
ein Teil der Komponenten eines Firewall-Systems in der Lage sind,
ihre individuelle Konfiguration selbstständig anzupassen oder anderen
Komponenten zu ermöglichen,
ihre individuelle Konfiguration zu beeinflussen, ist es erstens
möglich,
zumindest einen Teil der Kompo-nenten mit zusätzlicher Funktionalität zu versehen,
so dass sie in der Lage sind, die Semantik der Kommunkation auf
allen Protokollebenen zu analysieren. Daher müssen beide Filter und der Proxy
durch "Stateful-Filter" ersetzt werden.
In diesem Fall können alle
Komponenten ihre Konfiguration an den momentanen Kommunikationsstatus
anpassen. Deshalb verwenden sie Informationen, die sie selbst aus
den beobachteten Kommunikationspfaden abgerufen haben.
-
Eine
zweite Möglichkeit,
die Komponenten anpassbar zu machen, besteht darin, die Kommunikation
zwischen den Komponenten zu ermöglichen. Eine
Komponente kann, indem sie kommuniziert, Informationen (über einen
Strom oder Befehle zum Anpassen an einen Strom) an andere Komponenten weitergeben.
In diesem Fall kann die Konfiguration aller Komponenten durch diese
selbst oder durch andere Komponenten angepasst werden. Deshalb können die
Komponenten Informationen verwenden, die sie selbst aus den beobachteten
Kommunikationspfaden abrufen (falls diese Informa-tionen ausreichend
sind) oder Informatio nen, die von einer anderen Komponente abgerufen
und an sie weitergeleitet werden.
-
Um
die Sicherheit des Gesamtsystems zu verbessern wird die zweite Methode
bevorzugt, bei der eine zentrale und konsequente Ansicht der Richtlinienmaschine
beibehalten wird. Auch in Bezug auf Leistungsüberlegungen wird die zweite
Methode bevorzugt. Die erste Methode verringert die Systemleistung,
da die gewünschten
Informationen mindestens dreimal aus den Kommunikationskanälen extrahiert werden
müssen.
Bei der zweiten Methode müssen die
notwendigen Informationen nur einmal extrahiert werden, aber die
extrahierten Informationen müssen an
die anderen Komponenten weitergegeben werden. Mit beiden Methoden
kann ein höheres
Sicherheits-Niveau erreicht werden, aber erfindungsgemäß wird die
zweite Methode bevorzugt.
-
Um
die Anpassbarkeitsmerkmale zu verwirklichen, weist die Firewall
erfindungsgemäß folgende Merkmale
auf: Firewall-Komponenten, z.B. Filter oder Proxys, werden durch
Software-Schnittstellen so verbessert, dass sie in der Lage sind,
miteinander zu kommunizieren. Auf diese Weise werden sie in die Lage
versetzt, fehlende Informa-tionen über den Kommunikationszustand
von einer anderen Komponente zu erhalten, und können auch als Informationsquelle
dienen. Diese Firewall-Komponenten stellen eine Schnittstelle, insbesondere
eine Software-Schnittstelle,
bereit, so dass andere Komponenten in der Lage sind, ihr Verhalten,
wenn nötig,
zu beeinflussen. Dies ändert
das Verhalten des Gesamtsystems und muss daher auf sichere Art und
Weise erfolgen.
-
Erfindungsgemäß stellt
die Firewall-Vorrichtung Komponenten bereit, so dass Paket-ströme einzeln
durch das Firewall-System geleitet werden. Deshalb werden zwei Möglichkeiten
bereitgestellt: Erstens kann das "Leiten" durch die Komponenten an den Flanken
des Firewall-Systems (d.h. den Flankenkomponenten) durchgeführt werden.
Dazu müssen
die Flankenkomponenten in der Lage sein, die Flüsse der Multimedia-Sitzungen
aufzuspalten und wieder zusammenzuset zen. Deshalb müssen die Flanken-komponenten
eine Umleitungsfunktion unterstützen,
z.B. mittels rückschreibender
IP-Adressen. Diese Umleitungsfunktionen können transparent agieren und
beeinflussen nicht das Verhalten der beteiligten Endsysteme. Zur
Durchführung
der Aufspaltung und Wiederzusammensetzung der Sitzungsflüsse müssen die
Flankenkomponenten mit Komponenten, welche die Steuerkanäle beobachten,
kommunizieren. Die Flanken-komponenten müssen die Sitzung aufspalten
und wieder zusammensetzen, die beobachtende Komponente, z.B. ein
Proxy für
die Steuerkanäle)
kennt die Abhängig-keiten
der einzelnen Flüsse
und muss diese Informationen an die Filter weitergeben. Zweitens
kann das Leiten durch den Proxy erfolgen. Der Proxy wickelt die
Steuerflüsse der
Multimedia-Sitzung ab. Deshalb ist diese Komponente in der Lage,
die an die Steuerkanäle übermittelten
Daten zu ändern.
Durch Änderung
der automatisch ein-gestellten Ports auf diesen Kanälen könnte der
Proxy die teilnehmenden Endsysteme informieren, spezifische Flüsse auf
verschiedene Arten zu senden.
-
Beide
Methoden werden verwendet, um die Flüsse einer Multimedia-Sitzung
aufzuspalten. Die erste Methode tut dies auf transparente Weise
für die Endsysteme,
während
die zweite Methode dieses Merkmal nicht bietet. Die erste Methode
ist daher in allen Verwendungsfällen
praktikabel. Um alle Kommunikations-Szenarien zu unterstützen und
um sie möglichst
einfach zu halten, werden erfindungsgemäß beide Methoden verwendet.
-
Dieselben
Konstruktionserfordernisse, wie sie vom Anpassbarkeitsmerkmal abgeleitet
werden, sind auch erforderlich, um das Leitmerkmal der Firewall-Vorrichtung
zu erfüllen.
Flussinformationen müssen
zwischen Komponenten ausgetauscht werden, um die Flüsse der
Multimedia-Sitzung aufzuspalten und wieder zusammenzusetzen.
-
Die
internen Kommunikationserfordernisse werden erfüllt, indem jede Komponente
mit jeder anderen verbunden wird. Jedes der Kästchen stellt eine Firewall-Komponente mit den
notwendigen Software-Verbesserungen oder Software- Schnittstellen für die Kommunikation
der Komponenten untereinander dar. Zu den bei dieser Architektur
auftretenden Problemen gehören
die Aufgabe einer jeden Komponente, die anderen Komponenten zu finden
und ihren Zustand zu verfolgen, die wechselnde Anzahl möglicher Verknüpfungen
zwischen den Komponenten und Probleme mit der Portabilität im Falle
einer Systemänderung.
-
Erfindungsgemäß bietet
die bevorzugte Systemstruktur oder -architektur eine zentrale Komponente
oder Kernkomponente (oder DDFA-Kern), die den zentralen Teil der
erfindungsgemäßen Firewall-Vorrichtung
bildet. Die Kernkomponente stellt mindestens einen Registriermechanismus
bereit, der es den Komponenten ermöglicht, ihr Vorhandensein im
System bekanntzugeben. Der Kern oder die Kernkomponente ist dann
in der Lage, einen Ortungsmechanismus bereitzustellen, der es den
Kompo-nenten ermöglicht,
einander zu finden.
-
Die
Systemverbesserung für
jede Firewall-Komponente ist in zwei Teile oder Software-Schnittstellen
aufgespaltet.
-
Der
systemabhängige
Teil befindet sich als Software-Schnittstelle auf der Komponente
selbst.
-
Der
systemunabhängige
Teil befindet sich als Software-Schnittstelle innerhalb der Kernkomponente.
-
Auf
diese Weise wird eine spezielle zusätzliche Anpassungsebene eingefügt, die
es erleichtert, die Software maßzuschneidern.
Sie ermöglicht
es, verschiedene Arten von Komponenten zu verwenden, welche dieselbe
Funktionalität
bieten. Der Kern kann auch dazu verwendet werden, um Aufgaben, welche
die Wechselwirkung aller miteinander verbundenen Komponenten steuern
und organisieren, zu verwalten.
-
1 zeigt
eine erste Ausführungsform
einer erfindungsgemäßen Firewall-Architektur.
Eine Firewall-Vorrichtung 10 ist mit einem ersten Netzwerk 11 und
einem zweiten Netzwerk 12 verbunden. Die Firewall-Vorrichtung 10 oder
einfach Firewall 10 muss den Datenfluss zwischen dem ersten
und dem zweiten Netzwerk 11, 12 steuern. Das erste
Netzwerk 11 ist zum Beispiel ein internes Netzwerk einer
Verwaltung, Firma oder Ähnlichem,
und das zweite Netzwerk 12 ist ein externes Netzwerk, z.B.
das Internet. Das interne Netzwerk soll gegen unerwünschte Daten
vom externen Netzwerk geschützt
werden.
-
Die
Firewall 10 umfasst einen Proxy 50, einen ersten
Filter 30, einen zweiten Filter 40 und eine Kernkomponente 20.
Die Kernkomponente 20 ist über Software-Schnittstellen mit
dem Proxy 50, dem ersten Filter 30 und dem zweiten
Filter 40 verbunden, um die Firewall-Aktivitäten zu steuern.
Deshalb umfasst die Kernkomponente 20 eine erste Software-Schnittstelle 23,
eine zweite Software-Schnittstelle 25 und eine dritte Software-Schnittstelle 24.
Der erste Filter 30 umfasst eine vierte Software-Schnittstelle 31, über die
er mit der ersten Software-Schnittstelle 23 der Kernkomponente 20 kommuniziert.
Der Proxy 50 umfasst eine fünfte Software-Schnittstelle 51, über die
er mit der zweiten Software-Schnittstelle 25 der Kernkomponente 20 kommuniziert.
Der zweite Filter 40 umfasst eine sechste Software-Schnittstelle 41, über die
er mit der dritten Software-Schnittstelle 24 der Kernkomponente 20 kommuniziert.
-
Die
Firewall 10 tauscht Netwerkdaten mit dem ersten Netzwerk 11 aus,
was einen ersten Datenfluss 100 darstellt. Wenn die Firewall 10 keine
Sicherheitseinwendungen erhebt, wird der erste Datenfluss 100 von
Netzwerkdaten auch zwischen der Firewall 10 und dem zweiten
Netzwerk 12 ausgetauscht.
-
Die
Filter 30, 40 der Firewall 10 sind so
verbunden, dass sie zumindest teilweise den ersten Fluss 100 austauschen.
In derselben Weise kommuniziert der Proxy 50 mit dem ersten
Filter 30 und mit dem zweiten Filter 40, um zumindest
teilweise den ersten Fluss 100 auszutauschen. Der erste
Filter 30 und der zweite Filter 40 bieten die
Möglichkeit,
den ersten Fluss 100 aufzuspalten und wieder zusammenzusetzen.
Ein Teil des ersten Flusses 100, der im Folgenden "zweiter Fluss 110" genannt wird, wird
direkt von einem der Filter 30, 40 zum anderen
adressiert. Ein weiterer Teil des ersten Flusses 100, der
im Folgenden "dritter
Fluss 120" genannt
wird, wird über den
Proxy 50 von einem der Filter 30, 40 zum
anderen der Filter 30, 40 geleitet. Die Filter 30, 40 werden auch "Flankenkomponenten" genannt.
-
Die
Filter 30, 40 sind insbesondere vom Typ "FreeBSD 3.2" mit IP-Filter 3.2.10,
und der Proxy 50 oder die Proxy-Komponente 50 ist
insbesondere vom Typ "FreeBSD
3.2" mit einem selbstimplementierten H.323-Proxy
und dem Kern 20 oder der Kernkomponente 20. Deshalb
unterstützt
die Firewall-Vorrichtung 10 in diesem Beispiel nur IP-Telefonie-Anwendungen,
die auf dem H.323-Protokoll basieren.
-
Die
Kernkomponente 20 bildet die Hauptkomponente der Firewall 10.
Die system-unabhängigen
Teile der Software-Schnittstellen für die Firewall-Komponenten
(d.h. die erste, zweite und dritte Software-Schnittstelle 23, 25, 24)
befinden sich ebenfalls dort. Die Kernkomponente 20 erfüllt folgende
Aufgaben:
Die an der Firewall-Vorrichtung 10 beteiligten
Komponenten verwenden den Kern 20 als zentralen Kontaktpunkt.
Der Kern 20 registriert die anderen Komponenten und publiziert
ihr Vorhandensein, so dass jede Komponente von allen anderen Komponenten adressiert
werden kann.
-
Der
Kern 20 stellt einen allgemeinen Kommunikationsmechanismus
bereit, so dass sich die Komponenten 30, 40, 50 wechselseitig
beeinflussen können.
Die Kommunikation wird durch den Kern 20 koordiniert, so
dass Anforderungen in streng sequentieller Reihenfolge und in atomarer
Art und Weise übergeben
und berechnet werden.
-
Die
gegenseitige Beeinflussung zwischen den Komponenten 30, 40, 50 kann
gesteuert und beschränkt
werden. Der Kern 20 stellt Zugriffssteuermechanismen bereit
und entscheidet auf diese Weise, welchen Komponenten 30, 40, 50 gestattet
wird, im System teilzunehmen.
-
Protokollspezifische
Merkmale: Aufgaben, die sich üblicherweise
an getrennten Firewall-Komponenten 30, 40, 50 befinden,
können
dynamisch in den Kern 20 geladen werden. Dies ist ein Ausführungs-Detail,
das durch effiziente Nutzung eines einzigen Adressraums einen höheren System-Durchsatz
erlaubt.
-
Steueraufgaben:
System-Start und individuelle Steuerfunktionen wie z.B. Optimierung
komponentenspezifischer Datenstrukturen befinden sich ebenfalls
im Kern 20.
-
Systemunabhängige Teile:
Der Kern 20 stellt Mechanismen zum Laden der systemunabhängigen Teile
der verbundenen Komponenten 30, 40, 50 bereit.
-
Die
Software-Konstruktion der erfindungsgemäßen Firewall 10 ist
modular aufgebaut, um die Verbesserung der Systemfunktionalität zu vereinfachen. Die
Konstruktion ist flexibel, um an verschiedene Firewall-Richtlinien
angepasst werden zu können.
-
Erfindungsgemäß können unterschiedliche Adapter
als Firewall-Komponenten in die Firewall 10 integriert
werden. Ein Beispiel eines Adapters wird verwendet, um einen Filter
zu integrieren, ein weiteres Beispiel dient dazu, einen Proxy für IP-Telefonie (basierend
auf der H.323-Protokollfamilie) zu integrieren. Jeder Adapter besteht
aus einem systemabhängigen
Teil, z.B. als Software-Schnittstelle, der auf der Firewall-Komponente
selbst installiert ist, und einem systemunabhängigen Teil, z.B. als Software-Schnittstelle,
der wie beschrieben in den Kern 20 geladen wird.
-
Ein
IP-Filter-Adapter wird verwendet, um "IP-Filter"-Paketfilter, insbesondere, wenn sie
sich als Host auf einem FreeBSD-Betriebssystem befinden, in die
Firewall-Vorrichtung zu integrieren. Der systemunabhängige Teil
bietet eine auswählbare Schnittstelle
im Kern 20, um in normierter Weise auf Filter zuzugreifen.
Andere Komponenten können
diese Schnittstelle verwenden, um den Filter zu rekonfigurieren,
Ströme
umzuleiten oder Flussinformationen vom Filter abzuf ragen. Der systemabhängige Teil
befindet sich als Host auf den Filtermaschinen. Dieser Teil ist
systemabhängig,
weil er mit der Filter-Software, dem Betriebssystem und den Netwerk-Schnittstellen
auf dem Filter-Host kommunizieren muss. Er übersetzt die vom Kern kommenden
genormten Befehle in die für
den bestimmten Filter verwendete spezifische Sprache. Deshalb müssen Teile dieser
systemabhängigen
Komponente in den meisten Fällen
neu geschrieben werden, wenn das Ziel-Betriebssystem oder die Filter-Software
geändert
wird. Der systemab-hängige
und der systemunabhängige
Teil sind über
eine gesicherte TCP-Verknüpfung
verbunden.
-
Ein
Adapter für
den IP-Telefonie-Proxy kann verwendet werden, um die Funktionalität des H.323-Proxys
in der Firewall-Vorrichtung 10 verfügbar zu machen. Der system-unabhängige Teil
bietet eine Schnittstelle, die es anderen Komponenten ermöglicht,
das Verhalten des Proxys zu modifizieren oder Informationen über die
vom Proxy verarbei-teten Flüsse
zu erhalten. Zusätzlich
verwendet der Proxy diese Schnittstelle, um mit anderen Komponenten zu
kommunizieren.
-
2 zeigt
eine zweite Ausführungsform
einer Firewall-Architektur, bei der die Firewall 10 so vorgesehen
ist, dass jede Komponente mit jeder anderen verbunden ist. Die Firewall 10 umfasst
eine erste Komponente 60, eine zweite Komponente 62, eine
dritte Komponente 64 und eine vierte Komponente 66.
Die erste Komponente 60 umfasst eine siebte Software-Schnittstelle 61.
Die zweite Komponente 62 umfasst eine achte Software-Schnittstelle 63.
Die dritte Komponente 64 umfasst eine neunte Software-Schnittstelle 65.
Die vierte Komponente 66 um fasst eine zehnte Software-Schnittstelle 67.
Die Komponenten 60, 62, 64, 66 kommunizieren über die Software-Schnittstellen 61, 63, 65, 67 miteinander.
-
3 zeigt
eine dritte Ausführungsform
einer Firewall-Architektur, bei der die Firewall 10 eine Kernkomponente 70 umfasst,
welche eine elfte Software-Schnittstelle 71, eine zwölfte Software-Schnittstelle 75,
eine dreizehnte Software-Schnittstelle 79 und eine vierzehnte
Software-Schnittstelle 83 umfasst. Ferner umfasst die Firewall 10 eine
fünfte
Komponente 72, eine sechste Komponente 76, eine
siebte Komponente 80 und eine achte Komponente 84. Die
fünfte
Komponente 72 ist über
eine fünfzehnte Software-Schnittstelle 73 und
die elfte Software-Schnittstelle 71 mit der Kernkomponente 70 verbunden.
Die sechste Komponente 76 ist über eine sechzehnte Software-Schnittstelle 77 und
die zwölfte Software-Schnittstelle 75 mit
der Kernkomponente 70 verbunden. Die siebte Komponente 80 ist über eine
siebzehnte Software-Schnittstelle 81 und die dreizehnte
Software-Schnittstelle 79 mit
der Kernkomponente 70 verbunden. Die achte Komponente 84 ist über eine
achtzehnte Software-Schnittstelle 85 und die vierzehnte
Software-Schnittstelle 83 mit
der Kernkomponente 70 verbunden.
-
4 zeigt
ein Kommunikationsbeispiel im Einzelnen. Ein repräsentatives
Beispiel einer von der Erfindung unterstützten Multimedia-Anwendung
ist eine Multimedia-Datenaustausch-Software, wie z.B. Microsoft
NetMeeting. Diese wird zum Beispiel für Multimedia-Konferenzen verwendet
und basiert auf der H.323-Protokollsuite. 4 zeigt
den Kommunikationsmechanismus zwischen zwei H.323-basierten IP-Telefonie-Kunden.
Die Zeitachse verläuft
senkrecht von oben nach unten. In einem ersten Zeitintervall 120 läuft die
Kommunikation mit statisch bekannten Ports. In einem zweiten Zeitintervall 130 läuft die Kommunikation
mit dynamisch automatisch eingestellten Ports. In 4 leitet
der Anrufer (von dem später
angenommen wird, dass er sich im internen Netzwerk hinter der Firewall
befindet) einen IP-Telefonanruf zum angerufenen Kunden (von dem
später angenommen
wird, dass er sich im externen Netzwerk befindet) ein. Es werden
nur Audioströme
zwischen den beiden Kunden betrachtet. Wenn auch Video-Ströme zwischen
den Kunden verwendet werden, kommen zwei zusätzliche Ströme (RTCP und RTP) in jeder
Richtung hinzu.
-
In
einer H.323-Sitzung wie der in 4 dargestellten
werden zwei TCP-Steuerkanäle
verwendet. Der erste Steuerkanal wird für die Einrichtung des Anrufs
benutzt und verwendet das Q.931-Protokoll. Dies entspricht dem ersten
Zeitintervall 120. Die für den zweiten Steuerkanal verwendeten
Ports werden auf dem Q.931-Kanal
dynamisch automatisch eingestellt, da dies dem zweiten Zeitintervall 130 entspricht.
Nachdem der zweite (H.245-)Steuerkanal aufgebaut worden ist, wird
dieser Kanal zwischen den Kunden verwendet, um die Audio- und Video-Ströme zwischen
den beiden Kunden aufzubauen. Die für diese Flüsse verwendeten Ports werden auf
dem H.245-Steuer-kanal dynamisch automatisch eingestellt.
-
Eine
Firewall 10 gemäß der ersten
Ausführungsform
einer Firewall-Architektur (3) wickelt eine
Anwendung ab durch Beobachtung sogenannter Grenzbedingungen: Der
Filter 1 muss die anfängliche
Q.931-Verbindung (TCP, Ziel-Port 1720) vom Anrufer zum Proxy 50 weiterleiten.
Außerdem
sollten alle TCP-Verbindungsversuche seitens des internen Kunden
zum externen Kunden auf Port 1720 zum Proxy 50 zurückgeleitet
werden. In diesem Fall braucht die Anwendung keinen Proxy zu unterstützen, der
Proxy ist transparent in den Kommunikationspfad eingefügt.
-
Der
anrufende Kunde versucht, sich mit dem angerufenen Kunden über TCP
auf Port 1720 zu verbinden, um die Q.931-Verbindung aufzubauen.
Der Filter 1 leitet diese Anforderung zum Proxy 50,
insbesondere zu einem H.323-Proxy, zurück. Dann fragt der Proxy 50 bei
der ersten Filterkomponente 30 (über seine Verbindung zur Kern-komponente 20) den
Zustand dieses Flusses ab. Als Ergebnis erhält der Proxy 50 die
Information, dass diese Verbindung primär zum Zielkunden erfolgte.
Der Proxy 50 verwendet jetzt die Verbindung des Kerns 20,
um den zweiten Filter 40 zu informieren, dass er den Zielkunden
auf Port 1720 über
TCP verbinden wird. Der zweite Filter 40 stellt seine Konfiguration
ein, um diese Ver bindung zu ermöglichen.
Jetzt verbindet sich der Proxy 50 mit dem Zielkunden und
leitet die Q.931-Verbindung zwischen den beiden Kunden weiter und
beobachtet diese Verbindung.
-
Durch
Beobachtung der Q.931-Verbindung erkennt der Proxy 50 die
automatische Einstellung der H.245-Verbindung. Um die H.245-Verbindung
automatisch einzustellen, leitet der Zielkunde Informationen über die
Ziel-IP-Adresse und den Port für
die H.245-Verbindung an den anrufenden Kunden weiter. Diese Informationen
werden vom Proxy 50 modifiziert, so dass er die Verbindungsanforderung
für die H.245-Verbindung
erhält.
Bevor der Proxy 50 die modifizierte Nachricht an den anrufenden
Kunden weiterleitet, verwendet er die Kernverbindung, um den ersten
Filter 30 über
die Verbindung, die zum Proxy 50 hergestellt werden wird,
informiert. Der erste Filter 30 stellt seine Filterregeln
ein.
-
Jetzt
erhält
der Proxy 50 die H.245-Verbindungsanforderung. Er informiert
den zweiten Filter 40 über
den Kern 20 über
die abgehende Verbindung zum Zielkunden. Der zweite Filter 40 stellt
seine Filterregeln ein. Jetzt verbindet sich der Proxy 50 mit dem
Ziel-kunden und leitet die H.245-Verbindung zwischen den beiden
Kunden weiter und beobachtet diese Verbindung.
-
Als
Nächstes
werden die Audio-Datenströme auf
dem H.245-Kanal automatisch eingestellt. Der Proxy 50 beobachtet
diese Kommunikation und informiert die beiden Filter 30, 40 über die
automatisch eingestellten Ströme.
Die Filter 30, 40 ändern dann die Filterregeln
gemäß den vom
Proxy 50 weitergeleiteten Informationen. Die Massen-daten
werden jetzt direkt zwischen den Kunden gesendet. Diese Daten müssen nicht
vom Proxy 50 weitergeleitet werden.
-
Wenn
die Kommunikation beendet werden soll, werden spezielle Nachrichten
auf den Steuerkanälen
gesendet. Dies erkennt der Proxy 50, und er verteilt diese
Informationen an die Filter 30, 40, so dass alle
zuvor geöffneten
Pfade innerhalb der Filterregeln geschlossen werden könnten. Wenn
die Kommunikation beendet ist, befindet sich die Systemkonfiguration
wieder in dem oben beschriebenen Zustand in Verbindung mit den "Grenzbedingungen".
-
Ein
Hauptunterschied zwischen der Standard-Firewall und der Erfindung
ist die Anfangskonfiguration. Im Standardsystem sind mehrere vorgegebenen "Löcher" innerhalb der Filterkonfigurationen nötig, weil
eine Anpassung des Systems während
der Kommunikation nicht möglich
ist. Die erfindungsgemäße Firewall 10 benötigt diese
vorgegebenen Löcher
nicht, weil das System die tatsächlich
benötigten Pfade
auf allen Komponenten während
der Kommunikation öffnen
und schließen
kann. Deshalb ermöglicht
die Firewall 10 hinsichtlich der Filterkonfiguration einen
sichereren Betrieb als das Standardsystem.
-
Die
erfindungsgemäße Firewall 10 ist
auch sicherer als eine Standard-Firewall. Eine zentrale und konsequente
Ansicht der Richtlinienmaschine wird jedoch verwaltet. Ein Verwalter
der Firewall 10 wird daher keinen Unterschied erkennen
zwischen dem Konfigurieren der zentralen Komponente im Standard-Szenario
und dem Konfigurieren der erfindungsgemäßen Firewall 10. Deshalb
ist die Möglichkeit
von Konfigurations-fehlern in beiden Systemen gleich wahrscheinlich.
Da die interne Konstruktion und Implementierung der erfindungsgemäßen Firewall 10 sicher
ist, bietet dieses System ein höheres Sicherheits-Niveau
als das Standardsystem.
-
Innerhalb
der erfindungsgemäßen Firewall 10 werden
die Massendaten (Audio- und
Video-Flüsse)
direkt über
Flankenfilter 30, 40 zwischen den Endpunkten gesendet.
Im Standard-Szenario werden die Audio- und Video-Ströme zusätzlich von
dem zwischen den beiden Flankenfiltern befindlichen Proxy verarbeitet.
Deshalb hat die Firewall-Vorrichtung 10 folgende Leistungsvorteile:
Die Massendaten werden nur durch Filter verarbeitet. Durch Vermeidung der
Verwendung von Proxys für
die Datenflüsse
wird die Leistung erhöht.
Die Massendaten werden nur von zwei Komponenten verarbeitet. Durch
Verringerung der Anzahl von Sprüngen
wird die Leistung erhöht.