Unbeachtete IPv6-Features gefährden das LAN

© © Stanislaw Tokarski, 123RF

Die Pflichten des Protokolls

, ,
Langsam aber sicher etabliert sich IPv6 im IT-Alltag, und alle modernen Betriebssysteme von Windows über MacOS X bis zu Linux haben es an Bord. Doch Vorsicht: Wer die IPv6-Einführung dem Selbstlauf überlässt, erlebt unter Umständen unangenehme Überraschungen.
Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Im Jahr 1995 wählte die Internet Engineering Task Force (IETF) IPv6 als Nachfolger für IPv4 aus. Anfangs war das noch kein vielbeachtetes Thema. Das änderte sich erst, als Microsoft Windows Vista und die Windows-Server-Plattformen im Jahr 2007 mit IPv6-Unterstützung ausstattete. Linux in all seinen Varianten und Apples MacOS X zogen nach, und so verbreitete sich das neue Protokoll mit jeder neuen Installation. Bei allen diesen Rechner ist IPv6 heute per Default aktiv. Diese Rechner kommunizieren im Dual-Stack-Betrieb unaufgefordert auch über IPv6. Darüber hinaus verwenden Mirosofts Betriebssysteme sogenannte Transition Technologies, die quasi IPv4 als Link-Layer-Protokoll für IPv6 nutzen. Das passiert im Selbstlauf und zum Teil lange, bevor Admins den regulären IPv6-Betrieb organisieren. Und genau darin steckt eine latente Bedrohung.

Wer ist wie weit?

Im LAN werden Microsoft Betriebssysteme, Linux und Apples OS X am häufigsten verwendet. Sie alle setzen IPv6 parallel zum IPv4-Protokoll ein. Dabei ist IPv6 standardmäßig aktiviert und aktiv – die Systeme kommunizieren im Netzwerk per Dual-Stack-Betrieb ( Abbildung 1 ). Die folgende Übersicht zeigt die Standard-einstellungen aktueller Betriebssystemvarianten:

Abbildung 1: Bei aktuellen Betriebssystemen ist IPv6 ist neben IPv4 per Default im LAN aktiv.

Windows Vista / 7 / 2008

  • IPv6 installiert und aktiv
  • Stateless Address Autoconfiguration aktiv (RFC 2462 / RFC 4862)
  • IPv6 Stack: zahlreiche Verbesserungen (Dual Layer)
  • GUI-, CLI- and GPO2-Konfiguration
  • Integrated Internet Protocol Security (IPsec) verfügbar
  • Privacy Extensions (RFC 3041 /RFC 4941) aktiv
  • DNS-Unterstützung
  • Source and Destination Address Selection (RFC 3484)
  • DHCPv6-Client aktiv
  • Link-Local Multicast Name Resolution (LLMNR)
  • Transition Technologies (Tunnel) aktiv
  • Windows Firewall ist IPv6-fähig, Stateful Inspection

Linux

  • IPv6 installiert und aktiv
  • Stateless Address Autoconfiguration aktiv (RFC 2462 / RFC 4862)
  • GUI- und CLI-Konfiguration
  • Privacy Extensions (RFC 3041 / RFC 4941) optional
  • DNS-Unterstützung
  • Source and Destination Address Selection (RFC 3484)
  • DHCPv6-Client optional
  • Multicast-DNS
  • Transition Technologies (Miredo) optional
  • Firewall: ip6tables, Stateful Inspection ab Kernel 2.6.20

Mac OS X

  • IPv6 installiert und aktiv
  • Stateless Address Autoconfiguration (RFC 2462 / RFC 4862)
  • GUI- und CLI-Konfiguration möglich
  • Privacy Extensions (RFC 3041 / RFC 4941) optional, ab 10.7 aktiv
  • Source and Destination Address Selection (nach RFC 3484), dabei ist die administrative Schnittstelle nicht vorhanden
  • DHCPv6 ab 10.7
  • Multicast-DNS-Unterstützung
  • Transition Technology (6to4) optional
  • rDNS (RFC5006) ab 10.7
  • Firewall: ip6fw – aber kein Konfigurationsmenü / Standardeinstellung: accept

