Zum Inhalt springen
>_<
AI EngineeringWiki

Firewall & Netzwerksegmentierung

Security · 6 min

📋 Auf einen Blick

Nur nötige Ports öffnen, Services segmentieren, SSH nur mit Key-Auth. UFW als Firewall, Fail2ban gegen Brute-Force, Traefik als Reverse Proxy. Interne Services (Prometheus, Docker API) niemals direkt von außen erreichbar machen.

Netzwerk-Segmentation für lokale AI-Infrastruktur
Netzwerk-Segmentation: DMZ, internes Netz, AI-Stack isoliert

Netzwerksicherheit ist die erste Verteidigungslinie. Ohne Firewall und Segmentierung ist ein kompromittierter Service der Einstieg für alles andere.

Diagramm wird geladen...

Grundprinzipien

  • Minimal: Nur nötige Ports öffnen
  • Segmentierung: Services trennen
  • Auth: Kein Zugang ohne Login
  • Logging: Alles protokollieren

Port-Bereiche

BereichPortsNutzung
SSH22Nur intern
HTTP/S80, 443Öffentlich
Docker2375, 2376Nur intern
Swarm2377, 7946Cluster
Prometheus9090Nur intern

Docker Network

# Eigenes Netzwerk erstellen
docker network create --driver overlay ai-network

# Service in Netzwerk
services:
  ollama:
    networks:
      - ai-network

# Nur interne Services
networks:
  internal:
    driver: overlay
    internal: true

# Mehrere Netzwerke
services:
  nginx:
    networks:
      - public    # Internet
      - internal  # Backend
  database:
    networks:
      - internal  # Nur Backend

UFW Regeln (Ubuntu)

# UFW aktivieren
ufw enable
ufw default deny incoming
ufw default allow outgoing

# SSH einschränken - nur internes Netzwerk
ufw allow from 10.0.0.0/8 to any port 22
ufw allow from 192.168.1.0/24 to any port 22

# HTTP/S öffnen
ufw allow 80/tcp
ufw allow 443/tcp

# Docker Swarm
ufw allow 2377/tcp
ufw allow 7946/tcp
ufw allow 7946/udp

# Logging
ufw logging low
ufw status verbose

# Alle Regeln anzeigen
ufw status numbered

Traefik als Reverse Proxy

Alle Services hinter Traefik verstecken:

# docker-compose.yml für Traefik
services:
  traefik:
    image: traefik:v3.0
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"  # Dashboard
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik.yml:/etc/traefik/traefik.yml:ro
      - ./certs:/certs
    networks:
      - internal

  whoami:
    image: traefik/whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.local`)"
      - "traefik.http.routers.whoami.entrypoints=websecure"
      - "traefik.http.routers.whoami.tls=true"
    networks:
      - internal

Best Practices

  1. Alle Services hinter Reverse Proxy (Traefik, Nginx)
  2. Interne Services NICHT direkt von außen erreichbar
  3. SSH nur mit Key, kein Password
  4. Fail2ban für brute-force Schutz
  5. Regelmäßig Ports scannen

Fail2ban Konfiguration

# /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log

[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log

# Fail2ban neustarten
sudo fail2ban-client reload

# Status prüfen
sudo fail2ban-client status

Port-Scan regelmäßig

# nmap Installation
sudo apt install nmap

# Offene Ports scannen
nmap -sT -p- 192.168.1.100

# Nur wichtige Ports
nmap -sT -p 22,80,443,3000,8080,9090 192.168.1.100

# Von außen testen (online tools)
# https://www.shodan.io/
# https://www.grc.com/
⚠️ Docker und UFW

Docker manipuliert iptables direkt und umgeht UFW-Regeln. Ports die in docker-compose.yml mit ports: exponiert werden, sind trotz UFW von außen erreichbar. Lösung: Ports nur auf 127.0.0.1 binden (z.B. 127.0.0.1:9090:9090) oder Docker-interne Netzwerke nutzen.

Security Layers — Mehrschichtige Absicherung
Defense in Depth: Firewall, Fail2ban, Docker Network, Application Security

Zusammenfassung

Firewall ist Pflicht. So wenig wie möglich öffnen, alles andere über VPN oder Proxy.

Quellen

War dieser Artikel hilfreich?

Nächster Schritt: vom Wissen in die Umsetzung

Wenn du mehr willst als Theorie: Setups, Workflows und Vorlagen aus dem echten Betrieb für Teams, die lokale und dokumentierte AI-Systeme wollen.

Warum AI Engineering
  • Lokal und self-hosted gedacht
  • Dokumentiert und auditierbar
  • Aus eigener Runtime entwickelt
  • Made in Austria
Kein Ersatz für Rechtsberatung.