OpenFang Sicherheits-Best-Practices

23 Min. Lesezeit

Die Sicherheit autonomer KI-Agenten ist von entscheidender Bedeutung. OpenFang bietet von Grund auf ein 16-stufiges Schutzsystem: 4 Ebenen Sandbox-Isolierung, 4 Ebenen Netzwerksicherheit, 4 Ebenen Datensicherheit und 4 Ebenen Audit-Compliance. Dieser Artikel enthält drei vordefinierte Konfigurationsvorlagen und eine vollständige Sicherheits-Checkliste.

OpenFang Sicherheits-Best-Practices: Das 16-stufige Schutzsystem im Detail

Slug: openfang-security-best-practices Kategorie: usage-guides (Anleitungen) Ziel-Keywords: OpenFang Sicherheit, OpenFang Sicherheitskonfiguration, Agent Security Best Practices Suchintention: Informationell (Benutzer möchte OpenFang sicher bereitstellen) Ziel-Wortanzahl: ~2000 Wörter Sprache: de


Warum ist Agent-Sicherheit so wichtig?

Autonome KI-Agenten verfügen über die Befugnis, Befehle auszuführen, auf das Netzwerk zuzugreifen sowie Dateien zu lesen und zu schreiben – ohne entsprechende Einschränkungen ist dies ein Rezept für Sicherheitskatastrophen. Ein ungeschützter Agent kann durch Prompt-Injection-Angriffe dazu verleitet werden, gefährliche Befehle auszuführen, sensible Daten preiszugeben oder als Sprungbrett für Angriffe missbraucht zu werden.

OpenFang hat Sicherheit von Beginn an als Kernbestandteil der Architektur integriert und bietet 16 Schutzmechanismen. Dieser Artikel erläutert die Konfigurationsmethoden und Best Practices für jede Ebene.

Überblick über die Sicherheitsarchitektur

Die 16-stufige Sicherheitsarchitektur von OpenFang gliedert sich in vier Kategorien:

KategorieEbenenSchutzziel
Sandbox-Isolierung1–4Einschränkung der Ausführungsumgebung
Netzwerksicherheit5–8Kontrolle des Netzwerkzugriffs
Datensicherheit9–12Schutz vor Datenabfluss
Audit & Compliance13–16Protokollierung und Prüfung von Agenten-Aktivitäten

Kategorie 1: Sandbox-Isolierung

Ebene 1: Dateisystem-Sandbox

Einschränkung der für den Agenten zugänglichen Dateisystempfade:

toml
[security.sandbox.filesystem]mode = "strict"                  # off / basic / strictallowed_paths = [    "./workspace/",    "/tmp/openfang/",]denied_paths = [    "/etc/",    "~/.ssh/",    "~/.aws/",]read_only_paths = [    "./config/",    "/usr/share/openfang/",]

Im strict-Modus kann der Agent auf keine Pfade zugreifen, die nicht in allowed_paths aufgeführt sind. Es wird empfohlen, immer ein dediziertes Arbeitsverzeichnis für den Agenten zu erstellen.

Ebene 2: Prozess-Sandbox

Einschränkung der vom Agenten ausführbaren Systembefehle:

toml
[security.sandbox.process]allow_shell = false              # Direkter Shell-Zugriff verbotenallowed_commands = [    "git",    "curl",    "python3",    "node",]denied_commands = [    "rm",    "sudo",    "chmod",    "wget",]command_timeout = 30             # Maximale Ausführungszeit in Sekunden

allow_shell = false ist eine zwingende Konfiguration für Produktionsumgebungen. Der Agent kann nur über die in der allowed_commands-Liste definierten Befehle mit dem System interagieren.

Ebene 3: Speicherbegrenzung

Schutz vor Ressourcenerschöpfung durch Speicherlecks oder bösartigen Code:

toml
[security.sandbox.memory]max_memory_mb = 512              # Speicherlimit für den Agentenmax_per_hand_mb = 128            # Speicherlimit pro Handoom_policy = "kill_hand"         # kill_hand / restart / notify

Ebene 4: CPU-Begrenzung

toml
[security.sandbox.cpu]max_cores = 2                    # Maximal 2 CPU-Kernepriority = "low"                 # low / normal / highcfs_period_us = 100000cfs_quota_us = 50000             # 50% CPU-Kontingent

