Crashkurs Netzwerke

Werbung
Angewandte IT-Sicherheit
Vorlesung im Herbstsemester 2006/2007
Prof. F. Freiling
Dipl.-Inform. Martin Mink
Lehrstuhl Praktische Informatik 1
Crashkurs TCP/IP-Netzwerke
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
1
Übersicht
●
Schicht 2
–
●
MAC-Adresse, Hub/Switch
Schicht 3
–
Internet Protocol (IP), ARP, ICMP
●
●
●
Adressierung
Schicht 4
–
Transmission Control Protocol (TCP)
–
User Datagram Protocol (UDP)
nicht:
–
Aufgaben der Schichten (z.B. Routing)
–
Aufbau/Geschichte des Internet
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
2
Schichtenmodelle: Prinzipien
●
●
●
●
Jede Schicht erfüllt bestimmte Funktionen und stellt der
darüberliegenden Schicht ihre Dienste zur Verfügung
Hierarchie mit zunehmend abstrakterer Betrachtung
von Kommunikationsvorgängen:
–
physikalische Übertragung
–
Interpretation der übertragenen Daten
–
Kommunikation zwischen Anwendungsprogrammen
Nichtbeachtung der (internen) Realisierung (d.h. keine
Implementierungsvorschriften)
Definition von Protokollen zu jeder Schicht in eigenen
Normen
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
3
TCP/IP und das ISO OSIReferenzmodell
Anwendungsebene
(Application Layer)
Anwendungsebene
Darstellungsebene
(Presentation Layer)
Sitzungsebene
(Session Layer)
Transportebene
(Transport Layer)
Transportebene (TCP/UDP)
Netzwerkebene
(Network Layer)
Internetebene (IP)
Sicherungsebene
(Data Link Layer)
Bitebene
(Physical Layer)
ISO/OSI
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
Host-to-Network-Ebene
TCP/IP
4
Die TCP/IP Protocol Suite
HTTP
Protokolle
Telnet
SMTP
DNS
Ethernet
ICMP
Token Ring
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
DHCP
TFTP
IP
ARP
ATM
Application
Layer
Transport
Layer
UDP
TCP
IGMP
Netze
FTP
RARP
Wireless LAN
Internet
Layer
Host-to-network
Layer
5
Layer 2: MAC-Adressen
●
Netzwerkkarten sind im LAN mittels der Media Access
Control (MAC) Adresse identifizierbar
–
48 Bit, als Hexadezimalzahl geschrieben
●
–
(eigentlich) weltweit eindeutige Adresse
●
●
Beisp.: 08:00:46:43:D1:EB
aber: lässt sich fälschen
MAC Adressen sind nur im lokalen Netzwerk sichtbar
(nicht hinter dem nächsten Router)
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
6
Layer 2: Hardware
●
Hardware zum Verbinden von Rechnern
●
Hub
–
●
schickt Pakete an alle angeschlossenen Rechner
(Broadcast)
Switch
–
schickt Pakete nur an den jeweiligen Empfänger
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
7
IP – Internet Protocol
IP: verbindungslose, unzuverlässige Übertragung von Paketen (“Best effort”)
• Transparente Ende-zu-Ende-Kommunikation zwischen Rechnern
• Routing, Interoperabilität zwischen verschiedenen Netztypen
• IP-Adressierung (IPv4):
 stellt eine logische 32-Bit-Adresse zur Verfügung
 eindeutige IP-Adresse für jeden Host und für jeden Router
