<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Schutz_gegen_gefaelschte_Router_Advertisements</id>
	<title>Schutz gegen gefaelschte Router Advertisements - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Schutz_gegen_gefaelschte_Router_Advertisements"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Schutz_gegen_gefaelschte_Router_Advertisements&amp;action=history"/>
	<updated>2026-11-11T14:09:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Schutz_gegen_gefaelschte_Router_Advertisements&amp;diff=73745&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= Schutz gegen gefaelschte Router Advertisements =  In IPv6-Netzen konfigurieren sich Hosts ueber SLAAC (Stateless Address Autoconfiguration) selbst. Grundlage…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Schutz_gegen_gefaelschte_Router_Advertisements&amp;diff=73745&amp;oldid=prev"/>
		<updated>2026-10-16T14:18:27Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Schutz gegen gefaelschte Router Advertisements =  In IPv6-Netzen konfigurieren sich Hosts ueber SLAAC (Stateless Address Autoconfiguration) selbst. Grundlage…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Schutz gegen gefaelschte Router Advertisements =&lt;br /&gt;
&lt;br /&gt;
In IPv6-Netzen konfigurieren sich Hosts ueber SLAAC (Stateless Address&lt;br /&gt;
Autoconfiguration) selbst. Grundlage dafuer sind Router Advertisements&lt;br /&gt;
(RA, ICMPv6 Typ 134), die ein Router periodisch und auf Anfrage&lt;br /&gt;
(Router Solicitation, Typ 133) verschickt. Darin stehen Praefix,&lt;br /&gt;
Default-Gateway, MTU und optional DNS-Server (RDNSS).&lt;br /&gt;
&lt;br /&gt;
Das Problem: RAs sind standardmaessig nicht authentifiziert. Jeder&lt;br /&gt;
Rechner im Segment kann RAs verschicken. Ein gefaelschter RA&lt;br /&gt;
(Rogue RA) traegt beim Opfer ein falsches Gateway oder ein falsches&lt;br /&gt;
Praefix ein. Damit wird der Angreifer zum Man-in-the-Middle oder&lt;br /&gt;
legt die Konnektivitaet lahm (DoS). Haeufig passiert so etwas auch&lt;br /&gt;
unabsichtlich, z.B. durch ein falsch konfiguriertes Windows mit&lt;br /&gt;
Internet Connection Sharing oder eine fehlkonfigurierte VM.&lt;br /&gt;
&lt;br /&gt;
== Angriff im Labor zeigen ==&lt;br /&gt;
&lt;br /&gt;
Zum Vorfuehren eignet sich das THC-IPv6-Toolkit.&lt;br /&gt;
&lt;br /&gt;
;Paket installieren (Debian)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install thc-ipv6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Einen einzelnen gefaelschten Router ankuendigen (Praefix und LL-Adresse frei gewaehlt)&lt;br /&gt;
*fake_router6 eth0 2001:db8:bad::/64&lt;br /&gt;
&lt;br /&gt;
;Das Segment mit vielen zufaelligen RAs fluten (DoS, treibt CPU der Hosts hoch)&lt;br /&gt;
*flood_router26 eth0&lt;br /&gt;
&lt;br /&gt;
Nach dem Start von fake_router6 sieht man auf einem ungeschuetzten&lt;br /&gt;
Client eine zusaetzliche IPv6-Adresse aus dem Fremd-Praefix und einen&lt;br /&gt;
zweiten Default-Eintrag.&lt;br /&gt;
&lt;br /&gt;
;Auf dem Opfer kontrollieren&lt;br /&gt;
*ip -6 addr show dev eth0&lt;br /&gt;
*ip -6 route show&lt;br /&gt;
&lt;br /&gt;
== Schutz auf dem Switch: RA Guard ==&lt;br /&gt;
&lt;br /&gt;
Der wirksamste Schutz sitzt auf dem Access-Switch, weil er den&lt;br /&gt;
gefaelschten RA abfaengt, bevor er die anderen Hosts erreicht.&lt;br /&gt;
&lt;br /&gt;
RA Guard (RFC 6105) klassifiziert jeden Switchport als Host-Port&lt;br /&gt;
oder als Router-Port. RAs, die an einem Host-Port hereinkommen,&lt;br /&gt;
werden verworfen. Nur an definierten Uplink-/Router-Ports sind RAs&lt;br /&gt;
erlaubt.&lt;br /&gt;
&lt;br /&gt;
Bei Cisco ist das Teil der &amp;quot;IPv6 First Hop Security&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ipv6 nd raguard policy HOST-POLICY&lt;br /&gt;
 device-role host&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/1&lt;br /&gt;
 ipv6 nd raguard attach-policy HOST-POLICY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Uplink zum echten Router bekommt stattdessen device-role router.&lt;br /&gt;
