IPv4
IPv4
IP (Internet Protocol) sorgt dafür, dass Datenpakete von A nach B kommen.
Aufbau:
- Eine IPv4 Adresse besteht aus 4 Oktetten (32 Bit / 4 Byte).
- Sie wird in 4 Zahlen von 0 bis 255, getrennt von Punkten geschrieben.
Beispiel:192.168.1.34
- Jede der 4 Zahlen ist 8 Bit lang.
- Binärdarstellung von
192.168.1.34
:11000000.10101000.00000001.00100010
Subnetzmaske:
- Die IP-Adresse besteht aus einem Netzanteil und einem Host Anteil.
- Die werden durch die Subnetzmaske festgelegt.
- Im Heimnetzwerk meistens
255.255.255.0
oder als CIDR/24
. /24
bedeutet: die ersten 24 Bit sind für die Subnetzmaske vergeben.
Binär:11111111.11111111.11111111.00000000
- Die ersten drei Oktetten sind fix und dürfen nicht frei geändert werden, ansonsten wäre man nicht mehr im gleichen Netz.
Hostanteil:
- Das letzte Oktett darf (mit Ausnahmen) frei gesetzt werden.
- Ausnahmen:
- 0 → Netzadresse
- 255 → Broadcast Adresse (z. B. ARP, DHCP)
- Alle Werte von 1 – 254 dürfen frei gewählt werden.
Kapazität:
- In einem Heimnetzwerk oder
/24
-Netzpräfix: 254 Geräte. - Bei mehr als 254 Geräten muss man das Netzwerk Subnetten.
IPv4 Header (RFC 791)
IPv4 Header – Aufbau nach RFC 791
Der IPv4-Header besteht aus mehreren Feldern, die den Versand und die Verarbeitung von IP-Paketen steuern:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options (if any) | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Feldübersicht:
- Version (4 Bit)
Gibt an, welche IP-Version verwendet wird – bei IPv4 ist der Wert4
. - IHL – Internet Header Length (4 Bit)
Länge des IP-Headers in 32-Bit-Wörtern (Standard: 5 = 20 Byte). - Type of Service (ToS) / DSCP (8 Bit)
Gibt die Dienstqualität an – z. B. bevorzugte Behandlung bei VoIP oder Video. - Total Length (16 Bit)
Gesamtlänge des IP-Pakets (Header + Payload) in Byte. - Identification (16 Bit)
Eindeutige ID, um Fragmente eines Pakets später wieder zusammenzusetzen. - Flags (3 Bit)
Steuert Fragmentierung:- Bit 0: reserviert
- Bit 1: DF (Don't Fragment)
- Bit 2: MF (More Fragments folgen)
- Fragment Offset (13 Bit)
Gibt an, wo im Ursprungsdatenstrom ein Fragment hingehört (in 8-Byte-Schritten). - Time to Live (TTL) (8 Bit)
Wie viele Router ein Paket maximal durchlaufen darf. Bei jedem Hop wird 1 abgezogen. - Protocol (8 Bit)
Gibt an, welches Protokoll im Payload liegt:6
→ TCP17
→ UDP1
→ ICMP
- Header Checksum (16 Bit)
Prüft nur den IP-Header auf Übertragungsfehler. - Source Address (32 Bit)
IPv4-Adresse des Absenders. - Destination Address (32 Bit)
IPv4-Adresse des Empfängers. - Options (optional)
Nur wenn IHL > 5. Wird z. B. für Security oder Routing verwendet. - Padding
Falls Optionen nicht auf 32 Bit ausgerichtet sind, wird Padding verwendet.
Standardgrösse:
Ein typischer IPv4-Header ist 20 Byte lang (ohne Optionen).
Subnetting
Subnetting
Subnetting bedeutet, dass man ein grosses Netzwerk in kleinere Netze unterteilt.
Vorteile:
- Mehr Sicherheit
- Bessere Organisation des Netzwerks
- Weniger Broadcasts im Netzwerk
Formel für Hosts:
Anzahl Hosts
= \( 2^n - 2 \)
wobei n die Anzahl der Hostbits ist, die nicht von der Subnetzmaske fix sind.
Das -2 kommt daher, dass Netzadresse und Broadcast-Adresse nicht genutzt werden dürfen.
Beispiel:
CIDR /24
- Hostbits: 8
- Rechnung:
2^8 - 2 = 254
- → 254 Hosts sind möglich
Private vs Öffentliche IP Adressen
Private vs Öffentliche IP Adressen
Private IP Adressen:
- Zählen alle IP-Adressen, die vom Router / Modem im lokalen Heimnetzwerk vergeben werden.
- Werden nicht direkt im Internet verwendet.
- Beispiel:
192.168.1.65
- Zum Herausfinden der privaten IP-Adresse:
- Windows:
ipconfig
- Linux:
ip a
oderifconfig
- Windows:
Private IPv4-Bereiche (gemäss RFC 1918):
10.0.0.0 – 10.255.255.255
(Klasse A, /8)172.16.0.0 – 172.31.255.255
(Klasse B, /12)192.168.0.0 – 192.168.255.255
(Klasse C, /16)
Öffentliche IP Adressen:
- Die IP-Adresse, die im Internet verwendet wird.
- Die private IP wird dabei via NAT (Network Address Translation) in eine öffentliche Adresse umgewandelt bzw. übersetzt.
Besondere IPv4-Adressen (Special-Use):
- Loopback:
127.0.0.0/8
→ z. B.127.0.0.1
für „localhost“ - APIPA (Automatic Private IP Addressing):
169.254.0.0/16
Wird automatisch vergeben, wenn kein DHCP-Server erreichbar ist. - Multicast:
224.0.0.0 – 239.255.255.255
→ für Gruppenkommunikation (z. B. IPTV, Routing-Protokolle) - Broadcast:
255.255.255.255
→ Nachricht an alle Hosts im aktuellen Subnetz - Testnet:
192.0.2.0/24
,198.51.100.0/24
,203.0.113.0/24
→ für Dokus & Testumgebungen
NAT (Network Address Translation)
NAT – Network Address Translation
NAT übersetzt private IP-Adressen in öffentliche IP-Adressen und umgekehrt.
Dadurch können mehrere Geräte in einem privaten Netzwerk mit nur einer oder wenigen öffentlichen IP-Adressen ins Internet gehen.
Vorteile von NAT:
- Schont den Adressraum (besonders bei IPv4, da die Adressen knapp sind).
- Bietet eine gewisse Sicherheitsfunktion, da interne Adressen von aussen nicht direkt sichtbar sind.
- Mehrere Geräte können eine einzige öffentliche IP-Adresse gemeinsam nutzen.
Arten von NAT:
- Static NAT
- Eine private IP-Adresse wird fix auf eine öffentliche IP-Adresse gemappt.
- Beispiel:
192.168.1.10
→203.0.113.5
- Wird oft für Server genutzt, die von aussen erreichbar sein müssen.
- Dynamic NAT
- Private IP-Adressen werden dynamisch aus einem Pool von öffentlichen IP-Adressen zugewiesen.
- Beispiel: 10 Clients greifen ins Internet zu, und der Router vergibt dynamisch eine passende öffentliche Adresse aus einem Pool.
- Nicht alle Clients können gleichzeitig raus, wenn der Pool kleiner ist als die Anzahl der Geräte.
- PAT (Port Address Translation) – auch NAT Overload
- Mehrere private IP-Adressen teilen sich eine öffentliche IP-Adresse.
- Unterscheidung erfolgt über die Portnummern.
- Beispiel:
192.168.1.10:12345
→203.0.113.5:40001
192.168.1.20:23456
→203.0.113.5:40002
- Dies ist die am häufigsten eingesetzte NAT-Variante im Heimnetz.
IPv6
IPv6
IPv6 ist der Nachfolger von IPv4. Dies wurde ins Leben gerufen, weil die IPv4 Adressen knapp geworden sind – es gibt zu viele Geräte und zu wenig IPv4 Adressen.
Aufbau:
- IPv4 besteht aus 32 Bit, IPv6 hingegen aus 128 Bit.
- Geschrieben wird IPv6 in Hexadezimal.
- Beispiel:
2001:0bd8:0000:0000:0000:0000:0000:0001
- Gekürzt (Nullen weggelassen):
2001:bd8::1
Vorteile:
- Es gibt über 340 Sextillionen Adressen (≈ 1500 IP-Adressen pro Quadratmeter).
- Kein NAT mehr nötig, da jeder Host eine eigene Adresse hat.
- Eingebaute Sicherheitsfunktion (IPSec).
- Kann sich selbst konfigurieren mit SLAAC (Stateless Address Autoconfiguration).
ARP (Address Resolution Protocol)
ARP – Address Resolution Protocol
ARP übersetzt eine IPv4 Adresse in die dazugehörige MAC (Media Access Control) Adresse.
Funktionsweise (Vergleich):
Man stellt sich vor, dass man einen Kollegen besuchen will, der frisch umgezogen ist.
Man kennt die Adresse (IPv4), aber nicht die Klingel (MAC),
weil das Namensschild fehlt.
Man läutet also bei allen ohne Namensschild:
„Wer wohnt in der Wohnung xy?“
Der Kollege antwortet: „Ich wohne da.“
Schicht im OSI-Modell:
- ARP gehört nicht direkt zu Layer 2 oder Layer 3.
- Es ist ein Zwischenprotokoll → arbeitet zwischen Schicht 2 und 3.
- Ohne ARP könnte IP im lokalen Netz nicht zugestellt werden.
Beispiel:
- Mein PC mit der IP-Adresse
192.168.2.48
will mit192.168.2.149
sprechen. - ARP-Request via Broadcast: „Wer hat 192.168.2.149? Sag mir deine MAC-Adresse.“
- ARP-Reply via Unicast:
Der PC mit der passenden MAC antwortet:
„Ich, hier ist meine MAC:
00:1A:2B:3C:4D:5E
“ - Die Zuordnung von IP ↔ MAC wird im ARP-Cache gespeichert, damit nicht ständig nachgefragt werden muss.
Unter Windows: ARP-Tabelle anzeigen mit arp -a
.
Typische Angriffe:
- ARP-Spoofing / ARP-Poisoning – Angreifer im LAN sendet gefälschte ARP-Replies → Datenverkehr läuft über ihn (Man-in-the-Middle Attack).
Schutzmassnahmen:
- IDS/IPS (Intrusion Detection/Prevention Systeme) – erkennt ARP-Spoofing-Versuche.
- VPN – Daten bleiben verschlüsselt, auch wenn ARP manipuliert wurde.
- Dynamic ARP Inspection – Switch prüft, ob ARP-Replies gültig sind.
TCP (Transmission Control Protocol)
TCP – Transmission Control Protocol
TCP (Transmission Control Protocol) kann man sich als Postboten vorstellen.
Es sorgt dafür, dass Daten zuverlässig, in richtiger Reihenfolge und vollständig beim Empfänger ankommen.
TCP ist im Layer 4 der ISO/OSI Schichten angesiedelt.
Eigenschaften von TCP:
- Verbindungsorientiert – Vor dem Austausch wird eine Verbindung aufgebaut (3-way-handshake).
- Zuverlässigkeit – Jedes Paket wird bestätigt, fehlt ein Paket, wird es neu gesendet.
- Reihenfolge garantiert – Daten werden nummeriert; kommt etwas durcheinander, setzt TCP es wieder richtig zusammen.
- Flusskontrolle – TCP achtet darauf, dass der Sender den Empfänger nicht überflutet.
- Fehlerprüfung – Jedes Paket enthält eine Prüfsumme.
3-Way-Handshake (Verbindungsaufbau):
- SYN – Der PC schickt dem Server eine Anfrage: „Hey, wollen wir sprechen?“
- SYN-ACK – Der Server antwortet: „Ja, ich bin bereit. Lass uns reden.“
- ACK – Der PC bestätigt: „Alles klar, lass uns reden.“
Ab jetzt läuft der Datenaustausch.
Der Abbau der Verbindung funktioniert ähnlich, nur werden anstelle von SYN-Requests FIN-Requests gesendet.
Gängige TCP-Ports:
80
– HTTP443
– HTTPS22
– SSH25
– SMTP
Typische TCP-Angriffe:
- SYN-Flood – Angreifer sendet viele SYN-Anfragen ohne das finale ACK → Server wartet auf Verbindungen, die nie zustande kommen → Überlastung (DoS/DDoS).
- Session Hijacking – Jemand kapert eine bestehende TCP-Verbindung.
- Port Scanning – Netzwerkaufklärung (z. B. mit NMAP, ZENMAP, Nessus).
Hinweis: Port-Scanning ist nicht grundsätzlich böse – Admins nutzen es oft zur Netzwerkanalyse.
Schutzmassnahmen:
- Firewalls – blockieren unnötige Ports.
- IDS/IPS-Systeme – erkennen Floods und Angriffe.
- Rate-Limiting und SYN-Cookies – schützen vor SYN-Floods.
UDP (User Datagram Protocol)
UDP – User Datagram Protocol
TCP war das Einschreiben, UDP ist die Postkarte.
Sie ist schnell abgeschickt, braucht weniger Aufwand und ist schneller,
aber es gibt keine Garantie, dass die Postkarte auch wirklich ankommt.
Wie TCP ist UDP im Layer 4 des ISO/OSI Modells angesiedelt.
Eigenschaften von UDP:
- Verbindungslos – kein Handshake, das Paket wird einfach losgeschickt.
- Unzuverlässig – keine Bestätigungen; geht ein Paket verloren, bleibt es verloren.
- Keine Reihenfolge garantiert – Pakete können durcheinander ankommen.
- Wenig Overhead – UDP-Header nur 8 Byte, TCP mindestens 20 Byte → schneller.
- Multicast- und Broadcast-freundlich – ideal für Übertragungen an viele Empfänger gleichzeitig.
Einsatzgebiete:
- Streaming (YouTube, Netflix, Twitch...)
- Voice-over-IP (VoIP, Telefonieren übers Internet)
- Online Gaming (geringe Latenz wichtiger als 100 % korrekte Pakete; Paketverlust → Lags)
- DNS-Anfragen
- DHCP
Gängige UDP-Ports:
53
– DNS (Domain Name System)67/68
– DHCP (Dynamic Host Configuration Protocol)161
– SNMP (Simple Network Management Protocol)123
– NTP (Network Time Protocol)
Typische UDP-Angriffe:
- UDP Flooding – Server mit massenhaft UDP-Paketen überlasten.
- DNS Amplification Attack – offene DNS-Server mit gefälschter Quell-IP anfragen → Server schickt riesige Antworten an das Opfer.
- Port Scanning via UDP – schwieriger zu erkennen als TCP-Scans, da oft keine direkte Antwort kommt.
Schutzmassnahmen:
- Firewalls mit UDP-Rate-Limiting.
- Nur notwendige UDP-Dienste freigeben.
- IDS/IPS zur Erkennung von Amplification-Angriffen.
TCP vs. UDP
TCP vs. UDP
Ein direkter Vergleich der beiden wichtigsten Transportprotokolle im ISO/OSI Layer 4:
Merkmal | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
---|---|---|
Verbindungsart | Verbindungsorientiert (3-Way-Handshake) | Verbindungslos (kein Handshake) |
Zuverlässigkeit | Sehr zuverlässig, jedes Paket wird bestätigt | Unzuverlässig, keine Bestätigung |
Reihenfolge | Garantiert, Pakete werden nummeriert und sortiert | Keine Garantie, Pakete können durcheinander ankommen |
Geschwindigkeit | Langsamer durch Overhead | Schneller, da weniger Overhead |
Header-Grösse | Mindestens 20 Byte | Nur 8 Byte |
Einsatzgebiete | Web (HTTP/HTTPS), E-Mail (SMTP), SSH, FTP | Streaming, VoIP, Online Gaming, DNS, DHCP |
Typische Angriffe | SYN-Flood, Session Hijacking, Port Scanning | UDP Flooding, DNS Amplification, UDP Port Scans |
ICMP (Internet Control Message Protocol)
ICMP – Internet Control Message Protocol
Wenn TCP und UDP die Paketzusteller sind, dann ist ICMP der Service-Hotline-Mitarbeiter, der mitteilt, wenn:
- ein Paket nicht zugestellt werden konnte,
- der Empfänger nicht erreichbar war,
- oder der Weg zu lang war.
Eigenschaften:
- Kein Protokoll für Nutzerdaten, sondern für Fehler- und Statusmeldungen.
- Arbeitet auf Schicht 3 wie IP.
- Nutzen kein Portsystem, da es direkt auf IP läuft.
Typische ICMP-Nachrichten:
- Echo Request / Echo Reply (Ping) – prüft, ob ein Host erreichbar ist.
- Time-to-Live (TTL) Auskünfte – wird von
traceroute
genutzt. - Redirect – informiert über bessere Routing-Wege.
Typische Angriffe:
- Ping-Flood – massenhaft Pings zur Überlastung des Ziels.
- Smurf-Attack – ICMP an Broadcast-Adresse mit gefälschter Quell-IP.
- ICMP-Tunneling – versteckte Datenübertragung im ICMP, um Firewalls zu umgehen.
Schutzmassnahmen:
- ICMP-Rate-Limiting – z. B. nur 10 Pings pro Sekunde erlauben.
- Firewalls so konfigurieren, dass nur erlaubte ICMP-Typen durchgehen.
Wichtige ICMP-Typen & Codes:
Typ | Code | Bedeutung |
---|---|---|
0 | 0 | Echo Reply (Antwort auf Ping) |
3 | 0–15 | Destination Unreachable (Ziel nicht erreichbar; Code gibt Grund an) |
5 | 0–3 | Redirect Message (besserer Weg verfügbar) |
8 | 0 | Echo Request (Ping-Anfrage) |
11 | 0–1 | Time Exceeded (TTL abgelaufen – genutzt bei Traceroute) |
12 | 0 | Parameter Problem (Header fehlerhaft) |
DNS (Domain Name System)
DNS – Domain Name System
DNS ist quasi das Telefonbuch des Internets. Es übersetzt Domainnamen in IP-Adressen.
Eigenschaften:
- Arbeitet auf Schicht 7 (Application Layer).
- Nutzt Port 53 (UDP & TCP).
- UDP wird meist verwendet (schneller).
- TCP wird verwendet bei grossen Antworten oder Zonen-Transfers.
Record-Typen:
- A-Record – Domain → IPv4-Adresse
- AAAA-Record – Domain → IPv6-Adresse
- MX-Record – Mailserver
- CNAME-Record – Alias (z. B.
blog.example.com
→www.example.com
) - PTR-Record – Reverse Lookup (IP → Domain)
- TTL – Wie lange der Eintrag im Cache gespeichert bleibt
Ablauf einer DNS-Anfrage:
- PC fragt den lokalen Resolver (z. B. Router oder ISP).
- Falls unbekannt → Anfrage an einen Root-Nameserver.
- Root-Nameserver → verweist an den TLD-Nameserver (z. B. .ch, .de, .com).
- TLD → verweist an den autoritativen Nameserver der Domain.
- Der autoritative Server antwortet → IP wird im Cache gespeichert.
Typische Angriffe:
- DNS-Spoofing / Cache Poisoning – falsche Einträge im Cache → z. B.
www.google.com
→ falsche IP. - DNS-Amplification (DDoS) – Missbrauch von offenen DNS-Servern für Verstärkungsangriffe.
Schutzmassnahmen:
- DNSSEC – digitale Signaturen für DNS-Einträge.
- DoT (DNS over TLS) oder DoH (DNS over HTTPS) → verschlüsselte Anfragen.
- Firewalls – nur vertrauenswürdige DNS-Server erlauben.
DNS – Hierarchische Struktur
DNS – Hierarchische Struktur
Das Domain Name System ist hierarchisch aufgebaut – wie ein umgekehrter Baum:
Aufbau:
- Root-Nameserver
- „Wurzel“ des DNS-Systems
- Kennen alle TLD-Nameserver
- Weltweit nur wenige, aber extrem leistungsfähig
- TLD-Nameserver (Top Level Domain)
- Zuständig für Endungen wie
.ch
,.de
,.com
… - Verweisen an die zuständigen autoritativen Nameserver
- Zuständig für Endungen wie
- Autoritative Nameserver
- Liefern die endgültige Antwort für eine Domain
- Speichern z. B. A-, AAAA-, MX- und CNAME-Records
- Lokaler Resolver (z. B. im Router oder ISP)
- Fragt die Root- und TLD-Server nur, wenn er die Antwort nicht im Cache hat
- Speichert Antworten für eine gewisse Zeit (TTL)
Visualisierung:
Root (.) ├── TLD (.ch, .de, .com) │ ├── Autoritativer Nameserver (z. B. für example.com) │ │ ├── A-Record → IPv4 │ │ ├── AAAA-Record → IPv6 │ │ ├── MX-Record → Mailserver │ │ └── CNAME-Record → Alias │ └── Lokaler Resolver (Router/ISP)
DHCP – Dynamic Host Configuration Protocol
DHCP – Dynamic Host Configuration Protocol
Stellt euch vor, man geht zu einem riesigem Kino. Jeder bekommt einen Sitzplatz mit einer Nummer (IP-Adresse).
Ohne jemanden, der die Plätze verteilt, gäbe es Chaos.
Der Ticketverkäufer (DHCP-Server) sorgt dafür, dass jeder einen Platz bekommt, der noch frei ist.
Genau das macht DHCP: Es verteilt IP-Adressen und weitere Netzwerkkonfigurationsdaten automatisch an Clients.
Eigenschaften:
- Arbeitet auf Layer 7 (Anwendungsschicht)
- Verwendet UDP
- Ports:
- 67 → Server
- 68 → Client
- Basiert auf Broadcast, damit neue Clients den Server finden können
- Funktioniert nur innerhalb eines Broadcast-Domain (also Subnetz oder VLAN)
- Für DHCP über Netzgrenzen hinweg → DHCP-Relay-Agent auf dem Router
Ablauf des DHCP-Prozesses (DORA):
- Discover – Client sendet einen Broadcast: „Gibt es hier einen DHCP-Server?“
- Offer – Der DHCP-Server antwortet:
„Ja, hier ist ein Vorschlag:
192.168.1.125
, Subnetz /24, Gateway:192.168.1.1
.“ - Request – Der Client sagt: „Ich hätte gerne die angebotene Adresse, bitte reserviere sie für mich.“
- Acknowledge (ACK) – Der Server bestätigt:
„Alles klar, Adresse
192.168.1.125
gehört dir.“
DHCP vergibt folgende Parameter:
- IP-Adresse
- Subnetzmaske
- Gateway
- DNS-Server
- Optional: Lease-Zeit, Domainname, NTP-Server usw.
Typische Angriffe:
- Rogue DHCP-Server – Angreifer hängt einen eigenen DHCP-Server ins Netz und vergibt falsche IPs oder Gateways → Daten laufen über ihn (Man-in-the-Middle).
- DHCP Starvation – Angreifer schickt viele Fake-Requests, alle Adressen werden belegt → echte Clients bekommen keine IP mehr.
Schutzmassnahmen:
- DHCP Snooping auf Switches – nur vertrauenswürdige Ports dürfen DHCP-Server spielen.
- Statische IP-Reservierungen für kritische Geräte.
- Monitoring – ungewöhnliche DHCP-Aktivitäten erkennen.
FTP – File Transfer Protocol
FTP – File Transfer Protocol
Mit FTP kann man jemandem auf dem eigenen Server eine Datei zur Verfügung stellen.
Man stellt also jemandem einen Ordner bereit, und derjenige, der die Zugangsdaten hat, kann direkt darauf zugreifen,
um Daten hoch- oder herunterzuladen.
FTP ist zur Übertragung von Dateien über ein Netzwerk zuständig und arbeitet auf Layer 7.
Ports & Modi:
- TCP-Port 21 – für Befehle
- TCP-Port 20 – für Datenübertragung im aktiven Modus
Modi:
- Aktiver Modus: Der Client öffnet Ports, der Server verbindet zurück.
- Passiver Modus: Der Server teilt dem Client mit, welchen Port er nutzen soll – besser für NAT/Firewalls.
Ablauf:
- Verbindung mit
ftp.example.com
über Port 21 - Benutzername und Passwort eingeben
- Daten auflisten mit
ls
- Daten hochladen mit
put datei.xyz
- Daten herunterladen mit
get datei.xyz
FTP funktioniert sowohl über CLI (z. B. Terminal) als auch über GUI-Programme.
Schwachstellen:
- Username und Passwort werden im Klartext übertragen
- Dateien werden unverschlüsselt übertragen
- Aktiver Modus kann Firewalls umgehen
- Keine Integritätsprüfung – MITM kann Inhalte verändern
Sicherheitsvarianten von FTP:
- FTP – klassisch & unverschlüsselt – TCP Port 21 (Befehle) & TCP Port 20 (Daten)
- FTPS – FTP über SSL/TLS – TCP Port 21 + dynamische Ports für TLS
- SFTP – Secure File Transfer Protocol über SSH – TCP Port 22
SMB – Server Message Block
SMB – Server Message Block
Man arbeitet im Büro und will auf den Drucker zugreifen, ein Netzlaufwerk öffnen (\\server01\projekte
)
oder sich am Windows-PC in der Domäne anmelden.
Das alles passiert über SMB (Server Message Block).
Es ist das Standardprotokoll für:
- Dateifreigaben
- Druckerfreigaben
- Kommunikation mit Windows-Serverdiensten
Eigenschaften:
- Arbeitet auf Layer 7 (Application Layer)
- TCP-Port 445 (modern)
- Früher auch über NetBIOS:
- UDP-Port 137/138
- TCP-Port 139
Funktionen von SMB:
- Dateifreigabe auf Ordner und Netzwerklaufwerke
- Druckerfreigaben
- Named Pipes (interne Windows-Kommunikation)
- Anmeldung an Active Directory
- Remote-Browsing von Freigaben im Netzwerk
Häufige Schwachstellen:
- SMBv1 aktiv → Angriffe wie EternalBlue (WannaCry, NotPetya)
- Schwache Passwörter → Brute-Force-Angriffe
- Offene Freigaben ohne Authentifizierung
- Information Leaks durch Netzwerkscans
Schutzmassnahmen:
- SMBv1 deaktivieren
- Starke Passwörter erzwingen
- Firewall: TCP 445 nach aussen blockieren
- IDS/IPS gegen Exploits wie EternalBlue einsetzen
- SMB-Signing aktivieren (Manipulationsschutz)
Nützliche Tools für SMB:
net use
(Windows)smbclient
(Linux)nmap --script smb-*
→ Schwachstellenprüfungenum4linux
,smbmap
,crackmapexec
→ Pentesting
SSH – Secure Shell
SSH – Secure Shell
Stell dir vor, du willst auf einen entfernten Linux-Server zugreifen, aber nicht einfach so, sondern verschlüsselt und sicher.
Früher nutzte man dafür Telnet (Port 23), aber das war offen wie ein Tagebuch – alles im Klartext.
SSH hat das abgelöst – es bietet:
- Eine verschlüsselte Verbindung
- Fernzugriff über die Kommandozeile
- Dateiübertragung (z. B. mit
scp
,sftp
) - Tunneling und Port-Weiterleitungen
Eigenschaften:
- Layer 7 (Application Layer)
- TCP Port 22
Wie funktioniert SSH?
- Man tippt z. B.
ssh <username>@192.168.1.10
- Der Client initiiert eine verschlüsselte Verbindung
Authentifizierung:
- Passwort
- SSH-Schlüssel (sicherer!)
Nach der Authentifizierung kann man Befehle wie ls
, sudo apt update
usw. ausführen.
Alles läuft sicher verschlüsselt, auch über das Internet.
Die Verschlüsselung passiert meist mit RSA, ED25519 oder ECDSA.
SSH-Schlüssel statt Passwörter:
- Statt jedes Mal ein Passwort einzugeben, kann man ein Schlüsselpaar erzeugen (
ssh-keygen
) - Der private Key bleibt bei dir
- Der public Key wird auf dem Server gespeichert
- Der Server lässt dich rein, wenn dein privater Key passt
Vorteile:
- Keine Passwörter nötig
- Viel schwerer zu brute-forcen
- Kann per Smartcard gespeichert werden
Typische Tools:
ssh
– Remote Shellscp
– Dateiübertragung (schnell)sftp
– Dateiübertragung (interaktiv)rsync
– Sync von Daten über SSHputty
– GUI-Client für Windows
Sicherheitsrisiken:
- Brute-Force – Angreifer raten Passwörter über Port 22
- Schwache Schlüssel – z. B.
RSA 1024
zu schwach - Offene Root-Zugänge – SSH-Zugang mit Root → gefährlich
- Kein Rate Limiting – unbegrenzt viele Versuche möglich
Schutzmassnahmen:
- Root-Login verbieten (
PermitRootLogin no
) - Nur SSH-Schlüssel erlauben (
PasswordAuthentication no
) - Fail2Ban verwenden (blockiert nach X Versuchen)
- Firewall → nur von bestimmten IPs zugänglich machen
- Port 22 ändern (nicht sicherer, aber weniger auffällig)
SSH – Handshake & Schlüsselaustausch (Diagramm)
SSH – Handshake & Schlüsselaustausch
Sequenz vom Verbindungsaufbau bis zur verschlüsselten Sitzung (vereinfacht):
Kurz erklärt:
- Version & Algorithmen: Beide Seiten einigen sich auf KEX (z. B. Curve25519), Cipher (z. B. chacha20-poly1305/AES-GCM), MAC und Kompression.
- Host Key: Server liefert seinen öffentlichen Host-Schlüssel (Authentizität des Servers).
- Diffie-Hellman/Curve25519: Beide berechnen ein gemeinsames Geheimnis → daraus werden Sitzungsschlüssel abgeleitet.
- NEWKEYS: Ab hier ist der Transportkanal verschlüsselt.
- Benutzer-Auth: Passwort oder Public-Key (Client signiert eine Challenge mit Private Key).
SSH vs. FTP vs. Telnet vs. SMB
Vergleich: SSH vs. FTP vs. Telnet vs. SMB
Vier Protokolle im Vergleich – alle bieten Zugriff auf entfernte Systeme oder Dateien, aber mit ganz unterschiedlichen Schwerpunkten:
Eigenschaft | SSH | FTP | Telnet | SMB |
---|---|---|---|---|
Layer | 7 (Application) | 7 (Application) | 7 (Application) | 7 (Application) |
Port | TCP 22 | TCP 21 (Befehle), TCP 20 (Daten) | TCP 23 | TCP 445 |
Verschlüsselung | Ja (z. B. RSA, ED25519) | Nein (nur mit FTPS/SFTP) | Nein | Nein (nur über zusätzliche Massnahmen möglich) |
Zugriffstyp | Remote-Shell, Dateiübertragung, Tunneling | Dateiübertragung (CLI/GUI) | Remote-Shell (CLI) | Netzwerkfreigaben (Dateien, Drucker, AD) |
Plattform | Linux, Windows, macOS | Plattformübergreifend | Veraltet – fast nur historisch | Windows (Standard), auch Linux mit Samba |
Sicher? | Ja | Nein (klassisch) | Nein | Teilweise (SMBv1 = gefährlich!) |
Typische Risiken | Brute-Force, schwache Schlüssel | Klartextübertragung, kein Auth für passive Verbindungen | Klartext-Zugriff, kein Schutz | SMBv1: EternalBlue, Brute-Force, offene Freigaben |
Verwendung heute? | Standard für Admins & DevOps | Nur als FTPS/SFTP sinnvoll | Veraltet, durch SSH ersetzt | Weit verbreitet in Windows-Netzwerken |
Fazit: SSH ist die sicherste Remote-Verbindung. FTP braucht Absicherung. Telnet ist veraltet. SMB ist praktisch, aber mit Sicherheitsrisiken (v. a. SMBv1) verbunden.
RDP – Remote Desktop Protocol
RDP – Remote Desktop Protocol
Mit RDP bekommt man den kompletten Desktop des Zielrechners auf deinen Bildschirm. Inklusive Maus, Tastatur, Ton und Druckerweiterleitung. RDP wird vor allem in Windows-Umgebungen genutzt, kann aber auch unter Linux/Mac mit Clients wie Remmina oder rdesktop verwendet werden.
Eigenschaften:
- Arbeitet auf Layer 7
- Benutzt standardmässig TCP Port
3389
Ablauf einer RDP Verbindung:
- Der user startet den RDP-Client
- Der user gibt die IP / Hostname, username und Passwort ein
- Der client baut eine verschlüsselte Verbindung zum Zielrechner auf
- Alles was der user eintippt, wird an den Zielrechner gesendet
Sicherheitsfunktionen von RDP:
- TLS-Verschlüsselung
- Network Level Authentication (NLA). Benutzer muss sich authentifizieren, bevor der Desktop geladen wird.
- Unterstützung für Multi-Faktor-Authentifizierung
Typische Schwachstellen:
- Brute-Force
- Exploits - zum Beispiel
CVE-2019-0708
) → Remote Code Execution ohne Login - Unsichere Versionen
- Offene Ports ins Internet
Schutzmassnahmen:
- Port
3389
nicht direkt ins Internet freigeben - NLA aktivieren
- Starke Passwörter & MFA
- Sicherheitsupdates regelmässig einspielen
- Account Lockout Policy (nach X falschen Versuchen sperren)
- Falls möglich: Port-Forwarding + Firewall-Whitelist
SMTP – Simple Mail Transfer Protocol
SMTP – Simple Mail Transfer Protocol
Man schreibt eine Postkarte (E-Mail) und wirft sie in den Briefkasten (Mailserver). Der Briefträger (SMTP) sorgt dann dafür, dass sie über mehrere Stationen zuverlässig beim Empfänger ankommt.
SMTP ist das Standardprotokoll zum Senden von E-Mails, nicht zum Abrufen. Dafür sind POP3 und IMAP zuständig.
Eigenschaften:
- Arbeitet auf Layer 7
- Benutzt mehrere Ports:
25
– Server-zu-Server Mail Transfer (MTA ↔ MTA)587
– Submission-Port für Clients (Authentifizierung, STARTTLS)465
– Legacy SMTPS
Funktion des SMTP:
- Man tippt eine E-Mail in das Mailprogramm (Outlook, Thunderbird, Webmail)
- Der Client sendet die Nachricht per SMTP an den Mailserver des Providers (Port 587)
- Der Server leitet die Mail über mehrere Mail Transfer Agents (MTA) weiter
- Der Zielserver speichert die Mail im Postfach des Empfängers
- Der Empfänger ruft die Mail mit POP3 oder IMAP ab
Sicherheitsfunktionen:
- TLS-Verschlüsselung (über STARTTLS oder SMTPS)
- SPF (Sender Policy Framework) – Verhindert gefälschte Absender-Domains
- DKIM (DomainKeys Identified Mail) – Digitale Signatur für Authentizität
- DMARC – Definiert, wie Empfänger mit gefälschten Mails umgehen sollen
Typische Schwachstellen:
- Open Relay – Mailserver leitet E-Mails ohne Authentifizierung weiter (Spam-Relay)
- Kein TLS – Mails werden im Klartext übertragen, Abhören möglich (MITM)
- Gefälschte Absender – Ohne SPF/DKIM kann jeder im Namen einer Domain senden
- Brute-Force – Angriffe auf SMTP-Login-Daten
Schutzmassnahmen:
- Keine offenen Relays betreiben
- TLS/STARTTLS erzwingen
- SPF, DKIM & DMARC korrekt konfigurieren
- Rate Limiting gegen Brute-Force-Angriffe
- Server-Logs überwachen
HTTP & HTTPS – Webzugriffsprotokolle
HTTP & HTTPS – Webzugriffsprotokolle
Analogie:
- HTTP = Offenes Gespräch – jeder kann mithören.
- HTTPS = Gespräch in einem verschlossenen Raum – nur Teilnehmer verstehen den Inhalt.
HTTP – Hypertext Transfer Protocol
- Layer: 7 (Application Layer)
- Port: TCP 80
- Zustandslos → Cookies & Sessions nötig für Login-Zustände
- Textbasiertes Protokoll für Anfragen (Requests) und Antworten (Responses)
Request-Format:
<Methode> <Pfad> <Version> Header1: Wert Header2: Wert <Body-Daten>
Beispiel Request:
GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0
Response-Format:
<Version> <Statuscode> <Status-Text> Header1: Wert Header2: Wert <Body-Daten>
Beispiel Response:
HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1234
HTTP-Methoden:
- GET – Daten anfordern
- POST – Daten an den Server senden
- PUT – Daten auf dem Server ersetzen
- DELETE – Daten vom Server löschen
HTTP-Versionen:
- HTTP/0.9 – nur unverschlüsselte GET-Anfragen
- HTTP/1.0 (1996) – Header und Statuscodes
- HTTP/1.1 (1997) – Keep-Alive, Caching
- HTTP/2 (2015) – Multiplexing, Header-Kompression
- HTTP/3 (2022) – QUIC (UDP-basiert), schneller Verbindungsaufbau
Typische Schwachstellen (HTTP):
- MITM – Inhalte manipulierbar
- Session Hijacking – Cookies abfangbar
- Traffic Sniffing – Passwörter & API-Keys im Klartext
HTTPS – HTTP Secure
- Layer: 7 (Application Layer)
- Port: TCP 443
- HTTP über TLS – schützt vor MITM & Abhören
Ablauf einer HTTPS-Verbindung:
- Client Hello – Browser sendet unterstützte Cipher Suites & Zufallswerte
- Server Hello – Server wählt Cipher Suite, sendet Zertifikat & Public Key
- Key Exchange – z. B. Diffie-Hellman, beide berechnen Session Key
- Finished – Verschlüsselung aktiv
- HTTP-Daten laufen jetzt durch den TLS-Tunnel
HTTPS/TLS-Versionen:
- SSL 1.0 – nie veröffentlicht
- SSL 2.0 / 3.0 – unsicher
- TLS 1.0 / 1.1 – unsicher, deaktivieren
- TLS 1.2 / 1.3 – aktueller Standard
Typische Schwachstellen (HTTPS):
- Alte TLS-Versionen
- Schwache Cipher Suites
- Selbstsignierte Zertifikate
- Downgrade-Angriffe (z. B. SSLStrip)
Schutzmassnahmen:
- Nur TLS 1.2/1.3 verwenden
- Sichere Cipher Suites wählen
- HSTS aktivieren
- Zertifikate von vertrauenswürdigen CAs
- CAA-DNS-Einträge setzen
- Regelmässige Zertifikatserneuerung