Teredo (Microsoft)
Teredo (RFC 4380) ist eine Tunnel-Technik von Microsoft, die IPv6-Datenpakete in IPv4-UDP-Datenpakete kapselt, damit Windows-PCs und die XBox (Spielekonsole) die NAT-Schranke von Teilnehmer-Router von innen überwinden und so miteinander reden können. Teredo kommt dabei ohne Anwendereingriffe aus. Als IPv6-Tunnelmechanismus soll Teredo den Übergang von IPv4 auf IPv6 vereinfachen und an Rechnern in lokalen (IPv4-)Netzen eine global gültige IPv6-Adresse vergeben. Dazu baut Teredo einen IPv6-Tunnel über eine IPv4-Sitzung auf.
Teredo ist seit Windows XP Servicepack 1 in allen Microsoft-Betriebssystemen enthalten. Bei neueren Windows-Betriebssystemen kommt Teredo für eine IPv6-Nutzung über eine IPv4-Infrastruktur standardmäßig zum Einsatz. Beispielsweise auch in der XBox One. Die Spielekonsole setzt einen Teredo-Tunnel grundsätzlich voraus. Sonst funktioniert der Multiplayer-Modus nicht mehr.
Teredo ist nicht nur auf Windows beschränkt. Für Unix-Systeme gibt es das auch mit dem Namen Miredo.
Funktionsweise von Teredo
Der Client kontaktiert für den Verbindungsaufbau einen voreingestellten Teredo-Server über IPv4. Der Server hilft beim Analysieren der NAT-Umgebung (Network Address Translation). Der eigentliche IPv6-Verkehr läuft anschließend über das Teredo-Relay. Der Teredo-Server und das Teredo-Relay werden von Microsoft betrieben.
Bei der Paketübertragung verpackt Teredo die ausgehenden IPv6-Datenpakete in UDP-Pakete (Port 3544) und sendet sie per IPv4 an einen Teredo-Server, der gleichzeitig IPv4- und IPv6-Verbindungen herstellen kann. Teredo tunnelt also IPv6-Pakete aus einer IPv4-NAT-Umgebung heraus.
Auf diese Weise lassen sich aber auch Firewalls durchtunneln, die nur TCP, UDP und ICMP erlauben. Deshalb funktioniert Teredo auch dann, wenn die Verfahren 6in4/6to4/6over4 aus gutem Grund geblockt werden. Doch damit verstößt Microsoft gegen alle Konventionen.
Teredo vs. 6in4/6to4/6over4
Neben Teredo gibt es noch andere Tunneltechniken, die IPv6-Pakete über IPv4 übertragen. Im wesentlichen 6in4, 6to4 und 6over4.
Der Unterschied zwischen Teredo und 6in4/6to4/6over4 ist, dass Teredo dem Benutzer die Konfiguration weitgehend aus der Hand nimmt. Während man bei 6in4/6to4/6over4 bestimmte Voraussetzungen erbringen muss, funktioniert Teredo in vielen Fällen ohne weitere Eingriffe. Es benötigt lediglich eine öffentlich erreichbare IPv4-Adresse. Beispielsweise über NAT. Um alles andere kümmert sich die Software. Tunnelverfahren wie zum Beispiel 6to4 funktionieren nur mit einer öffentlichen IPv4-Adresse.
Teredo und DS-Lite
Weil Internet-Provider und Mobilfunknetzbetreiber nicht genug öffentliche IPv4-Adressen für alle ihre Kunden haben, wickeln sie den Datenverkehr über Dual-Stack-Lite (DS-Lite) ab. Das bedeutet, dass neben einer global gültigen IPv6-Adresse nur eine private IPv4-Adresse pro Kunde zur Verfügung steht. Der IPv4-Verkehr wird dabei behelfsmäßig über ein Provider-seitiges NAT abgewickelt (CGNAT). Wenn das Betriebssystem für IPv6-Verbindungen nicht die global gültige IPv6-Adresse, sondern Teredo verwendet, dann laufen die IPv6-Verbindungen über IPv4 und NAT. Dabei halten die IPv4-Verbindungen nicht dauerhaft und somit auch der Teredo-Tunnel nicht.
Teredo und DS-Lite sind generell keine gute Kombination und äußerst instabil.
Alternativen zu Teredo
Im Vergleich zu anderen VPN- und Tunneltechniken ist Teredo eher als Notlösung zu sehen. Anfangs war Teredo ein guter Ansatz von Microsoft. Teredo hat sich aber nie wirklich durchgesetzt. Im Zuge desse, dass es immer öfter natives IPv6 gibt, wäre es besser komplett auf Teredo zu verzichten. Alternativen gibt es einige. Leider sind die technisch viel aufwändiger und erfordert manuelles Eingreifen des Benutzers (Port-Weiterleitungen) oder es fehlen die Voraussetzungen (UPnP oder NAT-PMP) in den Routern.
Wie sicher ist Teredo?
Die Kommunikation mit Teredo wird als Sicherheitsrisiko angesehen. Denn Teredo hebelt das Konzept des per NAT abgeschotteten lokalen Netze aus. Durch Teredo sind IPv4-Rechner wegen der globale gültigen IPv6 direkt erreichbar. Selbst dann, wenn die Router-Firewall den IPv6-Verbindungsaufbau blockiert. Der Teredo-Tunnel schleust die IPv6-Datenpakete am NAT-Router und der Firewall vorbei ins IPv4-Netzwerk. Auf diese Weise können Zugriffe auf die Computer kommen, die es gar nicht geben sollte.
Wie man es von NAT kennt, muss immer der Client eine Verbindung aus dem lokalen Netzwerk ins öffentliche Netz aufbauen, damit anschließend eine bidirektionale Verbindung möglich ist. Erst dann dürfen alle Datenpakete des Teredo-Servers den NAT-Router und die Firewall passieren. Und dann packt der Teredo-Client alle IPv4-Datenpakete aus, verarbeitet die IPv6-Pakete weiter und leitet sie ins lokale Netz möglicherweise weiter. Vorausgesetzt, ein Angreifer kann die Pakete manipulieren, dann könnte er das lokale Netzwerk von innen scannen, nach Angriffsmöglichkeiten suchen, Router und Firewall manipulieren und vielleicht sogar Verbindungen von innen nach außen initiieren, um Software nachzuladen. Und das alles ohne das es der Benutzer merkt.
Auch aus Sicht des Datenschutzes ist Teredo als äußerst kritisch anzusehen. Da alle Windows-Betriebssysteme standardmäßig einen Teredo-Server von Microsoft kontaktieren, wenn eine Verbindung zu einem IPv6-Server aufgebaut werden soll. Anschließend läuft sämtlicher Datenverkehr über die Microsoft-Server, die möglicherweise in den USA stehen. Angesichts geheimdienstlicher Überwachung, die im Jahr 2013 bekannt wurde, ist hier Vorsicht geboten. Insbesondere deshalb, weil hier die Daten im Klartext übers Netz übertragen werden.
Es ist durchaus sinnvoll Teredo abzuschalten oder im Zweifelsfall IPv6 gleich ganz zu deaktivieren.
- Windows: netsh interface ipv6 set teredo disable