01.11.06

Von: Mathias Hein

VoIP und Firewalls

VoIP-Applikationen werden zum Aufbau von Audioverbindungen zwischen Endsystemen genutzt. Dabei wird, anders als bei der klassischen Telefonie, ein paketvermitteltes IP-Netzwerk als Trägermedium der Sprach- und Signalisierungsdaten verwendet.

Die Applikationen können auf verschiedenen Protokollfamilien basieren, wobei im Wesentlichen die H.323- und die SIP-Protokollfamilie eingesetzt wird. Inzwischen ist eine Verschiebung von den - den VoIP-Markt dominierenden - H.323-Protokollen hin zu den SIP-Protokollen absehbar. Je nach Stand der Technik muss sich der Netzbetreiber im Bereich der Sicherheit mit den Funktionen und Mechanismen der in seinem Netzwerk eingesetzten Protokolle auseinandersetzen.


Innerhalb einer vernetzten Umgebung sorgen spezielle Sicherheits-funktionen für eine Zugangskontrolle an den Netzwerkgrenzen. Hierzu wurden die klassischen Router mit zusätzlichen Firewall-Funktionen ausgestattet oder gänzlich durch Firewall-Systeme ersetzt. Firewalls bestehen in der Regel aus Paketfiltern, Proxies, "Stateful Filtern" oder aus einer Kombination dieser Komponenten. Eine Firewall analysiert den Netzverkehr zwischen den angeschlossenen Netzwerken und leitet nur Datenströme in das jeweilige andere Netz weiter, die einer vorge-gebenen Sicherheitsregel entsprechen. Zusätzlich zur Analyse der Datenströme werden Firewalls teilweise auch dazu eingesetzt, die interne Netzstruktur einer Organisation zu verbergen. Aus dem externen Netz (z.B. dem Internet) ist der einzig "sichtbare" und deshalb direkt angreifbare Rechner die Firewall selbst. Dieses Verbergen der internen Strukturen wird mit Hilfe eines als Network Adress Translation (NAT) bezeichneten Mechanismus realisiert.

Die den Firewalls zugrunde liegenden Architekturen sowie die internen Mechanismen und die Betriebsart der Firewalls haben sich in den letzten Jahren nicht wesentlich geändert. Die Einführung neuer Applikations-typen, zu denen auch IP-Telefonie gehören, ergeben sich jedoch neue Anforderungen denen eine Firewall gerecht werden muss. Existierende Firewalls haben große Probleme diesen Anforderungen gerecht zu werden, wenn diese IP-Telefonieanwendungen - wie es im Augenblick die Regel ist - wie "herkömmliche Applikationen" behandeln. Damit die VoIP-Applikationen im täglichen Betrieb eingesetzt werden können, ist es notwendig, ein harmonisches Zusammenwirken mit vorhandenen Security-Policies sicherzustellen.

Network Address Translation (NAT)

Beim Network Address Translation kann es im Zusammenhang mit VoIP-Applikationen zu folgenden Problemen kommen:

  • die Anrufsignalisierung scheitert bei eingehenden Gesprächen,
  • es funktioniert zwar die Anrufsignalisierung, doch hört mindestens ein Gesprächspartner den anderen nicht.

Das Problem besteht darin, dass aus dem Internet eingehende Datenpakete den Empfänger nicht erreichen. Die VoIP-Pakete müssen hierfür

  • an eine öffentliche IP-Adresse gerichtet sein,
  • an den korrekten Client (Softphone / VoIP-Hardware) im jeweiligen internen Netz geleitet werden.

Hierzu dürfen die VoIP-Daten nicht durch ein NAT-System oder eine Firewall blockiert werden.

Viele Router/ Firewalls wurden ursprünglich nicht für die Vermittlung von VoIP konzipiert und können die für VoIP notwendigen Protokolle mehr schlecht als recht weiterleiten. Daher gilt als Grundlage für ein ordnungsgemäßes Funktionieren der Firewall: Die von dem Hersteller bereitgestellte aktuelle Firmware muss installiert werden!

Breitbandvernetzung

Grundsätzlich gehen Breitbandnutzer wie folgt ins Internet:

  • Direktverbindung ins Internet:
    Ist ein Computer direkt per Ethernet an ein DSL-Modem angeschlossen, erfolgt die Einwahl über den jeweiligen Computer. Der Computer bekommt vom jeweiligen Internet-Provider eine eindeutige öffentliche IP-Adresse zugeteilt, unter der zu diesem Zeitpunkt dieser Computer aus dem Internet erreichbar ist. Alle Anfragen aus dem Internet oder Antworten auf Anfragen vom Computer werden diese öffentliche IP-Adresse erreichen. Je nach Art des Breitband-zuganges können jedoch Router (und damit NAT-Systeme) im Netz des Internet Service Providers Verbindungsprobleme bereiten.
  • Verbindung über ein Gateway (Router):
    Der Computer ist nicht direkt an das Modem angeschlossen, sondern kommuniziert über einen Router mit dem Internet. Dadurch erfolgt die Einwahl nicht mehr durch den Computer, sondern durch den Router. Die öffentliche IP-Adresse führt nur zum Router. Dieser leitet die Daten anschließend an eine interne IP-Adresse des Zielcomputers (das Endgerät) weiter. Die interne IP-Adresse ist von außerhalb des privaten Netzes (aus dem Internet) somit nicht direkt erreichbar.

