Zum Inhalt springen

Teredo

Aus Foxwiki

Teredo - Tunneling von IPv4 in IPv6

Beschreibung

IPv4-Datagramme werden als Payload in IPv6-Paketen platziert

  • Aus Sicht der IPv4-Endpunkte des Tunnels bildet IPv6 den Link-layer
  • Die Konfiguration der Endpunkte geschieht statisch

Teredo ist ein sogenannter IPv6-Übergangsmechanismus. Dieses Kommunikationsprotokoll für den Datenverkehr mit dem Internet ist gemäß RFC 4380 Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs) spezifiziert.[1] Implementierungen existieren insbesondere als Bestandteil von Microsoft Windows (Teredo) und für Unix-Systeme (Miredo).

Das Protokoll definiert eine Methode für den Zugriff auf das IPv6-Netzwerk hinter einem NAT-Gerät. Dabei werden IPv6-Pakete mit dem UDP über IPv4 gekapselt. Dies geschieht mittels Teredo-Servern.

Zweck

Die Knappheit an IPv4-Adressen hat dazu geführt, dass viele Firmen sowie Privatnutzer mittels NAT mit mehreren Endgeräten unter Nutzung von nur einer öffentlichen IP-Adresse auf das Internet zugreifen. Das meistgenutzte Protokoll, um IPv6 direkt über IPv4 zu tunneln (Protokoll 41; siehe auch Tunnelbroker), erfordert, dass der Client eine öffentliche IP-Adresse hat (was aber nicht unbedingt nötig ist; gute Router kommen auch mit Protokoll 41 zurecht). Teredo macht es IPv4-Rechnern, die 6to4 nicht nutzen können, möglich, IPv6 über Tunnel zu nutzen.

Gefahren

Durch die Tunnelung des IPv6 besteht die Gefahr, dass insbesondere die Sicherheitsfunktionalitäten NAT-basierter IPv4-Router vollständig ausgehebelt werden können. Bei den durch Teredo erzeugten IPv4 UDP-Paketen handelt es sich um Pakete, bei denen die in diesem Szenario vorhandenen IPv4-Paketfilter wirkungslos bleiben, da dieser die IPv6-Pakete im Teredo-Paket ignoriert. Es liegt seit 2007 eine Analyse durch Symantec vor, die diesen Sachverhalt bestätigt.[2][3]

Heutige Firewalls bieten jedoch auch die Option, IPv6-Datenverkehr in Tunnelprotokollen zu filtern.

Spezifikation

Teredo ist in RFC 4380 (Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)) spezifiziert.[1] Es ist hauptsächlich die Arbeit von Christian Huitema, einem Mitarbeiter von Microsoft, der an IPv6 arbeitet. Im September 2010 erschien die Aktualisierung RFC 5991 (Teredo Security Updates)[4] und im Januar 2011 RFC 6081 (Teredo Extensions).[5]

Implementierungen

Microsoft Windows

Xbox

Linux

  • Miredo ist eine quelloffene Implementierung für Linux und BSDs.[6]
  • NICI-Teredo[8] besteht aus einem Teredo-Relay für den Linux-Kernel und einem Server für den Userspace.

Alternativen

Andere Mechanismen, mit denen sich IPv6-Pakete in IPv4 tunneln lassen, sind unter anderem

Ein Vergleich der Tunnelmechanismen findet sich unter IPv6#Tunnelmechanismen.



Anhang

Dokumentation

RFC
RFC Titel Jahr Status
2473 Generic Packet Tunneling in IPv6 Specification 1998 Proposed Standard

Siehe auch



Links

Weblinks


TMP

Teredo ist eine Entwicklung aus dem Hause Microsoft und ist

Teredo so genial wie kompliziert. 
  • Es ist in der Lage, die verschiedensten Arten von NAT/PAT zu überwinden.
  • Die Teredo-Software, in aktuellen Versionen von Windows bereits eingebaut, stellt ein Interface mit einer IPv6-Adresse zur Verfügung.
  • Die Adresse eines Teredo-Interfaces wird nach dem in Abbildung 6.7

gezeigten Schema gebildet.

  • Der Standard sieht vor, dass Teile der Adresse verschleiert werden, indem die Bits der entsprechenden Teile invertiert werden. Öffentliche Teredo-Server und Teredo-Relays im Internet erledigen die Konfiguration des Tunnels und wickeln den Datenverkehr ab.
  • Gleichzeitig sorgen sie auch dafür, dass die Verbindung in zwischengelagerten NAT/PAT-Routern nicht abläuft, indem sie regelmäßig sogenannte Bubbles versenden.
  • Die Komplexität von Teredo lässt sich bei Betrachtung des Szenarios in Abbildung 6.8 erahnen.
  • Wenn ein Teredo-Relay Daten für einen Teredo-Node hat, informiert es den zuständigen Teredo-Server darüber, dessen IPv4-Adresse es der Teredo-Adresse des Nodes entnehmen kann.
  • Der Teredo-Server informiert dann den Teredo Node über die bestehende, mit Bubbles aktiv gehaltene, Verbindung über anstehende Daten.
  • Der Teredo-Node baut daraufhin von innen heraus eine Verbindung zum Teredo-Relay auf, welches auf dieser Verbindung dann die Daten ausliefert.
  • Ein einfaches IPv6-Paket, adressiert an einen TeredoNode, führt dazu, dass dieser die NAT/PAT-Router auf dem Weg zum Teredo-Relay von innen heraus aufbohrt.1 Die vermeintliche Sicherheit, die eine NAT/PAT-Installation unter IPv4

noch zu bieten schien, wird nicht zuletzt von Teredo ausgehebelt.

  • Wenn sich Nodes mit Teredo in einem IPv4-Netz befinden, muss davon ausgegangen werden, dass IPv6-Pakete bis zum Node vordringen können.
  • Auf natives IPv6 zu verzichten, kann also schlimmstenfalls zu weniger Sicherheit führen.

Das Studium des Teredo-Standards, hinterlegt in RFC 4380 [Hui06], sei dem geneigten Leser empfohlen.


TMP

Weblinks

  1. Überblick zu Teredo. Microsoft (deutsch).
  2. https://de.wikipedia.org/wiki/Teredo
  1. 1,0 1,1 Referenzfehler: Es ist ein ungültiger <ref>-Tag vorhanden: Für die Referenz namens RFC4380 wurde kein Text angegeben.
  2. Vorlage:RFC-Internet
  3. Vorlage:RFC-Internet
  4. 6,0 6,1
  5. Vorlage:SourceForge