OpenClaw
Sicherheit10 Min. Lesezeit

Sicherer Fernzugriff auf OpenClaw

Erfahren Sie, wie Sie Ihr OpenClaw-Gateway sicher fuer den Fernzugriff freigeben, mit SSH-Tunneln, Reverse-Proxies und VPNs unter Beibehaltung der Sicherheit.

O

OpenClaw Guides

Tutorial Authors

Warum Fernzugriff?

Standardmaessig bindet OpenClaw an 127.0.0.1 (nur localhost), was die sicherste Konfiguration ist. Sie koennten jedoch Fernzugriff benoetigen, wenn:

  • OpenClaw auf einem Heimserver laeuft, waehrend Sie unterwegs sind
  • Auf einem VPS gehostet und von mehreren Geraeten verbunden wird
  • Ihr KI-Assistent im lokalen Netzwerk geteilt werden soll

Warnung: Setzen Sie OpenClaw niemals direkt dem Internet aus, ohne ordnungsgemaesse Authentifizierung und Verschluesselung. Diese Anleitung behandelt nur sichere Methoden.

Methode 1: SSH-Tunnel (Empfohlen fuer persoenliche Nutzung)

SSH-Tunneling ist die einfachste und sicherste Methode fuer persoenlichen Fernzugriff.

Auf Ihrem Remote-Server

Stellen Sie sicher, dass OpenClaw auf localhost laeuft:

bash
openclaw gateway start
# Gateway listening on http://127.0.0.1:18789

Auf Ihrem lokalen Rechner

SSH-Tunnel erstellen:

bash
ssh -L 18789:localhost:18789 user@your-server-ip

Jetzt koennen Sie OpenClaw unter http://localhost:18789 auf Ihrem lokalen Rechner erreichen.

Persistenter SSH-Tunnel mit autossh

Fuer einen Tunnel, der automatisch wieder verbindet:

bash
# autossh installieren
# macOS
brew install autossh

# Ubuntu/Debian
sudo apt install autossh

# Persistenten Tunnel erstellen
autossh -M 0 -f -N -L 18789:localhost:18789 user@your-server-ip

Methode 2: Reverse-Proxy mit Nginx

Fuer fortgeschrittenere Setups verwenden Sie Nginx als Reverse-Proxy mit SSL-Terminierung.

Nginx und Certbot installieren

bash
# Ubuntu/Debian
sudo apt update
sudo apt install nginx certbot python3-certbot-nginx

Nginx konfigurieren

Erstellen Sie /etc/nginx/sites-available/openclaw:

nginx
server {
    listen 80;
    server_name openclaw.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Site aktivieren:

bash
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

SSL mit Let's Encrypt hinzufuegen

bash
sudo certbot --nginx -d openclaw.yourdomain.com

Basis-Authentifizierung hinzufuegen

Passwortdatei generieren:

bash
sudo apt install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd your-username

Nginx-Konfiguration aktualisieren:

nginx
server {
    listen 443 ssl;
    server_name openclaw.yourdomain.com;

    # SSL-Konfiguration von Certbot hinzugefuegt...

    location / {
        auth_basic "OpenClaw Access";
        auth_basic_user_file /etc/nginx/.htpasswd;

        proxy_pass http://127.0.0.1:18789;
        # ... andere Proxy-Einstellungen
    }
}

Methode 3: WireGuard VPN

Fuer hoechste Sicherheit verwenden Sie ein VPN, um auf Ihr Heimnetzwerk zuzugreifen.

WireGuard installieren

bash
# Server (Ubuntu/Debian)
sudo apt install wireguard

# Schluessel generieren
wg genkey | tee privatekey | wg pubkey > publickey

Server-Konfiguration

Erstellen Sie /etc/wireguard/wg0.conf:

ini
[Interface]
PrivateKey = <server-private-key>
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <client-public-key>
AllowedIPs = 10.0.0.2/32

Client-Konfiguration

ini
[Interface]
PrivateKey = <client-private-key>
Address = 10.0.0.2/24

[Peer]
PublicKey = <server-public-key>
Endpoint = your-server-ip:51820
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25

WireGuard starten

bash
# Server
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

# Client
sudo wg-quick up wg0

Jetzt OpenClaw ueber die VPN-IP erreichen: http://10.0.0.1:18789

Methode 4: Cloudflare Tunnel (Zero Trust)

Cloudflare Tunnel bietet sicheren Zugriff ohne Port-Freigabe.

cloudflared installieren

bash
# macOS
brew install cloudflare/cloudflare/cloudflared

# Linux
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb

Authentifizieren und Tunnel erstellen

bash
cloudflared tunnel login
cloudflared tunnel create openclaw

Tunnel konfigurieren

Erstellen Sie ~/.cloudflared/config.yml:

yaml
tunnel: <tunnel-id>
credentials-file: /home/user/.cloudflared/<tunnel-id>.json

ingress:
  - hostname: openclaw.yourdomain.com
    service: http://localhost:18789
  - service: http_status:404

Tunnel ausfuehren

bash
cloudflared tunnel route dns openclaw openclaw.yourdomain.com
cloudflared tunnel run openclaw

Sicherheits-Best-Practices

1. Rate Limiting aktivieren

In Ihrer ~/.openclaw/openclaw.json:

json
{
  "security": {
    "rateLimiting": {
      "enabled": true,
      "maxRequests": 60,
      "windowMs": 60000
    }
  }
}

2. Starke API-Keys verwenden

bash
# API-Keys regelmaessig rotieren
openclaw config set api-key

3. Zugriffsprotokolle ueberwachen

bash
# Gateway-Logs pruefen
openclaw logs --follow

4. Fail2Ban einrichten (fuer Nginx)

bash
sudo apt install fail2ban

# /etc/fail2ban/jail.local erstellen
[nginx-http-auth]
enabled = true

Vergleichstabelle

| Methode | Sicherheit | Komplexitaet | Am besten fuer | |---------|------------|--------------|----------------| | SSH-Tunnel | Hoch | Niedrig | Persoenliche Nutzung | | Nginx + SSL | Hoch | Mittel | Oeffentlicher Zugriff | | WireGuard VPN | Sehr Hoch | Mittel | Team-Zugriff | | Cloudflare Tunnel | Hoch | Niedrig | Zero-Trust-Setup |

Naechste Schritte