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:
| Kategorie | Ebenen | Schutzziel |
|---|---|---|
| Sandbox-Isolierung | 1–4 | Einschränkung der Ausführungsumgebung |
| Netzwerksicherheit | 5–8 | Kontrolle des Netzwerkzugriffs |
| Datensicherheit | 9–12 | Schutz vor Datenabfluss |
| Audit & Compliance | 13–16 | Protokollierung 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:
[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:
[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 Sekundenallow_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:
[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 / notifyEbene 4: CPU-Begrenzung
[security.sandbox.cpu]max_cores = 2 # Maximal 2 CPU-Kernepriority = "low" # low / normal / highcfs_period_us = 100000cfs_quota_us = 50000 # 50% CPU-KontingentKategorie 2: Netzwerksicherheit
Ebene 5: Netzwerkisolierung
Kontrolle des ausgehenden Netzwerkverkehrs des Agenten:
[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 verwendenEbene 6: Verkehrsverschlüsselung
[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:
[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:
[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 VerkehrKategorie 3: Datensicherheit
Ebene 9: Eingabebereinigung
Abwehr von Prompt-Injection-Angriffen:
[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 = trueDer 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:
[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
[security.data.encryption]encrypt_workspace = trueencrypt_logs = truekey_derivation = "argon2id"rotation_days = 30Ebene 12: Datenminimierung
[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 entfernenKategorie 4: Audit & Compliance
Ebene 13: Vorgangs-Audit
[security.audit]enabled = truelog_level = "info"[security.audit.events]command_execution = truefile_access = truenetwork_request = trueconfig_change = truehand_start_stop = trueAudit-Protokolle liegen im JSON-Format vor und enthalten Zeitstempel, Ereignistyp, Akteur, Details und Ergebnis:
{ "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
[security.audit.anomaly_detection]enabled = truebaseline_days = 7sensitivity = "medium" # low / medium / highalert_on = ["unusual_command", "off_hours_activity", "unusual_destination"]Ebene 15: Compliance-Berichte
[security.compliance]generate_reports = trueschedule = "0 0 1 * *" # Monatliche Erstellungframeworks = ["SOC2", "ISO27001"]export_format = "pdf"Ebene 16: Reaktion auf Sicherheitsvorfälle
[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ösungSchnelle Sicherheits-Konfigurationsvorlagen
Wählen Sie je nach Bereitstellungsszenario die passende Sicherheitskonfiguration:
Entwicklungsumgebung (geringe Sicherheitsanforderungen)
openfang security preset developmentProduktionsumgebung (Standard-Sicherheitsanforderungen)
openfang security preset productionHochsichere Umgebung (Finanzen/Gesundheitswesen/Behörden)
openfang security preset hardenedDie wesentlichen Unterschiede der drei Vorlagen:
| Konfiguration | Development | Production | Hardened |
|---|---|---|---|
| Dateisystem | basic | strict | strict |
| Shell-Zugriff | erlaubt | verboten | verboten |
| Netzwerkmodus | blocklist | allowlist | allowlist |
| Ausgabefilter | aus | an | an |
| Audit-Protokoll | aus | an | an |
| Datenverschlüs. | aus | an | an |
| Anomalieerkenn. | aus | medium | high |
| Auto-Isolierung | aus | aus | an |
Sicherheits-Checkliste
Verwenden Sie vor der Bereitstellung in der Produktion den Befehl openfang security audit, um die Konfiguration Punkt für Punkt zu validieren:
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 ausstehendHäufig gestellte Fragen
Was tun, wenn die Sicherheitskonfiguration zu streng ist und der Agent nicht mehr funktioniert?
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?
Wie lassen sich Sicherheitsebenen in containerisierten Umgebungen (Docker/K8s) ergänzen?
Was ist bei einem Sicherheitsvorfall zu tun?
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 xxx4. 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
- OpenFang Installations- und Einrichtungsanleitung: Sichere Bereitstellung von Grund auf
- Anleitung zur Erstellung automatisierter Workflows mit OpenFang: Aufbau sicherer Automatisierungsprozesse