Die neueste Generation des IP-Protokolls wird zudem tiefgreifende Auswirkungen auf die Netzwerksicherheit haben. IPv4 und IPv6 werden noch jahrelang parallel existieren, aber je früher wir anfangen, über die Sicherheitsaspekte von IPv6 nachzudenken, desto besser. Und darum geht es in diesem Artikel in den folgenden Abschnitten:
Die gute Nachricht zuerst: IPv6 als Protokollsatz ist an sich nicht mehr oder weniger sicher als sein Vorgänger. Genau wie bei IPv4 sind Architektur- und Implementierungsprobleme die Ursache für die überwiegende Mehrheit aller Sicherheitsvorfälle und nicht Schwachstellen in den zugrundeliegenden Technologien. Mit anderen Worten: es läuft weitgehend auf menschliches Versagen hinaus. Der menschliche Faktor ist der Schlüssel zur Sicherheit unter IPv6. Wir verfügen über jahrzehntelange Erfahrung in der Arbeit mit IPv4 und viele von uns sind es gewohnt, unsere Netzwerke aus der IPv4-Perspektive zu betrachten. Das ist eine gefährliche Denkweise, wenn alle modernen Betriebssysteme und Geräte sowohl IPv4 als auch IPv6 standardmäßig aktiviert haben. Unser mangelndes Bewusstsein kann zu gefährlichen toten Winkeln führen. Beispielsweise kann zwar die IPv4-Angriffsfläche eines Servers gehärtet werden, während IPv6-Ports weit offen bleiben. Dieser Mangel an Bewusstsein reicht auch über Netzwerkingenieure und Systemadministratoren hinaus. Sicherheitstools und Sicherheitsteams neigen dazu, IPv6-Datenverkehr weniger eingehend zu untersuchen. Das können Angreifer auf vielerlei Art ausnutzen, z. B. indem sie einen IPv6-Proxy-Server verwenden, um sich lateral im Netzwerk eines Unternehmens zu bewegen oder Daten mit einem geringeren Entdeckungrisiko zu exfiltrieren.
Wie bereits erläutert, ist IPv6 bei allen modernen Geräten und Betriebssystemen standardmäßig aktiviert. Wenn Sie also nicht explizit IPv6 auf jedem Knoten in Ihrem Netzwerk deaktiviert haben, haben Sie wahrscheinlich eine Dual-Stack-Umgebung. Es ist also fraglich, ob es sinnvoll ist, über IPv4- gegenüber IPv6-Sicherheit nachzudenken; wahrscheinlich nutzen Sie bereits sowohl IPv4 als auch IPv6, daher müssen Sie über die Sicherheitsrisiken beider Protokolle nachdenken. Die Verteidigungs- und Sicherheitsmaßnahmen, die Sie auf Ihre IPv4-Hosts und Router anwenden, sollten ebenso für den IPv6-Teil des Netzwerks verwendet werden. Beachten Sie, dass die Implementierung von IPv6-Sicherheitsmaßnahmen dennoch zusätzliche Konfiguration erfordert. Oftmals müssen Sie die IPv6-Einstellungen eigens auf Ihren Firewalls, ACLS usw. konfigurieren. Auch ist es wichtig zu bedenken, dass viele Angriffe komplett oberhalb der Netzwerkebene stattfinden. Eine Phishing-E-Mail mit Ransomware stellt beispielsweise gleichermaßen eine Bedrohung dar – egal ob sie über einen IPv4- oder IPv6-Link zugestellt wird.
Eine der grundlegenden Änderungen, die die IETF mit IPv6 vorgenommen hat, war die Unterstützung von IPSec. Dadurch sind Verschlüsselungs- und Authentifizierungsfunktionen direkt im Protokollsatz enthalten und müssen nicht, wie bei IPv4, nachträglich implementiert werden. Es gab anfängliche Spekulationen, dass diese Unterstützung auf Protokollebene die Sicherheit von IPv6 verbessern würde. Aber in der Praxis gibt es aus mehreren Gründen keinen großen Unterschied. Erstens ist IPSec in IPv4-Netzwerken bereits weit verbreitet. Zweitens wurde die Verwendung von IPSec nicht zwingend verlangt, die Unterstützung jedoch in den ursprünglichen Versionen des IPv6-Standards vorgeschrieben. Die Benutzer müssen die Funktion selbst aktivieren. Die Anforderung wurde von der IETF 2011 auch abgeschwächt. IPv6-Implementierungen SOLLTEN demzufolge IPSec unterstützen, Konformität war jedoch auch ohne Unterstützung möglich.
IPv4-Subnets in einem Unternehmensnetzwerk enthalten höchstens ein paar hundert bis ein paar tausend mögliche Adressen. Angreifer können diesen gesamten Adressbereich schnell scannen und herausfinden, welche Adressen zu aktiven Hosts gehören. Die Standardgröße eines IPv6-Subnets beträgt 264 Hosts. Mit anderen Worten: Jedes IPv6-Subnet enthält etwa 4 Milliarden mal so viele Adressen wie der gesamte Adressbereich von IPv4. Das Scannen all dieser Adressen würde Jahrhunderte in Anspruch nehmen. Die herkömmlichen Erkundungsangriffe, die in IPv4-Netzwerken häufig vorkommen, sind in einer IPv6-Umgebung nicht praktikabel. Die Angreifer schwelgen jedoch nicht in Nostalgie und haben ihre altbewährten Ping-Sweeps schnell aufgegeben, um neue Techniken zu verwenden, die auch in der 128-Bit-Welt von IPv6 funktionieren. Neue Tools wie Scan6 verfolgen einen zielgerichteten Ansatz und nutzen Forschungsergebnisse, die belegen, dass IPv6-Adressen oft auf Grundlage vorhersehbarer Muster zugewiesen werden. Für Server ist der Reverse-DNS-Lookup eine häufig verwendete Technik. Sicherheitsforscher und Angreifer entwickeln gleichermaßen aktiv neue, effektivere Techniken zum Fingerprinting von IPv6-Netzwerken.
Der aktuelle IPv6-Stack hält zwar mehrere Funktionen gegen Layer-2- und Layer-3-Spoofing-Angriffe bereit, aber diese werden nicht häufig verwendet oder unterstützt. Die Secure Neighbor Discovery (SEND) wurde beispielsweise 2005 eingeführt, um einen sicheren Mechanismus für die Nachbarsuche in IPv6-Netzwerken bereitzustellen. Die Host-Betriebssysteme haben jedoch nur langsam die Unterstützung für SEND eingeführt. Das ältere, unsichere Neighbor Discovery Protocol (NDP) ist daher deutlich verbreiteter. NDP ist anfällig für eine Vielzahl von Angriffen, ähnlich wie ARP-Spoofing oder Poisoning in IPv4-Netzwerken. IPSec-Authentifizierungs-Header können verwendet werden, um die Authentizität einer IPv6-Adresse zu beweisen, aber der IPSec-Support muss explizit aktiviert sein, damit das geschieht. In Ermangelung dessen ist das Spoofing einer IPv6-Adresse genauso einfach wie das Spoofing einer IPv4-Adresse. Glücklicherweise sind viele der Techniken, die wir seit langem zum Schutz unserer IPv4-Netzwerke verwenden, ebenso effektiv bei der Verbesserung der IPv6-Sicherheit. Alle großen Hersteller von Routern unterstützen Filterfunktionen, ähnlich wie DHCP Snooping und Dynamic ARP Inspection für die Nachbarsuche. Bogon-Filter und Unicast Reverse Path Forwarding Checks funktionieren für IPv4- und IPv6-Verkehr gleichermaßen gut.
Network Address Translation (NAT) kann zwar die interne Struktur eines Netzwerks verbergen, aber dafür war es nie vorgesehen. In der Tat verhindert NAT eines der ursprünglichen Ziele des Internet-Protokolls: die End-to-End-Erreichbarkeit von Hosts. Die global eindeutigen Adressen (GUAs) von IPv6 stellen diese Funktionalität wieder her, aber das muss nicht auf Kosten der Sicherheit oder des Datenschutzes gehen. Die verschiedenen Adresstypen, die in IPv6 zur Verfügung stehen, bieten mehr Flexibilität bei der Netzwerkarchitektur: Lokale Link-Adressen zum Beispiel sind nur innerhalb einer Broadcast-Domain gültig und können nicht geroutet werden. Wo eine routingfähige Adresse gewünscht wird, können IPv6-fähige Firewalls die gleichen Vorteile wie NAT bieten.
Das Wichtigste, was Sie tun können, um die IPv6-Sicherheit in Ihrem Unternehmen zu erhöhen, ist, das Protokoll zu erlernen. IPv4 und IPv6 sind in vielerlei Hinsicht sehr unterschiedlich, und ein erfolgreicher Schutz Ihres Netzwerks erfordert zumindest grundlegende Kenntnisse über die Funktionsweise sowie die Unterschiede zwischen den beiden Protokollen. Mit IPv6 ändert sich alles – von der Adresssyntax bis hin zur Zuweisung der Adressen. Es ist wichtig, sich nicht nur mit der Funktionsweise des Protokolls vertraut zu machen, sondern auch damit, wie es auf verschiedenen Systemen implementiert wird. Bei Linux-Systemen beispielsweise filtert die weit verbreitete iptables-Firewall nicht automatisch den IPv6-Datenverkehr. Die Benutzer müssen selbst die zugehörigen ip6tables explizit konfigurieren, um ihre Rechner zu sperren. Durch zu geringe Kenntnisse in diesem Bereich entstehen leicht Backdoors, die sich Angreifer zunutze machen können.
Bei mehreren Adressentypen kann IPv6 eine breitere Angriffsfläche bieten als IPv4. Im Gegensatz zu IPv4 unterstützt IPv6 die Autokonfiguration von Adressen. Das bedeutet, dass Ihre Endpoints möglicherweise IPv6-Datenverkehr akzeptieren, ohne dass Sie es überhaupt bemerken. Lokale Link-Adressen werden normalerweise auch auf jedem Endpoint konfiguriert, auf dem IPv6 aktiviert ist. Wahrscheinlich haben Sie IPv6 in Ihrem Netzwerk, selbst wenn Sie es nicht wissen. Das Auffinden und Absichern Ihrer IPv6-Endpoints ist ebenso wichtig wie das Auffinden und Absichern von IPv4-Hosts. Sie können viele der gleichen Tools verwenden, die von Angreifern eingesetzt werden, beispielsweise scan6, um Hosts zu entdecken, die Ihnen nicht bekannt sind.
IPv4 und IPv6 sind nicht nativ kompatibel. Daher wurden verschiedene Mechanismen geschaffen, um gemischte Netzwerke zu ermöglichen. Tunnel sind ein solcher Mechanismus, mit dem IPv6-Datenverkehr über ein natives IPv4-Netzwerk übertragen werden kann. Tunnel bringen jedoch Sicherheitsprobleme mit sich, da sie die Sichtbarkeit des Datenverkehrs, der sie durchquert, verringern und Firewalls umgehen können. Es ist auch möglich, dass ein Angreifer Autotunnel-Mechanismen missbraucht, um den Verkehrsfluss zu manipulieren. Aus diesen Gründen wird empfohlen, bei Tunneln Vorsicht walten zu lassen. Statische Tunnel sind im Allgemeinen dynamischen vorzuziehen und sollten nur dann aktiviert werden, wenn dies ausdrücklich gewünscht ist. Die Filterung auf Firewall-Ebene kann ebenso eine granulare Kontrolle darüber bieten, welche Hosts als Tunnel-Endpoints fungieren können.
Wie bereits erwähnt, haben sich Erkundungsangriffe gegen IPv6-Subnets zum großen Teil deshalb als erfolgreich erwiesen, weil Hosts dazu tendieren, vorhersehbare Adressen zu verwenden. Das kann bei der Netzwerkadministration helfen, birgt jedoch erhebliche Risiken bei der IPv6-Sicherheit. Viele dieser Angriffe lassen sich verhindern, indem man Zufallsadressen verwendet, wo immer dies möglich ist, insbesondere bei statischen Zuweisungen. Bei Autokonfiguration war es früher üblich, dass Betriebssysteme eine Layer-3-IPv6-Adresse teilweise aus der Layer-2-MAC-Adresse ableiten. Dadurch wird es für Angreifer leichter, den Host zu ermitteln. Die meisten Betriebssysteme bieten heutzutage die Möglichkeit, zufällige oder pseudozufällige Adressen zu generieren. Es lohnt sich, zu schauen, ob diese Funktion auf Ihren Endpoints aktiviert ist, wenn die Autokonfiguration verwendet wird.
Viele der bestehenden Best Practices von IPv4 haben Äquivalente in der IPv6-Sicherheit. Sowohl für IPv4- als auch für IPv6-Umgebungen wird es empfohlen, die Authentifizierung für Ihre Routing-Protokolle zu aktivieren, Bogon-Filter anzuschalten und hostbasierte Firewalls zu konfigurieren. So lassen sich laterale Bewegungen in Ihrem Netzwerkperimeter verhindern. IPv6-Router unterstützen in der Regel auch eine Reihe von Basis-Sicherheitsfunktionen, die jenen in IPv4-Umgebungen ähnlich sind, aber auch bestimmte Unterschiede aufweisen. Dazu gehören RA Guard, ND Inspection und Source Guard.