• Fragmentierung und Wiederherstellung der Pakete
• Maximale Paketgröße: 64 KByte (in der Praxis: 1500 Byte)
Derzeit flächendeckend eingesetzt: Version 4 des IP-Protokolls: IPv4
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
8
IP-Paket
32 Bits (4 Bytes)
Version
IHL
Type of
Service
Identification
Time to Live
Protocol
Total Length
DM
FF
Fragment Offset
Header Checksum
IP Header,
normalerweise 20 Bytes
Source Address
Destination Address
Options (variable, 0-40 Byte)
DATA (variable)
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
Padding
Header
Data
9
Der IP-Header (Auswahl)
• Source Address / Destination Address: Netz- und Hostnummern von Sender und
Empfänger. Diese Information benutzen die Router zur Wegebestimmung.
• Version: IP-Versionsnummer (mehrere IP-Versionen gleichzeitig einsetzbar)
• Total Length: Länge des gesamten Datagramms (in Byte,  216-1 = 65535 Bytes)
• Time-to-Live (TTL): Lebenszeit von Datagrammen begrenzen auf maximal 255 Hops
(verhindert endloses Kreisen von Paketen im Netz). Der Zähler wird bei jedem Hop
verringert, bei 0 wird das Datagramm verworfen.
• Header Checksum: Muss bei jedem Hop neu berechnet werden (da sich TTL ändert)
• Protocol: welches Transportprotokoll wird im Datenteil verwendet (UDP, TCP, ...)?
• DF: Don't Fragment: Paket soll nicht fragmentiert werden (kann dann evtl. nicht jeden
möglichen Weg im Netz nehmen).
• MF: More Fragments. "1" - es folgen weitere Fragmente. "0" - letztes Fragment eines
Datagramms)
• Fragment Offset: Folgenummern der Fragmente eines Datagramms
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
10
IP-Adressierung
• IP-Adressen sind 32 Bit lang und weltweit eindeutig
• Zur besseren Lesbarkeit Darstellung in der sog. Dotted Decimal Notation (jeweils 8 Bit
werden zu einer Dezimalzahl zusammengefasst, durch „.“ getrennt)
• Beisp.: 10000110 10011011 01011000 01100001 ð 134.155.88.97
• Struktur der Adresse: Netzwerk-Adresse für physikalisches Netz (z.B. 134.155.0.0) und
Rechner-Adresse für einen Host (z.B. 134.155.88.97)
• 5 Netzklassen:
32 Bits
126 Netze
224 Hosts adressierbar
(ab 1.0.0.0)
Class
A
0 Network
B
10
C
110
D
1110
Multicast-Adresse
E
1111
Für künftige Nutzung reserviert
16383 Netze
216 Hosts
(ab 128.0.0.0)
Host
Network
Host
Network
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
Host
2097151 Netze (LANs)
256 Hosts
(ab 192.0.0.0)
11
Spezielle Adressen
●
●
●
127.0.0.1 bzw. „localhost“: bezeichnet den lokalen
Rechner („loopback“)
169.254.0.0 – 169.254.255.255: falls kein DHCPServer vorhanden („link local“)
private Adressbereiche („private address space“)
–
frei verwendbar für interne Netze
–
dürfen nicht im Internet geroutet werden
–
10.0.0.0 - 10.255.255.255: 1 Class A-Netz
–
172.16.0.0 - 172.31.255.255: 16 Class B-Netze
–
192.168.0.0 - 192.168.255.255: 256 Class C-Netze
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
12
Classless Inter-Domain Routing
●
Problem: starre Klasseneinteilung
●
Abhilfe: Classless Inter-Domain Routing (CIDR)
–
Trennung von starrer Klasseneinteilung durch Ersetzen
der festen Klassen durch Netzwerk-Präfixe variabler
Länge
–
einige Bits der Rechner-Adresse werden als NetzwerkID genutzt
–
eine Subnetz-Maske identifiziert die „missbrauchten“ Bits
Class BAdresse
SubnetzMaske
Network
Host
1111111111111111 1111110000000000
10
Network
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
Subnet
Host
13
Netzmaske
●
ist ebenfalls 32 Bit breit
●
gibt die Trennung zwischen Netzwerk und Host an
●
enthält an den Stellen eine 1, die Netzwerk und
Subnetz bezeichnen
●
Ermitteln des Netzteils durch AND mit IP-Adresse
●
Beisp.:
IP-Adresse: 134.155.88.97
Netzmaske: 255.255.192.0
AND:
Netz:
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
10000110 10011011 01011000 01100001
11111111 11111111 11000000 00000000
10000110 10011011 01000000 00000000
134.
155.
64.
0
14
Netzmaske (2)
●
platzsparende Notation: Netz/Maske
–
z.B.: 134.155.88.97/18
–
Die „/18“ bedeutet: 18 Bits der Netzmaske gesetzt, also
255.255.192.0 (255 entspricht 8 gesetzten Bits)
●
Class C-Netz?
●
Class B-Netz?
●
Subnetting meist aus organisatorischen (Broadcasts),
aber auch Sicherheitsgründen (Router mit Paketfiltern)
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
15
IP Version 6
• Dramatisch anwachsender Bedarf für
neue IP-Adressen
• keine Unterstützung von Mobilität,
Sicherheitsmechanismen,
Echtzeitanwendungen
• Verbesserungend durch IPv6
– 128-Bit-Adressen (8 Gruppen zu je
4 Hexadezimal-Zahlen)
Header:
1
4
Version
(4)
8
Priority
(4)
PayloadLen (16)
16
24
32
FlowLabel (24)
NextHeader (8)
HopLimit (8)
SourceAddress (128)
– Anycast Address: Erreiche
irgendeinen von mehreren
– Authentifizierung und Privacy
DestinationAddress (128)
– Einfacher Header: keine Optionen,
Protocol, Fragmentierung,
Checksum
NextHeader/Data
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
16
ARP:
Address Resolution Protocol
●
●
Schnittstelle zum Layer 2
Problem: im lokalen Netzwerk nur Adressierung über
MAC-Adresse (nicht IP-Adresse) möglich
●
Gesucht: Zuordnung einer MAC- zu einer IP-Adresse
●
Lösung: ARP
●
2 Nachrichten:
●
–
ARP-Request (sendender Rechner): Who has <IP>?
–
ARP-Reply (gesuchter Rechner): <IP> is at <MAC>
Zuordnung MAC-/IP-Adresse wird im ARP-Cache
zwischengespeichert
–
warum?
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
17
ICMP - Internet Control
Message Protocol
Steuerprotokoll der Ebene 3 für Fehler- und Kontrollnachrichten.
Type/Code gibt die Art der Nachricht an, z.B.:
0
3
4
11
12
30
Destination unreachable
Echo Request/Reply
Source Quench
Time exceeded for Datagram
Parameter Problem on Datagram
Traceroute
(Paket kann nicht zugestellt werden)
(Zustandsabfrage, z.B. beim ping)
(Choke-Paket, Bitte um Reduktion der Datenrate)
(TTL hat 0 erreicht, das Paket wird verworfen)
(Ein Header-Feld ist falsch ausgefüllt)
(Der Netzwerkpfad wird nachverfolgt)
Host
ICMP Reply
Router
ICMP Request
Host
ICMP Message
ICMP Request: Zustandsabfrage
ICMP Reply:
Antwort darauf
ICMP Message: Übermittlung von
Zustandsinformationen und
Kontrollnachrichten
Router
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
18
TCP und UDP - Die
Transportschicht
verbindungsorientiert
HTTP
FTP
Telnet
verbindungslos
SMTP
DNS
Ethernet
ICMP
TFTP
Transport
Layer
UDP
TCP
IGMP
DHCP
IP
Token Ring
ARP
ATM
Application
Layer
RARP
Wireless LAN
Internet
Layer
Host-to-network
Layer
TCP (Transmission Control Protocol): Zuverlässig, verbindungsorientiert
UDP (User Datagram Protocol): „best effort“, verbindungslos
Stellen eine Kommunikation zwischen Anwendungsprozessen bereit
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
19
Eigenschaften von TCP
• Verbindungsorientiert und zuverlässig (fehlerfrei, reihenfolgetreu, ohne Duplikate)
• Fehlerbehandlung, Quittierung, Flusskontrolle (Sliding-Window-Verfahren)
• Adressierung der Applikation über Portnummern (16-Bit-Adresse)
Secure Sockets Layer
Secure Shell
World Wide Web
File Transfer
Electronic Mail
FTP
20 / 21
SSH
SMTP
HTTP
SSL
22
25
80
995
well-known (TCP) Ports
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
1024
RFC 1700
20
Der TCP-Header
Bit Position
0
8
16
Source Port
• 20 Byte Header
24
31
Destination Port
Sequence Number
• zzgl. Optionen
• dann folgen bis zu
65.495 Datenbytes
Acknowledgement Number
HL
Res.
6 Flags
Window Size
Checksum
Urgent Pointer
Padding
Options
Data
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
21
Der TCP-Header (Auswahl)
• Source- und Destination-Port: Port-Nummer von Sender bzw. Empfänger
• Sequence Number/Acknowledgement Number: Segmente haben eine eigene 32 Bit
Sequenz- und Bestätigungsnummer für den Fenstermechanismus zur Flusskontrolle
(Sliding Window).
• Die Bestätigungsnummer gibt das nächste erwartete Byte an!
• HL: Wie bei IP verfügt auch der TCP-Header über eine Angabe seiner Länge. Die Angabe
erfolgt in 32-Bit-Worten.
• Window Size: Größe des Pufferspeichers für die Verbindung. Zeigt an, wie viele
Dateneinheiten der Empfänger gleichzeitig speichern kann. Hierdurch wird das Fenster der
Flusskontrolle angepasst.
• Flags (u.a.):
• ACK: Bestätigungsfeld, für den Fall, dass eine Quittung mitgesendet wird.
• SYN: auf 1 gesetzt beim Aufbau einer Verbindung
• FIN: auf 1 gesetzt beim Abbau einer Verbindung
• RST: sofortiger Abbruch einer Verbindung
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
22
TCP: 3-WegeVerbindungsaufbau
Client
Server
SYN, SEQ=
x
K=x+1
AC
SYN, SEQ=y,
ACK=y+1, SE
Q=x+1
• Der Client startet unter Angabe von IP-Adresse,
Portnummer und maximal akzeptabler SegmentGröße eine CONNECT-Operation.
• CONNECT sendet ein SYN.
• Ist der Destination Port der CONNECT-Anfrage
identisch zu der Port-Nummer, auf der der Server
wartet, wird die Verbindung akzeptiert, andernfalls
mit RST abgelehnt.
• Der Server schickt seinerseits das SYN zum Client
und bestätigt zugleich den Erhalt des ersten SYNSegments.
• Der Client schickt eine Bestätigung des SYNSegments des Servers. Damit ist die Verbindung
aufgebaut.
Three-Way-Handshake
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
23
Sliding Window
(Flusskontrolle)
• Sender sendet
entsprechend der
Fenstergröße (Bytes)
• Fenster wird um
n Bytes versetzt, sobald
ein ACK für n Bytes
eingetroffen ist
• Ausnahme: Dringende
Daten (URGENT-Flag)
werden sofort gesendet
• Besonderheit: die
Fenstergröße kann
während der
Übertragungsphase
geändert werden
Initial window
1
2
3
4
5
6
7
8
9
10
9
10
Segment 1, 2 und 3 acknowledged
Window slides
1
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
2
3
4
5
6
7
8
24
Das User Datagram Protocol
(UDP)
Prinzip: „Keep it simple!“
•
8 Byte Header
•
Wie IP: verbindungslos und unzuverlässig
•
geringe Zuverlässigkeit, aber schneller Austausch von Informationen
•
keine Bestätigung der Pakete auf der UDP-Schicht, fehlerhafte Pakete werden
schlicht und einfach verworfen. Weiterhin sind Duplikation,
Reihenfolgevertauschung, Paketverlust möglich.
•
die Checksumme bietet die einzige Möglichkeit, die Pakete auf
Übertragungsfehler zu testen
•
Möglich: ACKs und Neuübertragungen werden von der Anwendung selbst
übernommen.
•
Nutzung für Multicast (nicht möglich bei TCP)
Warum überhaupt UDP?
Erst die Hinzunahme eines Ports zu einer Netzwerkadresse kennzeichnet eine
Kommunikation eindeutig.
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
25
UDP-Header
Bit Positon
0
8
16
24
Source Port
Destination Port
Message Length
Checksum
31
Data
•
•
•
•
Adressierung der Applikationen über Portnummern
Message-Length gibt die Gesamtlänge (Header + Daten) in 32 Bit Worten an
Checksum (optional!) – IP hat keine Checksumme für den Datenteil, daher kann sie hier
eine sinnvolle Ergänzung sein. Ablauf der Berechnung wie bei TCP
Daten werden bei Bedarf auf eine gerade Bytezahl aufgefüllt
(da Message Length in 32 Bit Worten angegeben wird)
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
26
Credits
●
Folien basierend auf der Vorlesung
„Datenkommunikation“ im WS 03/04 der RWTH
Aachen
Übung Angewandte IT-Sicherheit – TCP/IP-Netzwerke
27
Herunterladen