Kategorie 2: Netzwerksicherheit

Ebene 5: Netzwerkisolierung

Kontrolle des ausgehenden Netzwerkverkehrs des Agenten:

toml
[security.network]mode = "allowlist"               # allowlist / blocklist / unrestrictedallowed_domains = [    "api.anthropic.com",    "api.openai.com",    "github.com",]allowed_ports = [443, 80]block_ip_ranges = [    "10.0.0.0/8",                # Zugriff auf internes Netzwerk blockieren    "172.16.0.0/12",    "192.168.0.0/16",]dns_over_https = true            # Verschlüsseltes DNS verwenden

Ebene 6: Verkehrsverschlüsselung

toml
[security.network.tls]min_version = "1.2"verify_certificates = truecertificate_pinning = [    { domain = "api.anthropic.com", pin = "sha256/..." },]

Ebene 7: Ratenbegrenzung

Schutz vor Missbrauch durch massenhafte Anfragen:

toml
[security.network.rate_limit]requests_per_minute = 60tokens_per_minute = 100000burst_multiplier = 2cooldown_after_exceeded = "5m"

Ebene 8: Proxy- und Ausgangskontrolle

Sämtlicher Agenten-Verkehr wird über einen Unternehmens-Proxy geleitet:

toml
[security.network.proxy]http_proxy = "${HTTP_PROXY}"https_proxy = "${HTTPS_PROXY}"no_proxy = ["localhost", "127.0.0.1"]enforce_proxy = true             # Erzwingt Proxy-Nutzung für allen Verkehr

Kategorie 3: Datensicherheit

Ebene 9: Eingabebereinigung

Abwehr von Prompt-Injection-Angriffen:

toml
[security.data.input_guard]enabled = truemode = "strict"[security.data.input_guard.rules]detect_jailbreak = truedetect_prompt_leak = truedetect_code_injection = truemax_input_length = 8000sanitize_markdown = true

Der Eingabefilter scannt Benutzereingaben auf potenzielle Injektionsangriffe, einschließlich Jailbreak-Prompts, Versuche zum Auslesen von Prompts und Code-Injektionen, bevor der Agent sie verarbeitet.

Ebene 10: Ausgabefilterung

Schutz vor dem Abfluss sensibler Daten durch Agenten-Antworten:

toml
[security.data.output_guard]enabled = true[security.data.output_guard.patterns]credit_cards = trueapi_keys = true                  # Erkennt und blockiert API-Key-Formateemails = "mask"                  # mask / block / allowphone_numbers = "mask"custom_patterns = [    "\\b(?:sk|pk)_[a-zA-Z0-9]{32,}\\b",    "\\bAKIA[A-Z0-9]{16}\\b",   # AWS Access Key]

Ebene 11: Verschlüsselung sensibler Daten

toml
[security.data.encryption]encrypt_workspace = trueencrypt_logs = truekey_derivation = "argon2id"rotation_days = 30

Ebene 12: Datenminimierung

toml
[security.data.minimization]log_user_inputs = false          # Benutzereingaben nicht protokollierenlog_agent_outputs = false        # Agenten-Ausgaben nicht protokollierenretention_days = 7               # Protokollaufbewahrung 7 Tagestrip_pii = true                 # PII automatisch entfernen

Kategorie 4: Audit & Compliance

Ebene 13: Vorgangs-Audit

toml
[security.audit]enabled = truelog_level = "info"[security.audit.events]command_execution = truefile_access = truenetwork_request = trueconfig_change = truehand_start_stop = true

Audit-Protokolle liegen im JSON-Format vor und enthalten Zeitstempel, Ereignistyp, Akteur, Details und Ergebnis:

json
{  "timestamp": "2026-07-10T08:30:15.123Z",  "event": "command_execution",  "hand": "researcher",  "command": "git clone https://github.com/...",  "sandbox": "strict",  "result": "allowed",  "duration_ms": 1240}

Ebene 14: Anomalieerkennung

toml
[security.audit.anomaly_detection]enabled = truebaseline_days = 7sensitivity = "medium"           # low / medium / highalert_on = ["unusual_command", "off_hours_activity", "unusual_destination"]

Ebene 15: Compliance-Berichte