Der Sinn und Zweck des Network Address Translations (NAT) besteht darin, nicht nur einen Computer, sondern mehrere Computer oder sonstige Endgeräte (jeweils mit einer eindeutigen internen IP-Adresse) die Internet-Anbindung nutzen könnten. Theoretisch könnte zwar auch jeder Computer eine eigene öffentliche IP-Adresse nutzen (mit der angenehmen Konsequenz, dass man damit sämtliche NAT-Probleme umgehen könnte), doch sind IP-Adressen (bis auf weiteres) ein knappes und damit kostenrelevantes Gut.

Das NAT-System ist also eine Art intelligente Weiterleitung. Die Bezeichnung "Network Address Translation" macht jedoch deutlich, dass es sich bei diesem Verfahren auch um eine Übersetzung handelt. Übersetzt werden interne bzw. private IP-Adressen in externe bzw. öffentliche IP-Adressen. Erweitert man den Übersetzungsprozess um die Port-Nummern, spricht man vom Port Address Translation (PAT; im Englischen auch als Overload bezeichnet). PAT ist also eine spezielle Funktionalität innerhalb der Network Address Translation.

Router-Funktionsweise

Werden Daten aus dem Internet an den Router gesendet, überprüft der Router in seiner vollautomatisch und laufend aktualisierten internen Routing Tabelle, ob diese Daten von einem der Computer oder einer anderen Netzwerkkomponente im privaten Netzwerk angefordert wurde. Es gelten folgende Regeln:

  • Weiterleitung aufgrund einer vorhergehenden Benutzeranfrage:
    Ein Nutzer sendet beispielsweise einen HTTP Request (Aufruf einer Website) an einen Webserver. Dessen Antwort leitet der Router genau an diesen Nutzer weiter. Dazu werden in der internen Routing Tabelle die jeweiligen Adressinformationen (Absender IP Adresse und Port, Empfänger IP Adresse und Port) als Adress-Mapping für einen bestimmten Zeitraum (Session) gespeichert.
  • Keine Weiterleitung:
    Wurden Daten dagegen nicht von einem internen Nutzer angefordert oder wurde der Mapping-Eintrag nach Ablauf einer bestimmten Zeit gelöscht, werden die ankommenden Daten vom Router verworfen und an keine interne IP-Adresse weitergeleitet.
  • Weiterleitung an feste Adresseinträge:
    Um Server und andere interne Ressourcen auch aus dem Internet erreichen zu können, müssen diese über feste Adressen erreichbar sein. Hierfür werden in der internen Routing Tabelle die jeweiligen Adressinformationen (Absender IP-Adresse und -Port, Empfänger IP-Adresse und -Port) als Adress-Mapping permanent gespeichert und die Anfragen aus dem Internet entsprechend weitergeleitet.

 

Abbildung: Prinzip des Network Address Translations

NAT-Typen

Bei NAT-Systemen unterscheidet man zwischen folgenden Typen:

  • Full Cone
  • Restricted Cone
  • Port Restricted Cone
  • Symmetric Cone

Full Cone NAT

Bei einem Full Cone-Systeme erfolgt die IP-Adressumsetzung unabhängig von einer vorher ausgehenden Verbindung anhand von festen Adresseinträgen. Beispielsweise nutzt ein Computer hinter dem NAT-System die IP-Adresse 10.0.0.1 und sendet bzw. empfängt die Datenpakete über Port 8000. Diese Adressen werden vom NAT-System auf die externe (öffentliche) IP-Port-Adresse 202.123.211.25:12345 umgesetzt. Jeder Nutzer des externen Netzes kann somit seine Pakete an den öffentlichen IP-Port schicken. Diese werden automatisch vom NAT-System an den Computer mit der Adresse 10.0.0.1:8000 weitergeleitet.

 


Abbildung: Full Cone

Restricted Cone

Beim Restricted Cone NAT erfolgt ein Adress-Mapping nur, wenn dieses durch eine ausgehende Verbindung angestoßen wurde. Sendet ein interner Rechner seine Pakete an einen externen Rechner 1, dann übersetzt das NAT-System per Mappig die Client-Adresse 10.0.0.1:8000 auf 202.123.211.25:12345. Der externe Rechner 1 kann dadurch seine Pakete direkt an den internen Client (via Adress-Mapping) zurücksenden. Das NAT-System blockiert jedoch alle eingehenden Pakete von anderen Absendern.

Port Restricted Cone

Das Port Restricted Cone NAT arbeitet vom Prinzip her ähnlich wie das Restricted Cone NAT. Ein Adress-Mapping erfolgt nur, wenn dieses durch eine ausgehende Verbindung (Erkennung anhand der IP- und Port-Adresse) angestoßen wurde. Sendet der interne Client einen Datenstrom an den Port 10101 eines externen Rechner 1, dann ermöglicht das NAT nur die bidirektionale Übermittlung an dessen IP-Port-Adresse 222.111.88.2:10101. Übermittelt der Client mehrere Pakete zu mehreren IP-Port-Paaren, können diese selbstverständlich auch parallel über die Mappings mit dem Client kommunizieren.

All-About-Security Artikel bookmarken
Mittwoch, 03. Februar 2010
Das unabhängige Security Portal