Netzwerkprotokolle

Zurück

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 Wert 4.
  • 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 → TCP
    • 17 → UDP
    • 1 → 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 oder ifconfig

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.10203.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:12345203.0.113.5:40001
      • 192.168.1.20:23456203.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:

  1. Mein PC mit der IP-Adresse 192.168.2.48 will mit 192.168.2.149 sprechen.
  2. ARP-Request via Broadcast: „Wer hat 192.168.2.149? Sag mir deine MAC-Adresse.“
  3. ARP-Reply via Unicast: Der PC mit der passenden MAC antwortet: „Ich, hier ist meine MAC: 00:1A:2B:3C:4D:5E
  4. 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):

  1. SYN – Der PC schickt dem Server eine Anfrage: „Hey, wollen wir sprechen?“
  2. SYN-ACK – Der Server antwortet: „Ja, ich bin bereit. Lass uns reden.“
  3. 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 – HTTP
  • 443 – HTTPS
  • 22 – SSH
  • 25 – 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.comwww.example.com)
  • PTR-Record – Reverse Lookup (IP → Domain)
  • TTL – Wie lange der Eintrag im Cache gespeichert bleibt

Ablauf einer DNS-Anfrage:

  1. PC fragt den lokalen Resolver (z. B. Router oder ISP).
  2. Falls unbekannt → Anfrage an einen Root-Nameserver.
  3. Root-Nameserver → verweist an den TLD-Nameserver (z. B. .ch, .de, .com).
  4. TLD → verweist an den autoritativen Nameserver der Domain.
  5. 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
  • 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):

  1. Discover – Client sendet einen Broadcast: „Gibt es hier einen DHCP-Server?“
  2. Offer – Der DHCP-Server antwortet: „Ja, hier ist ein Vorschlag: 192.168.1.125, Subnetz /24, Gateway: 192.168.1.1.“
  3. Request – Der Client sagt: „Ich hätte gerne die angebotene Adresse, bitte reserviere sie für mich.“
  4. 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:

  1. Verbindung mit ftp.example.com über Port 21
  2. Benutzername und Passwort eingeben
  3. Daten auflisten mit ls
  4. Daten hochladen mit put datei.xyz
  5. 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üfung
  • enum4linux, 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?

  1. Man tippt z. B. ssh <username>@192.168.1.10
  2. 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 Shell
  • scp – Dateiübertragung (schnell)
  • sftp – Dateiübertragung (interaktiv)
  • rsync – Sync von Daten über SSH
  • putty – 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):

Client Server SSH Handshake & Schlüsselaustausch TCP 3-Way Handshake (vor SSH) Protokollversion + unterstützte Algorithmen senden Server-Version + Algorithmen zurück Aushandeln: KEX, Verschlüsselung, MAC, Kompression Server sendet Public Host Key Client: KEX-Init (DH/Curve25519 Parameter) Server: KEX Antwort (berechnet gemeinsames Geheimnis) Beide Seiten leiten Sitzungsschlüssel aus KEX ab NEWKEYS → ab jetzt verschlüsselte Transport-Schicht Benutzer-Auth: Passwort oder Public-Key (signierte Challenge) Channel öffnen (session) → Shell/SFTP/Tunnel Sichere, verschlüsselte SSH-Sitzung aktiv

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:

  1. Der user startet den RDP-Client
  2. Der user gibt die IP / Hostname, username und Passwort ein
  3. Der client baut eine verschlüsselte Verbindung zum Zielrechner auf
  4. 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:

  1. Man tippt eine E-Mail in das Mailprogramm (Outlook, Thunderbird, Webmail)
  2. Der Client sendet die Nachricht per SMTP an den Mailserver des Providers (Port 587)
  3. Der Server leitet die Mail über mehrere Mail Transfer Agents (MTA) weiter
  4. Der Zielserver speichert die Mail im Postfach des Empfängers
  5. 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:

  1. Client Hello – Browser sendet unterstützte Cipher Suites & Zufallswerte
  2. Server Hello – Server wählt Cipher Suite, sendet Zertifikat & Public Key
  3. Key Exchange – z. B. Diffie-Hellman, beide berechnen Session Key
  4. Finished – Verschlüsselung aktiv
  5. 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