&lt;br /&gt;
;Wichtig&lt;br /&gt;
Die erste RA-Guard-Generation liess sich mit IPv6 Extension Headers&lt;br /&gt;
und Fragmentierung umgehen: Der RA wurde fragmentiert, sodass der&lt;br /&gt;
Typ 134 fuer den Switch nicht sofort erkennbar war. RFC 7113&lt;br /&gt;
schliesst diese Luecke, indem fragmentierte Neighbor-Discovery-Pakete&lt;br /&gt;
grundsaetzlich verworfen werden. Fuer den Produktiveinsatz also auf&lt;br /&gt;
aktuelle Firmware achten.&lt;br /&gt;
&lt;br /&gt;
== Weitere First-Hop-Security-Mechanismen ==&lt;br /&gt;
&lt;br /&gt;
RA Guard schuetzt nur gegen gefaelschte RAs. Das IPv6-Pendant zu&lt;br /&gt;
ARP-Spoofing und zu Rogue-DHCP braucht weitere Bausteine, die&lt;br /&gt;
meist aus derselben Switch-Feature-Familie stammen:&lt;br /&gt;
&lt;br /&gt;
;DHCPv6 Guard&lt;br /&gt;
*Verwirft DHCPv6-Server-Antworten an Host-Ports (gegen Rogue-DHCPv6)&lt;br /&gt;
&lt;br /&gt;
;ND Inspection / IPv6 Snooping&lt;br /&gt;
*Baut eine Binding-Tabelle (MAC - IPv6 - Port) auf und verwirft&lt;br /&gt;
 gefaelschte Neighbor Advertisements (gegen NA-Spoofing)&lt;br /&gt;
&lt;br /&gt;
;Source Guard&lt;br /&gt;
*Laesst an einem Port nur die per Snooping gelernten Adressen als&lt;br /&gt;
 Absender zu (gegen Adress-Spoofing)&lt;br /&gt;
&lt;br /&gt;
== Host-seitiger Schutz unter Linux ==&lt;br /&gt;
&lt;br /&gt;
Wo kein RA-Guard-faehiger Switch verfuegbar ist, kann man einen&lt;br /&gt;
statisch konfigurierten Host so haerten, dass er RAs gar nicht&lt;br /&gt;
auswertet oder nur die des echten Routers akzeptiert.&lt;br /&gt;
&lt;br /&gt;
;RAs vollstaendig ignorieren (nur sinnvoll bei statischer Konfiguration)&lt;br /&gt;
*sysctl -w net.ipv6.conf.eth0.accept_ra=0&lt;br /&gt;
&lt;br /&gt;
;Dauerhaft setzen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;net.ipv6.conf.eth0.accept_ra = 0&amp;quot; &amp;gt; /etc/sysctl.d/90-ra.conf&lt;br /&gt;
sysctl --system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ mit nftables nur RAs von der bekannten Link-Local-Adresse&lt;br /&gt;
des echten Routers zulassen und alle anderen verwerfen. Die&lt;br /&gt;
Link-Local-Adresse des Gateways vorher ermitteln:&lt;br /&gt;
&lt;br /&gt;
;Gateway-Link-Local-Adresse anzeigen&lt;br /&gt;
*ip -6 route show default&lt;br /&gt;
&lt;br /&gt;
;nftables-Regel (fe80::1 durch die echte Router-Adresse ersetzen)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
table inet raguard {&lt;br /&gt;
    chain input {&lt;br /&gt;
        type filter hook input priority 0; policy accept;&lt;br /&gt;
        icmpv6 type nd-router-advert ip6 saddr != fe80::1 drop&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SEND: der kryptografische Ansatz ==&lt;br /&gt;
&lt;br /&gt;
SEND (Secure Neighbor Discovery, RFC 3971) authentifiziert Router&lt;br /&gt;
und Nachbarn kryptografisch ueber CGA (Cryptographically Generated&lt;br /&gt;
Addresses) und Router-Zertifikate. Technisch sauber, in der Praxis&lt;br /&gt;
aber kaum relevant: Es gibt fast keine Betriebssystem- und&lt;br /&gt;
Switch-Unterstuetzung. Fuer die Vollstaendigkeit erwaehnt, als&lt;br /&gt;
Produktivloesung spielt heute RA Guard die Hauptrolle.&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
* Gefaelschte RAs sind ein ernstes IPv6-Risiko (MitM oder DoS)&lt;br /&gt;
* Primaerschutz: RA Guard auf dem Switch (Host-Ports verwerfen RAs)&lt;br /&gt;
* Auf RFC 7113 bzw. aktuelle Firmware achten (Fragmentierungs-Bypass)&lt;br /&gt;
* Ergaenzend: DHCPv6 Guard, ND Inspection, Source Guard&lt;br /&gt;
* Ohne managebaren Switch: Host-Haertung ueber accept_ra=0 oder nftables&lt;br /&gt;
* SEND ist die saubere, aber praktisch ungenutzte Krypto-Loesung&lt;br /&gt;
&lt;br /&gt;
[[Category:IPv6]]&lt;br /&gt;
[[Category:Netzwerksicherheit]]&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>