IPv6/main.tex

454 lines
16 KiB
TeX
Raw Normal View History

2018-01-02 11:57:52 +01:00
\documentclass{f4_beamer}
\usepackage{graphicx}
\usepackage{float}
\usepackage{subfigure}
\usepackage{xspace}
\usepackage{textcomp}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{subfigure}
\usepackage{here}
\usepackage{verbatim}
\usepackage{listings}
\usepackage{url}
2018-01-02 22:53:36 +01:00
\usepackage{xcolor}
2018-01-02 11:57:52 +01:00
\usepackage{caption}
\usepackage[autostyle=true,german=quotes]{csquotes}
% Suppress numbering captions
\captionsetup{labelformat=empty}
% Setup für Codeblocks
\lstset{
% Optionen
breaklines=true,
breakatwhitespace=true,
breakautoindent=true,
frame=single,
%framexleftmargin=19pt,
inputencoding=utf8,
%language=awk,
%numbers=left,
%numbersep=8pt,
showspaces=false,
showstringspaces=false,
tabsize=1,
%xleftmargin=19pt,
captionpos=b,
% Styling
basicstyle=\footnotesize\ttfamily,
commentstyle=\footnotesize,
keywordstyle=\footnotesize\ttfamily,
numberstyle=\footnotesize,
stringstyle=\footnotesize\ttfamily,
}
% Hack für Sonderzeichen in Codeblocks
\lstset{literate=%
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}1
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
{°}{{${^\circ}$}}1
}
2018-01-02 22:53:36 +01:00
% Define colors
\definecolor{hlr}{RGB}{255,180,180}
\definecolor{hlg}{RGB}{180,255,180}
\definecolor{hlb}{RGB}{180,180,255}
2018-01-02 11:57:52 +01:00
\mode<presentation>
2018-01-02 22:53:36 +01:00
\title{IPv6}
\subtitle{Einführung und Sicherheitsaspekte}
\author{Jan Philipp Timme}
2018-01-02 11:57:52 +01:00
\date{\today}
\begin{document}
2018-01-02 22:53:36 +01:00
\begin{frame}{Neuigkeiten mit IPv6}
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-03 15:54:31 +01:00
\item RFC 2460, 1998/12 - IPv6 Specification
2018-01-02 22:53:36 +01:00
\item 128 Bit Adressraum
\item Neu: Link-lokale Adressen
\item Multicast anstelle von Broadcast
2018-01-03 12:32:57 +01:00
\item ICMPv6 für Betrieb essentiell (Bei IPv4 war ICMP optional)
2018-01-03 19:30:04 +01:00
\item Konfiguration via SLAAC\footnote{RFC 2462, 1998/12 - IPv6 Stateless Address Autoconfiguration} (und DHCPv6\footnote{RFC 3315, 2003/07 - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)})
2018-01-02 22:53:36 +01:00
\item Router Advertisments
2018-01-03 19:30:04 +01:00
\item Vollwertiges Routing, keine NAT\footnote{Network Address Translation} erforderlich!
2018-01-03 10:19:25 +01:00
\item Paketfragmentierung nur noch durch den Absender
2018-01-02 11:57:52 +01:00
\end{itemize}
\end{frame}
2018-01-03 19:30:04 +01:00
\section{Einstieg in IPv6}
2018-01-03 19:46:59 +01:00
\subsection{Notation und Schreibweisen}
2018-01-03 15:50:50 +01:00
2018-01-03 12:56:05 +01:00
\begin{frame}{Notation und Kurzschreibweise\footnote{Alle Beispiele mit RFC 3849, 2004/07 - IPv6 Address Prefix Reserved for Documentation}}
2018-01-02 22:53:36 +01:00
Gegeben: IPv6-Adresse
\texttt{2001:0db8:2407:08d3:0000:0000:0000:1234} \newline
\newline
1) Führende Nullen streichen \newline
\texttt{2001:\colorbox{hlb}{0}db8:2407:\colorbox{hlb}{0}8d3:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:1234} \newline
$\Rightarrow$ \texttt{2001:db8:2407:8d3:0:0:0:1234} \newline
\newline
2) Zusammenhängende Nullsegmente mit \texttt{::} ersetzen
\texttt{2001:db8:2407:8d3:\colorbox{hlb}{0:0:0}:1234} \newline
2018-01-03 10:19:25 +01:00
$\Rightarrow$ \texttt{2001:db8:2407:8d3::1234} \newline
\newline
2018-01-03 15:50:50 +01:00
\enquote{Das ist schon kürzer, aber tippen will ich das nicht...} \newline
2018-01-03 19:30:04 +01:00
$\rightarrow$ \enquote{Dafür gibt es im DNS \texttt{AAAA}-Einträge!}
2018-01-03 10:19:25 +01:00
\end{frame}
2018-01-03 12:56:05 +01:00
\begin{frame}{Adressen: Präfixe und Suffixe\footnote{Kapitel 2.3. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}}
Notation wie Classless Inter-domain Routing (CIDR\footnote{RFC 4632, 2006/08 - Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan}) bei IPv4 \newline
\newline
IPv6-Adresse mit angegebener Präfix-Länge: \texttt{2001:db8:2407:8d3::1234/\colorbox{hlr}{64}} \newline
\newline
Bedeutung: Präfix mit \colorbox{hlr}{64} Bit Länge fest vorgegeben
2018-01-03 21:51:18 +01:00
$\Rightarrow$ Übriges Suffix mit $128 - \colorbox{hlr}{64} = \colorbox{hlg}{64}$ Bit Länge frei zur Verwendung
2018-01-03 12:56:05 +01:00
\newline
\texttt{\colorbox{hlr}{2001:0db8:2407:08d3}:\colorbox{hlg}{0000:0000:0000:1234}/\colorbox{hlr}{64}} \end{frame}
2018-01-03 15:50:50 +01:00
\begin{frame}{Hierarchische Zuweisung von Netzen (Beispiel)}
2018-01-03 11:17:47 +01:00
\begin{itemize}
2018-01-03 11:41:10 +01:00
\item ISP bekommt ein \texttt{\colorbox{hlr}{/24}} Präfix zugewiesen
\begin{itemize}
2018-01-03 15:27:07 +01:00
\item $128 - \texttt{\colorbox{hlr}{24}} = 104$ Bit Suffix für ISP
2018-01-03 11:41:10 +01:00
\end{itemize}
2018-01-03 15:27:07 +01:00
\end{itemize}
\texttt{\colorbox{hlr}{2001:0d}00:0000:0000:0000:0000:0000:0000/\colorbox{hlr}{24}}
\begin{itemize}
2018-01-03 11:41:10 +01:00
\item ISP weist Kunden ein \texttt{\colorbox{hlb}{/56}} Präfix aus seinem \texttt{\colorbox{hlr}{/24}} Präfix zu
2018-01-03 15:27:07 +01:00
\begin{itemize}
\item $128 - \texttt{\colorbox{hlb}{56}} = 72$ Bit Suffix für Kunde
\item $\rightarrow$ $104 - 72 = 32$ Bit bleiben für Subnetzbildung
2018-01-03 11:17:47 +01:00
\end{itemize}
2018-01-03 15:27:07 +01:00
\end{itemize}
\texttt{\colorbox{hlb}{\colorbox{hlr}{2001:0d}b8:2407:d3}00:0000:0000:0000:0000/\colorbox{hlb}{56}}
\begin{itemize}
\item Kundenrouter weist jedem Subnetz ein \texttt{\colorbox{hlg}{/64}}-Präfix\footnote{Empfohlene Subnetzgröße laut RFC 6177, 2011/03 - IPv6 Address Assignment to End Sites} zu
\begin{itemize}
\item $72 - 64 = 8$ Bit bleiben für Subnetzbildung
\end{itemize}
\end{itemize}
\texttt{\colorbox{hlg}{\colorbox{hlb}{\colorbox{hlr}{2001:0d}b8:2407:d3}42:}0000:0000:0000:0000/\colorbox{hlg}{64}}
\end{frame}
2018-01-03 15:50:50 +01:00
\begin{frame}{Fassungsvermögen von IPv6-Netzen}
2018-01-03 15:32:15 +01:00
Adresse eines Gerätes in Kundennetz: \newline
2018-01-03 15:50:50 +01:00
\texttt{\colorbox{hlg}{\colorbox{hlb}{\colorbox{hlr}{2001:0d}b8:2407:d3}42:}7ae4:00ff:fecf:8a50/\colorbox{hlg}{64}} \newline
2018-01-03 15:32:15 +01:00
\newline
Anzahl \texttt{\colorbox{hlb}{/56}} Präfixe für Kunden: $2^{104-(128-56)} = 2^{32} = \colorbox{hlb}{4.294.967.296}$ \newline
Anzahl \texttt{\colorbox{hlg}{/64}} Subnetze für einen Kunden: $2^{8} = \colorbox{hlg}{256}$ \newline
Anzahl Adressen pro Subnetz: $2^{64} = 18.446.744.073.709.551.616$ \newline
2018-01-03 15:50:50 +01:00
\newline
$\Rightarrow$ Adressmangel in IPv6-Netzen vorerst nicht in Sicht
2018-01-02 11:57:52 +01:00
\end{frame}
2018-01-03 15:50:50 +01:00
2018-01-02 22:53:36 +01:00
\subsection{Adressklassen}
2018-01-02 11:57:52 +01:00
2018-01-03 13:06:36 +01:00
\begin{frame}{Adressklassen: Unspezifizierte Adresse\footnote{Kapitel 2.5.2. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}}
2018-01-02 22:53:36 +01:00
Aus IPv4 bekannt als \texttt{0.0.0.0/0} \newline
\newline
In IPv6: \texttt{0000:0000:0000:0000:0000:0000:0000:0000} (kurz: \texttt{::}) \newline
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item Zeigt das Fehlen einer Adresse an
\item \dots oder signalisiert Erreichbarkeit eines Sockets auf allen Adressen eines Geräts
\item Darf nie einem Gerät zugewiesen werden
\item Als Quelladresse für Pakete erlaubt
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item \dots sofern Rechner noch keine IPv6-Adresse besitzt
2018-01-03 19:30:04 +01:00
\item \dots diese Packete dürfen nicht geroutet werden
2018-01-02 11:57:52 +01:00
\end{itemize}
\end{itemize}
\end{frame}
2018-01-03 13:06:36 +01:00
\begin{frame}{Adressklassen: Loopback Adresse\footnote{Kapitel 2.5.3. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}}
2018-01-02 22:53:36 +01:00
Aus IPv4 bekannt als \texttt{127.0.0.1/8} \newline
\newline
2018-01-03 12:56:05 +01:00
\texttt{0000:0000:0000:0000:0000:0000:0000:0001/128} (kurz: \texttt{::1/128})
2018-01-02 22:53:36 +01:00
\newline
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-03 15:54:31 +01:00
\item Funktionsweise bereits aus IPv4 bekannt
\item Nur eine Adresse anstelle eines Netzbereichs
2018-01-02 11:57:52 +01:00
\end{itemize}
\end{frame}
2018-01-03 13:06:36 +01:00
\begin{frame}{Adressklassen: Link-lokale Unicast Adresse\footnote{Kapitel 2.5.6. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}}
2018-01-03 10:19:25 +01:00
Ähnlich zu \texttt{169.254.0.0/16} \newline
\newline
2018-01-03 20:41:53 +01:00
Präfix: \texttt{fe80::/10} \newline
2018-01-03 10:19:25 +01:00
Beispiel: \texttt{fe80::7ae4:ff:fecf:8a50/64}
\newline
\begin{itemize}
2018-01-03 12:32:57 +01:00
\item Gilt nur innerhalb der Broadcast-Domäne \textbf{eines Interface}
\begin{itemize}
\item \texttt{ping -6 fe80::7ae4:ff:fecf:8a50\textbf{\%eth0}}
\end{itemize}
2018-01-03 10:19:25 +01:00
\item Darf nicht geroutet werden
\item Für Tätigkeiten auf dem lokalen Link
\begin{itemize}
2018-01-03 12:32:57 +01:00
\item Neighbor Dicovery Protocol
2018-01-03 10:19:25 +01:00
\item Automatic Address Configuration
2018-01-03 12:32:57 +01:00
\item Router Advertisment
2018-01-03 10:19:25 +01:00
\end{itemize}
\end{itemize}
\end{frame}
2018-01-03 15:50:50 +01:00
\begin{frame}[fragile]{Adressklassen: Unique Local Adress (ULA)\footnote{Definiert in RFC 4193, 2005/11 - Unique Local IPv6 Unicast Addresses}}
2018-01-03 12:32:57 +01:00
Ähnlich zu privaten IPv4-Adressen wie z.B. \texttt{192.168.0.0/24} \newline
2018-01-03 10:19:25 +01:00
\newline
2018-01-03 12:56:05 +01:00
Präfix: \texttt{fc00::/7} \newline
Beispiel ULA-Präfix: \texttt{fd04:4232:a9fc::/48} \newline
2018-01-03 10:19:25 +01:00
\newline
2018-01-03 13:06:36 +01:00
Aufbau der ULA\footnote{Kapitel 3.1. in RFC 4193, 2005/11 - Unique Local IPv6 Unicast Addresses}:
2018-01-03 12:56:05 +01:00
\begin{itemize}
\item Präfix (7 Bit)
2018-01-03 15:50:50 +01:00
\item Local-Flag (1 Bit) - Wert: 1 (0 nicht in Standard definiert, reserviert)
2018-01-03 12:56:05 +01:00
\item Global ID (40 Bit) - Zufällig gewählter Wert
\item Subnet ID (16 Bit) - Raum für Subnetze
\item Interface ID (64 Bit)
\end{itemize}
2018-01-03 12:32:57 +01:00
2018-01-03 10:19:25 +01:00
\begin{itemize}
2018-01-03 12:56:05 +01:00
\item Für Nutzung in privaten Netzen, nicht global geroutet
2018-01-03 10:19:25 +01:00
\end{itemize}
\end{frame}
2018-01-03 15:50:50 +01:00
\begin{frame}{Adressklassen: Globale Unicast Adresse (GUA)\footnote{Kapitel 2.5.4. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}}
2018-01-02 22:53:36 +01:00
Analog zu global gerouteter IPv4-Adresse \newline
\newline
2018-01-03 15:50:50 +01:00
\texttt{2001:db8:2407:8d3:7ae4:ff:fecf:8a50/128}
2018-01-02 22:53:36 +01:00
\newline
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item Wie bereits aus IPv4 bekannt
2018-01-03 15:50:50 +01:00
\item Global geroutete IPv6-Adresse
2018-01-03 20:18:33 +01:00
\item Werden von IANA\footnote{Internet Assigned Numbers Authority} vergeben
2018-01-03 15:50:50 +01:00
\item $\rightarrow$ \url{https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xhtml}
2018-01-02 11:57:52 +01:00
\end{itemize}
\end{frame}
2018-01-03 19:46:59 +01:00
\begin{frame}{Adressklassen: Multicast\footnote{Adressenformat nachzuschlagen in RFC 7371, 2014/09 - Updates to the IPv6 Multicast Addressing Architecture} (Layer 3)}
2018-01-03 19:30:04 +01:00
Präfix: \texttt{ff00::/8} \newline
Statische, link-lokale Multicast-Adressen:
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-03 19:30:04 +01:00
\item Alle Knoten: \texttt{ff02::1}
\item Alle Router: \texttt{ff02::2}
\item Alle DHCP Server und Relays: \texttt{ff02::1:2} \newline
2018-01-02 11:57:52 +01:00
\end{itemize}
2018-01-03 19:30:04 +01:00
Alle registrierten Multicast-Adressen finden sich unter \url{https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml}.
\end{frame}
2018-01-03 19:46:59 +01:00
\begin{frame}{Adressklassen: Multicast (Layer 2)}
Layer 2 kennt keine IPv6-Adressen, sondern MAC-Adressen. \newline
Umsetzung von Multicast-IPv6-Adresse auf Layer 2: \newline
Bytes \texttt{33-33} verkettet mit den letzten 4 Bytes der IPv6-Zieladresse\footnote{Kapitel 7 in RFC 2464, 1998/12 - Transmission of IPv6 Packets over Ethernet Networks}\newline
\newline
Beispiel: \texttt{ff02::1} $\rightarrow$ \texttt{33-33-00-00-00-01} \newline
2018-01-02 11:57:52 +01:00
\end{frame}
2018-01-03 19:46:59 +01:00
2018-01-03 20:41:53 +01:00
\section{Verbindung mit lokalem Netzwerk}
2018-01-03 19:46:59 +01:00
\subsection{Link-lokale Adresse ermitteln}
2018-01-03 20:41:53 +01:00
\begin{frame}{Link-lokale Adresse ableiten}
Netzwerkkabel eingestöpselt. Was nun? \newline
Erst einmal die Link-lokale Adresse ableiten\footnote{Kapitel 5.3. in RFC 2462, 1998/12 - IPv6 Stateless Address Autoconfiguration}.\newline
Hier: Interface-ID aus MAC-Adresse ableiten\footnote{Alternative Verfahren sind möglich}
\begin{itemize}
2018-01-03 20:58:58 +01:00
\item MAC-Adresse ermitteln $\rightarrow$ \texttt{7\colorbox{hlb}{8}-E4-00-CF-8A-50}
\item Bit mit Wertigkeit 2 in erstem Byte invertieren\footnote{Kapitel 2.5.1. in RFC 4291, 2006/02 - IP Version 6 Addressing Architecture}
\item Bytefolge \texttt{FF-FE} mittig einfügen $\rightarrow$ \texttt{7\colorbox{hlb}{6}-E4-00-FF-FE-CF-8A-50}
2018-01-03 20:41:53 +01:00
\item Ergebnis als Interface-ID für Präfix \texttt{fe80::/10} verwenden
\end{itemize}
$\rightarrow$ \texttt{fe80::78e4:00ff:f3cf:8a:50}
\end{frame}
2018-01-03 20:58:58 +01:00
\begin{frame}{Abgeleitete Adresse auf Verwendung überprüfen}
Noch ist nicht gesichert, dass die Adresse \texttt{fe80::78e4:00ff:f3cf:8a:50} frei ist. \newline
2018-01-03 21:27:48 +01:00
$\rightarrow$ Duplicate Address Detection (DAD)
2018-01-03 20:58:58 +01:00
\begin{itemize}
2018-01-03 21:51:18 +01:00
\item Neighbor Solicitation\footnote{Kapitel 4.3. in RFC 4861, 2007/09 - Neighbor Discovery for IP version 6 (IPv6)} abschicken
2018-01-03 20:58:58 +01:00
\begin{itemize}
\item Quelladresse \texttt{::}
\item Zieladresse \texttt{fe80::78e4:00ff:f3cf:8a:50}
\end{itemize}
\item Einige Zeit warten
2018-01-03 21:51:18 +01:00
\item Falls Neighbor Advertisment ankommt: Adresse bereits in Verwendung
\begin{itemize}
\item $\rightarrow$ Von vorne beginnen oder aufgeben
\end{itemize}
2018-01-03 21:27:48 +01:00
\item Falls keine Antwort: Adresse kann verwendet werden \newline
2018-01-03 20:58:58 +01:00
\end{itemize}
2018-01-03 21:51:18 +01:00
\colorbox{hlr}{Angriff möglich}
2018-01-03 20:41:53 +01:00
\end{frame}
2018-01-03 19:46:59 +01:00
2018-01-03 20:41:53 +01:00
\subsection{Neighbor Discovery Protocol}
2018-01-03 21:27:48 +01:00
\begin{frame}{Neighbor Discovery Protocol\footnote{Definiert in RFC 4861, 2007/09 - Neighbor Discovery for IP version 6 (IPv6)}}
IPv4: ARP $\rightarrow$ IPv6: NDP \newline
Aufgabe: Verknüpfung von Layer 2 und Layer 3
2018-01-03 20:58:58 +01:00
\begin{itemize}
2018-01-03 21:51:18 +01:00
\item Neighbor Solicitation (ICMPv6 Typ 135)
2018-01-03 21:27:48 +01:00
\begin{itemize}
\item Quelladresse: IPv6-Adresse des Absenders
\item Zieladresse: Multicast-Adresse der IPv6-Zieladresse
\end{itemize}
2018-01-03 21:51:18 +01:00
\item Neighbor Advertisment (ICMPv6 Typ 136)
2018-01-03 21:27:48 +01:00
\begin{itemize}
2018-01-03 21:51:18 +01:00
\item Wird als Unicast an anfragenden Host zurückgeschickt
\item Unangefragte Neighbor Advertisments können an Multicast-Adresse geschickt werden
\item Override-Flag zeigt an, existierende Neighbor-Cache-Einträge zu überschreiben \newline
2018-01-03 20:58:58 +01:00
\end{itemize}
2018-01-03 21:27:48 +01:00
\end{itemize}
2018-01-03 21:51:18 +01:00
\colorbox{hlr}{Angriff möglich}
2018-01-03 20:58:58 +01:00
\end{frame}
2018-01-03 22:37:45 +01:00
\begin{frame}{Erreichbarkeit über Link-lokale Adresse}
2018-01-03 21:51:18 +01:00
\begin{itemize}
2018-01-03 22:37:45 +01:00
\item Über die Link-lokale Adresse ist das Gerät im lokalen Netzwerk für alle Teilnehmer erreichbar
\item Auf dem Gerät laufende Dienste sind für alle im lokalen Netzwerk erreichbar
2018-01-03 21:51:18 +01:00
\end{itemize}
2018-01-03 22:37:45 +01:00
\colorbox{hlr}{Angriffe möglich}
2018-01-03 21:51:18 +01:00
\begin{itemize}
2018-01-03 22:37:45 +01:00
\item Vertrauensfrage: Stellen andere Netzwerkteilnehmer eine Bedrohung dar?
2018-01-03 21:51:18 +01:00
\end{itemize}
2018-01-03 22:37:45 +01:00
$\rightarrow$ Lokale Firewall auch für IPv6 aktivieren!
2018-01-03 21:51:18 +01:00
\end{frame}
2018-01-03 22:13:12 +01:00
\subsection{Zwischenfazit}
2018-01-03 21:51:18 +01:00
2018-01-03 22:37:45 +01:00
\begin{frame}{Zwischenfazit (1/2)}
2018-01-03 20:58:58 +01:00
\begin{itemize}
2018-01-03 22:13:12 +01:00
\item DoS-Angriffe gegen hinzukommende Netzwerkteilnehmer
\item Identitätsdiebstahl im lokalen Netz weiterhin möglich
\item MITM-Angriffe leicht, wenn man sich als Router für XYZ ausgibt
\begin{itemize}
\item \dots z.B. als Router für einen Bezahldienstleister o.Ä. \newline
\end{itemize}
2018-01-03 22:37:45 +01:00
\item Nebenbei: ICMPv6 hat auch ein Redirect-Paket (analog zu ICMP)
\item Einen falschen DHCPv6-Server zu betreiben ist nicht schwerer geworden
2018-01-03 22:13:12 +01:00
\end{itemize}
2018-01-03 22:37:45 +01:00
\end{frame}
\begin{frame}{Zwischenfazit (2/2)}
2018-01-03 22:13:12 +01:00
Aber: Es gibt Hoffnung!
\begin{itemize}
\item First-Hop Security (FHS): ACLs auf Switchen ausrollen
\begin{itemize}
\item Der Switch erlaubt nur Router Advertisments vom Port eines Routers
\end{itemize}
\item SEcure Neighbor Discovery\footnote{RFC 3971, 2005/03 - Secure NEighbor Discovery (SEND)} (SEND)
\begin{itemize}
2018-01-03 22:37:45 +01:00
\item Nutzung einer PKI: Digital signierte NDP-Nachrichten \newline
2018-01-03 22:13:12 +01:00
\end{itemize}
2018-01-03 22:37:45 +01:00
\item \dots oder gründliches Monitoring\footnote{Zum Beispiel mit ramond: \url{http://ramond.sourceforge.net/}}
2018-01-03 20:58:58 +01:00
\end{itemize}
\end{frame}
2018-01-03 22:37:45 +01:00
\section{Verbindung mit dem Internet}
\subsection{Stateless Address Autoconfiguration}
\begin{frame}{Router Solicitation und Router Advertisment\footnote{Kapitel 4.1. und 4.2. in RFC 4861, 2007/09 - Neighbor Discovery for IP version 6 (IPv6)}}
Wir haben eine Link-lokale Adresse. Wie sieht's aus mit Internetzugriff?
2018-01-03 20:58:58 +01:00
\begin{itemize}
2018-01-03 22:37:45 +01:00
\item Globale Unicast Adresse beschaffen $\rightarrow$ Router benötigt
\item Router Solicitation versenden (ICMPv6 Typ 133)
\begin{itemize}
\item Quelladresse: IPv6-Adresse des Absenders
\item Zieladresse: \texttt{ff02::2}
2018-01-03 20:58:58 +01:00
\end{itemize}
2018-01-03 22:37:45 +01:00
\item Auf Router Advertisment warten (ICMPv6 Typ 134)
\begin{itemize}
\item Wird auch periodisch an \texttt{ff02::1} verschickt
\item Informationen über verfügbare Präfixe + Priorität
\item Managed-Flag: Falls gesetzt $\rightarrow$ DHCPv6 verpflichtend
\item Other Configuration-Flag: Falls gesetzt: Zusatzinfos via DHCPv6
\item Router Lifetime \newline
\end{itemize}
\end{itemize}
\colorbox{hlr}{Angriff möglich}
2018-01-03 20:58:58 +01:00
\end{frame}
2018-01-03 22:37:45 +01:00
\begin{frame}{Globale Unicast Adressen einrichten}
2018-01-03 19:46:59 +01:00
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item TODO
2018-01-02 11:57:52 +01:00
\end{itemize}
2018-01-02 22:53:36 +01:00
\end{frame}
\begin{frame}{}
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item
2018-01-02 11:57:52 +01:00
\end{itemize}
2018-01-02 22:53:36 +01:00
\end{frame}
\begin{frame}{}
2018-01-02 11:57:52 +01:00
\begin{itemize}
2018-01-02 22:53:36 +01:00
\item
2018-01-02 11:57:52 +01:00
\end{itemize}
\end{frame}
2018-01-03 19:30:04 +01:00
\begin{frame}{Viel Spaß mit IPv6! (1/2)}
\dots mit einer netten Buchempfehlung \dots
2018-01-02 22:53:36 +01:00
\begin{itemize}
2018-01-03 16:07:00 +01:00
\item Scott Hogg, Eric Vyncke: IPv6 Security, 2008, Cisco Press \newline
ISBN-13: 978-1-58705-594-2
\begin{itemize}
\item \url{http://www.ciscopress.com/store/ipv6-security-9781587055942}
\end{itemize}
\end{itemize}
2018-01-03 19:30:04 +01:00
\dots einem Spielzeug für Neugierige \dots
\begin{itemize}
2018-01-03 22:37:45 +01:00
\item IPv6 Attack Toolkit \url{https://github.com/vanhauser-thc/thc-ipv6}
2018-01-03 19:30:04 +01:00
\end{itemize}
\end{frame}
\begin{frame}{Viel Spaß mit IPv6! (2/2)}
\dots und den IPv6-relevanten RFCs:
2018-01-03 16:07:00 +01:00
\begin{itemize}
\item RFC 2460, 1998/12 - IPv6 Specification
\item RFC 3849, 2004/07 - IPv6 Address Prefix Reserved for Documentation
\item RFC 2462, 1998/12 - IPv6 Stateless Address Autoconfiguration
\item RFC 4291, 2006/02 - IP Version 6 Addressing Architecture
\item RFC 6177, 2011/03 - IPv6 Address Assignment to End Sites
\item RFC 4193, 2005/11 - Unique Local IPv6 Unicast Addresses
\item \dots
2018-01-02 22:53:36 +01:00
\end{itemize}
2018-01-02 11:57:52 +01:00
\end{frame}
2018-01-03 16:07:00 +01:00
\begin{frame}[fragile]{}
\begin{lstlisting}
jpt@server:~$ ip -6 addr show eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:41d0:8:9147::1/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::222:4dff:fe82:dbff/64 scope link
valid_lft forever preferred_lft forever
\end{lstlisting}
\begin{lstlisting}
jpt@server:~$ ip -6 route show
2001:41d0:8:9147::1 dev eth0 proto kernel metric 256
2001:41d0:8:91ff:ff:ff:ff:ff dev eth0 metric 1024
fe80::/64 dev eth0 proto kernel metric 256
default via 2001:41d0:8:91ff:ff:ff:ff:ff dev eth0 metric 1024
\end{lstlisting}
\end{frame}
2018-01-02 11:57:52 +01:00
% The end.
\end{document}