toml
[security.compliance]generate_reports = trueschedule = "0 0 1 * *"           # Monatliche Erstellungframeworks = ["SOC2", "ISO27001"]export_format = "pdf"

Ebene 16: Reaktion auf Sicherheitsvorfälle

toml
[security.incident_response]auto_contain = true              # Automatische Isolierung bei Anomaliencontainment_action = "pause_all_hands"notify_channels = ["slack:#security", "email:[email protected]"]forensic_snapshot = true         # Erstellt Snapshot bei Auslösung

Schnelle Sicherheits-Konfigurationsvorlagen

Wählen Sie je nach Bereitstellungsszenario die passende Sicherheitskonfiguration:

Entwicklungsumgebung (geringe Sicherheitsanforderungen)

bash
openfang security preset development

Produktionsumgebung (Standard-Sicherheitsanforderungen)

bash
openfang security preset production

Hochsichere Umgebung (Finanzen/Gesundheitswesen/Behörden)

bash
openfang security preset hardened

Die wesentlichen Unterschiede der drei Vorlagen:

KonfigurationDevelopmentProductionHardened
Dateisystembasicstrictstrict
Shell-Zugrifferlaubtverbotenverboten
Netzwerkmodusblocklistallowlistallowlist
Ausgabefilterausanan
Audit-Protokollausanan
Datenverschlüs.ausanan
Anomalieerkenn.ausmediumhigh
Auto-Isolierungausausan

Sicherheits-Checkliste

Verwenden Sie vor der Bereitstellung in der Produktion den Befehl openfang security audit, um die Konfiguration Punkt für Punkt zu validieren:

bash
openfang security audit# Beispielausgabe:# ✅ [1/16] Dateisystem-Sandbox: strict# ✅ [2/16] Prozess-Sandbox: kein Shell-Zugriff# ✅ [3/16] Speicherlimit: 512 MB# ✅ [4/16] CPU-Limit: 2 Kerne# ✅ [5/16] Netzwerk: allowlist-Modus# ⚠️ [6/16] TLS-Zertifikats-Pinning: nicht konfiguriert# ✅ [7/16] Ratenbegrenzung: aktiviert# ...# Score: 14/16 — 2 Empfehlungen ausstehend

Häufig gestellte Fragen

Was tun, wenn die Sicherheitskonfiguration zu streng ist und der Agent nicht mehr funktioniert?
Verwenden Sie eine Strategie der schrittweisen Lockerung. Beginnen Sie mit der hardened-Vorlage und beobachten Sie das Verhalten des Agenten. Nutzen Sie die Audit-Protokolle, um blockierte, aber notwendige Aktionen zu identifizieren und diese gezielt zur Whitelist hinzuzufügen.
Ist Prompt Injection wirklich abwehrbar?
Der Eingabefilter von OpenFang bietet mehrschichtige Verteidigung, aber keine Lösung ist perfekt. Best Practice ist die Kombination mehrerer Schutzebenen: Eingabebereinigung + Sandbox-Einschränkungen + Netzwerkisolierung. Selbst wenn eine Injection die Eingabebereinigung umgeht, minimieren Sandbox und Netzwerkbeschränkungen den potenziellen Schaden.
Wie lassen sich Sicherheitsebenen in containerisierten Umgebungen (Docker/K8s) ergänzen?
Die Sicherheitsebenen von OpenFang ergänzen die Sicherheit auf Anwendungsebene, sie ersetzen sie nicht. Docker-Profile wie seccomp oder AppArmor können als zusätzliche Ebene 0 dienen, sollten jedoch die integrierten Sicherheitsmechanismen von OpenFang nicht ersetzen.
Was ist bei einem Sicherheitsvorfall zu tun?
1. Prüfen Sie die Audit-Protokolle, um den Umfang des Vorfalls zu bestimmen.
2. Wenn auto_contain = true konfiguriert ist, wurde der Agent bereits automatisch isoliert.
3. Laden Sie den forensischen Snapshot herunter: openfang security forensics download --run-id xxx
4. Analysieren Sie die Ursache und beheben Sie die Schwachstelle.
5. Stellen Sie den Agenten aus dem Snapshot wieder her oder initialisieren Sie ihn neu.

Nächste Schritte