Die iOS-Versionen für iPhone und iPad haben im Auslieferungszustand ebenfalls das IPv6-Protokoll aktiviert. Gleiches gilt für Smartphones und Tablet-PCs auf Android-Basis. In beiden Welten steht dem Benutzer allerdings keine administrative Schnittstelle zur Anpassung der IPv6-Konfiguration zur Verfügung.

Autokonfiguration

RFC 2462 "IPv6 Stateless Address Autoconfiguration" [1] beschreibt innerhalb des IPv6-Standards die Stateless Address Autoconfiguration (SLAAC). Die Implementierung dieser Technik ist für jeden Host verpflichtend. Weitere Methoden sind optional und können das jeweilige Host-Interface mit weiteren IPv6-Adressen konfigurieren. Bei der Initialisierung eines LAN-Interfaces werden folgende vom RFC 2462 vorgesehenen Stufen durchlaufen:

1. Link-Local Address (EUI-64 IID oder Pseudozufallszahl) generieren

2. Neighbor Solicitation (NS) für Duplicate Address Detection (DAD) senden

3. Autoconfiguration abbrechen, falls ein Neighbor Advertisement (NA) einen Adresskonflikt anzeigt

4. Router Solicitation (RS) senden

5. Falls kein Router Advertisement (RA) empfangen wird, starte DHCPv6

6. Falls ein Router Advertisement (RA) empfangen wird:

6.1. generiere Adressen für die enthaltenen Prefixe; danach DAD

6.2. falls M-Flag == 1 im Router Advertisement (RA):

6.3. starte DHCPv6, um weitere Adressen und Parameter zu erhalten

6.4. falls M-Flag == 0 und O-Flag == 1 im Router Advertisement (RA):

6.5. starte DHCPv6, um weitere Konfigurationsparameter zu erhalten (etwa DNS-Server)

Dieser Autoconfiguration-Prozess im lokalen Netz hat verschiedene Schwachstellen, die sich, wenn der Admin sie nicht zusätzlich absichert, sowohl böswillig als auch unbeabsichtigt ausnutzen lassen. Dadurch sind lokale Netzteilnehmer gefährdet, lange bevor ein regulärer IPv6-Betrieb aufgenommen wird.

Das größte Gefährdungspotenzial geht dabei von sogenannten Rogue Routern aus. Rogue Router manipulieren in böswilliger oder unbeabsichtigter Weise die Kommunikation des lokalen Link. Durch Senden einer initialen Router Solicitation ( Abbildung 2 ) an die Link Local Multicast Address FF02::2 versuchen Hosts, im Rahmen der Stateless Address Autoconfiguration unternehmensweit oder weltweit gültige IPv6-Prefixe zu erhalten, die mit einem Interface Identifier zu einer vollständigen 128 Bit-IPv6-Adresse verknüpft werden. Damit ist die Kommunikation über Subnetzgrenzen hinweg möglich. Auf die gesendete Anfrage antwortet im Normalfall der reguläre IPv6-Router, indem er an die Link Local Multicast Adresse FF02::1 (All Nodes) ein Router Advertisement ( Abbildung 3 ) sendet. Im Payload trägt diese Nachricht alle am lokalen Subnetz gültigen IPv6-Prefixe und weitere Flags, die eine granulare Konfiguration ermöglichen. Die Router-Advertisement-Nachricht wird außerdem periodisch wiederholt.

Abbildung 2: Ein Host versucht, durch Senden einer initialen Router-Solicitation eine weltweit gültige IPv6-Adresse zu erhalten.
Abbildung 3: Im Normalfall antwortet ein regulärer Router auf die Anfrage, indem er ein Router Advertisement verschickt.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023