Zum Hauptinhalt springen
Zurück zur Kategorie

Zero Trust Netzwerksicherheit: Grundlegende Konfigurationsanleitung

Zero Trust Netzwerksicherheitsprinzipien und praktische Umsetzung: niemals vertrauen immer verifizieren, Mikro-Segmentierung, identitätsbasierter Zugriff und Implementierung mit vorhandenen Linux-Tools.

Lesezeit: 14 min Sicherheit
zero trustnetzwerksicherheitmikro-segmentierungauthentifizierungsicherheitsarchitekturlinuxfirewallzugangskontrolle

Inhaltsverzeichnis

Zero Trust Netzwerksicherheit: Grundlegende Konfigurationsanleitung

Das traditionelle Netzwerksicherheitsmodell vertraut allem innerhalb des internen Netzwerks. Das Zero Trust-Modell befürwortet das Gegenteil: "Niemals vertrauen, immer verifizieren." Dieser Ansatz ist in modernen Cloud- und Hybridumgebungen von entscheidender Bedeutung.

Was ist Zero Trust?

Zero Trust ist ein Sicherheitsmodell, das 2010 von Forrester Research-Analysten definiert wurde. Seine Kernannahme lautet: Keinem Benutzer, Gerät oder Dienst innerhalb oder außerhalb des Netzwerks wird automatisch vertraut.

Grundprinzipien

  1. Niemals vertrauen, immer verifizieren: Jede Zugriffsanfrage muss authentifiziert werden
  2. Geringste Privilegien: Benutzer sollten nur auf benötigte Ressourcen zugreifen
  3. Mikro-Segmentierung: Netzwerk in kleine, isolierte Segmente aufteilen
  4. Kontinuierliche Überwachung: Gesamten Netzwerkverkehr und Zugriffe protokollieren
  5. Gerätesicherheit: Gerätesicherheit vor Zugriffsgewährung verifizieren

Traditionell vs. Zero Trust

MerkmalTraditionellZero Trust
VertrauensmodellInternem Netzwerk vertrauenNichts vertrauen
AuthentifizierungAm NetzwerkperimeterBei jedem Zugriff
ZugangskontrolleIP-basiertIdentitätsbasiert
SegmentierungFlaches NetzwerkMikro-Segmentierung
ÜberwachungPerimeter-fokussiertÜberall

Praktische Umsetzung mit Linux-Tools

1. SSH-Zertifikat-basierte Authentifizierung

hljs bash
# SSH CA erstellen
mkdir -p /etc/ssh/ca
cd /etc/ssh/ca

# CA-Schlüsselpaar erstellen
ssh-keygen -t ed25519 -f ssh_ca -C "SSH Certificate Authority"

# Benutzerschlüssel signieren
ssh-keygen -s /etc/ssh/ca/ssh_ca \
  -I "benutzer@hostname" \
  -n benutzername \
  -V +52w \
  ~/.ssh/id_ed25519.pub
# Zero Trust SSH-Konfiguration
PasswordAuthentication no
ChallengeResponseAuthentication no
TrustedUserCAKeys /etc/ssh/ca/ssh_ca.pub
PermitRootLogin no
AllowUsers deploy admin
ClientAliveInterval 300
ClientAliveCountMax 2

2. Mikro-Segmentierung mit iptables

hljs bash
# Standardrichtlinien
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# Loopback erlauben
sudo iptables -A INPUT -i lo -j ACCEPT

# Bestehende Verbindungen erlauben
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH-Zugriff (nur Verwaltungsnetzwerk)
sudo iptables -A INPUT -p tcp --dport 22 -s 10.0.1.0/24 -j ACCEPT

# Webserver (öffentlich)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Datenbank (nur Webserver)
sudo iptables -A INPUT -p tcp --dport 3306 -s 10.0.2.10 -j ACCEPT

# Alles andere protokollieren und ablehnen
sudo iptables -A INPUT -j LOG --log-prefix "DROPPED: "
sudo iptables -A INPUT -j DROP

3. Identitätsbasierte Zugangskontrolle

hljs bash
# Multi-Faktor-Authentifizierung mit PAM
sudo apt install libpam-google-authenticator -y
google-authenticator
# /etc/pam.d/sshd
auth required pam_google_authenticator.so
# SSH-Konfiguration
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

4. Kontinuierliche Überwachung

hljs bash
# auditd installieren
sudo apt install auditd -y

# Kritische Dateien überwachen
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/shadow -p wa -k shadow_changes
sudo auditctl -w /etc/sudoers -p wa -k sudoers_changes

# Netzwerkverbindungen überwachen
sudo auditctl -a always,exit -F arch=b64 -S connect -k network_connect

# Audit-Logs anzeigen
sudo ausearch -k passwd_changes
sudo aureport --auth

5. Dienstkonto-Isolierung

hljs ini
# /etc/systemd/system/myapp.service
[Service]
User=myapp
Group=myapp
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/myapp
CapabilityBoundingSet=

6. Docker-Netzwerkisolierung

hljs bash
docker network create --driver bridge --subnet 172.20.0.0/24 frontend-net
docker network create --driver bridge --subnet 172.21.0.0/24 backend-net
docker network create --driver bridge --subnet 172.22.0.0/24 db-net

Zero Trust Reifegradmodell

Stufe 1: Grundlegend

  • SSH-schlüsselbasierte Authentifizierung
  • Port-Einschränkung mit Firewall
  • Starke Passwortrichtlinie
  • Grundlegende Log-Überwachung

Stufe 2: Mittel

  • Multi-Faktor-Authentifizierung (MFA)
  • Mikro-Segmentierung
  • Dienstkonto-Isolierung
  • Zentralisiertes Log-Management

Stufe 3: Fortgeschritten

  • Zertifikat-basierte Authentifizierung
  • Kontinuierliche Verhaltensanalyse
  • Automatisierte Bedrohungsreaktion
  • Just-in-Time-Zugriff

Zero Trust ist eine Philosophie, kein Produkt. Beginnen Sie mit vorhandenen Tools und steigern Sie schrittweise Ihren Reifegrad. Streben Sie nach kontinuierlicher Verbesserung statt Perfektion.

Fazit

Zero Trust ist ein umfassender Sicherheitsansatz für moderne Bedrohungen. Mit Linux-Tools lassen sich grundlegende Zero Trust-Prinzipien umsetzen. SSH-Zertifikate, Mikro-Segmentierung, MFA und kontinuierliche Überwachung können Ihre Sicherheitslage erheblich stärken.