Sichere IPv6 Neighbor Discovery
ZUSAMMENFASSUNG Das Secure Neighbor Discovery (SEND)-Protokoll für IPv6-Datenverkehr verhindert, dass ein Angreifer, der Zugriff auf das Broadcast-Segment hat, NDP oder ARP missbraucht, um Hosts dazu zu verleiten, den Angreiferdatenverkehr zu senden, der für eine andere Person bestimmt ist, eine Technik, die als ARP-Poisoning bekannt ist.
Verstehen der sicheren IPv6 Neighbor Discovery
Eine der Funktionen des IPv6 Neighbor Discovery Protocol (NDP) besteht darin, Ip-Adressen auf Netzwerkebene auf Link Layer-Adressen (z. B. Ethernet) aufzulösen, eine Funktion, die in IPv4 by Address Resolution Protocol (ARP) ausgeführt wird. Das Secure Neighbor Discovery (SEND)-Protokoll verhindert, dass ein Angreifer, der Zugriff auf das Broadcast-Segment hat, NDP oder ARP missbraucht, um Hosts dazu zu verleiten, den Angreiferdatenverkehr zu senden, der für eine andere Person bestimmt ist, eine Technik, die als ARP-Vergiftung bezeichnet wird.
Zum Schutz vor ARP-Vergiftungen und anderen Angriffen gegen NDP-Funktionen sollte SEND eingesetzt werden, wenn der Zugriff auf das Broadcast-Segment möglicherweise nicht möglich ist.
SEND verwendet RSA-Schlüsselpaare, um kryptographisch generierte Adressen zu produzieren, wie in RFC 3972, Cryptographically Generated Addresses (CGA) definiert. Dies stellt sicher, dass die beanspruchte Quelle einer NDP-Nachricht der Eigentümer der beanspruchten Adresse ist.
Beispiel: Konfigurieren einer sicheren IPv6 Neighbor Discovery
Dieses Beispiel zeigt, wie Sie IPv6 Secure Neighbor Discovery (SEND) konfigurieren.
Anforderungen
Dieses Beispiel erfüllt die folgenden Anforderungen:
Junos OS Version 9.3 oder höher
IPv6-Bereitstellung in Ihrem Netzwerk
Wenn Sie dies noch nicht getan haben, müssen Sie ein RSA-Schlüsselpaar generieren oder installieren.
Um ein neues RSA-Schlüsselpaar zu generieren, geben Sie den folgenden Befehl ein:
user@host> request security pki generate-key-pair type rsa certificate-id certificate-id-name size size
Übersicht
Um SEND zu konfigurieren, fügen Sie die folgenden Anweisungen ein:
protocols { neighbor-discovery { onlink-subnet-only; secure { security-level { (default | secure-messages-only); } cryptographic-address { key-length number; key-pair pathname; } timestamp { clock-drift number; known-peer-window seconds; new-peer-window seconds; } traceoptions { file filename <files number> <match regular-expression> <size size> <world-readable | no-world-readable>; flag flag; no-remote-trace; } } } }
Geben Sie Standard an, um sichere und nicht gesicherte Neighbor Discovery Protocol (NDP)-Pakete zu senden und zu empfangen. So konfigurieren Sie SEND, um nur gesicherte NDP-Nachrichten zu akzeptieren und ungesicherte nachrichten zu löschen. nur sichere Nachrichten angeben.
Alle Knoten im Segment müssen mit SEND konfiguriert werden, wenn die option "Nur sichere Nachrichten " verwendet wird. Dies wird empfohlen, es sei denn, nur eine kleine Untergruppe von Geräten erfordert einen erhöhten Schutz. Wenn SEND nicht für alle Knoten konfiguriert wurde, kann dies zu Verbindungsverlusten führen.
Topologie
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für die Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie auf Hierarchieebene in die [edit]
CLI ein.
set protocols neighbor-discovery secure security-level secure-messages-only set protocols neighbor-discovery secure cryptographic-address key-length 1024 set protocols neighbor-discovery secure cryptographic-address key-pair /var/etc/rsa_key set protocols neighbor-discovery secure timestamp
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.
So konfigurieren Sie eine sichere IPv6 Neighbor Discovery:
Konfigurieren Sie die Sicherheitsebene.
[edit protocols neighbor-discovery secure] user@host# set security-level secure-messages-only
(Optional) Aktivieren Sie die Schlüssellänge.
Die Standardschlüssellänge ist 1024.
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-length 1024
(Optional) Geben Sie den Verzeichnispfad der für die Kryptographieadresse generierten Datei mit öffentlich-privatem Schlüssel an.
Der Standardspeicherort der Datei ist das Verzeichnis /var/etc/rsa_key .
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-pair /var/etc/rsa_key
(Optional) Konfigurieren Sie einen Zeitstempel, um sicherzustellen, dass Werbe- und Weiterleitungsnachrichten nicht wiedergegeben werden.
[edit protocols neighbor-discovery secure] user@host# set timestamp
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show protocols
Befehl eingeben. Wenn die Ausgabe die beabsichtigte Konfiguration nicht anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show protocols
neighbor-discovery {
secure {
security-level {
secure-messages-only;
}
cryptographic-address {
key-length 1024;
key-pair /var/etc/rsa_key;
}
timestamp;
}
}
Wenn Sie die Konfiguration des Geräts durchgeführt haben, geben Sie commit aus dem Konfigurationsmodus ein.
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen des IPv6 Neighbor Cache
Zweck
Zeigen Sie Informationen über die IPv6-Nachbarn an.
Aktion
Geben Sie im Betriebsmodus den show ipv6 neighbors
Befehl ein.
Bedeutung
In IPv6 wurde das Address Resolution Protocol (ARP) durch NDP ersetzt. Der IPv4-Befehl show arp
wird durch den IPv6-Befehl show ipv6 neighbors
ersetzt. Die wichtigsten Informationen, die durch diesen Befehl angezeigt werden, sind die IP-Adresse, die MAC-Adresse (Link Layer) und die Schnittstelle.
Ablaufverfolgung von Neighbor Discovery-Ereignissen
Zweck
Führen Sie zusätzliche Validierung durch Ablaufverfolgung von SEND durch.
Aktion
Konfigurieren Sie Ablaufverfolgungsvorgänge.
[edit protocols neighbor-discovery secure] user@host# set traceoptions file send-log user@host# set traceoptions flag all
Führen Sie den
show log
Befehl aus.user@host> show log send-log Apr 11 06:21:26 proto: outgoing pkt on idx 68 does not have CGA (fe80::2a0:a514:0:14c), dropping pkt Apr 11 06:26:44 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 70 with offset 40 Apr 11 06:26:44 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Apr 11 06:26:44 cga: snd_is_lcl_cga: BEFORE overriding cc, cc:0, ws->col:0 Apr 11 06:26:44 proto: outgoing pkt on idx 70 does not have CGA (fe80::2a0:a514:0:24c), dropping pkt Apr 11 06:26:47 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 68 with offset 40 Apr 11 06:26:47 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bedeutung
Die Ausgabe zeigt, dass das Paket abgebrochen wird, da das Paket keine kryptographisch generierte Adresse hat.