Struktur des Actions-Objekts
Actions können verwendet werden, um dynamisch Tools aus OpenAPI-Spezifikationen zu erstellen. Die Struktur des actions-Objekts ermöglicht es Ihnen, zulässige Domains für Agenten-/Assistenten-Aktionen festzulegen.
Weitere Informationen: Agents - Actions
Beispiel
allowedDomains
Schlüssel:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Eine Liste, die zulässige Domains für Agenten-/Assistenten-Aktionen festlegt. | When configured, only listed domains are allowed. When not configured, SSRF targets are blocked but all other domains are allowed. |
Optional
Sicherheitskontext (SSRF-Schutz)
LibreChat enthält einen SSRF-Schutz (Server-Side Request Forgery) mit folgendem Verhalten:
Wenn allowedDomains NICHT konfiguriert ist:
- SSRF-anfällige Ziele sind standardmäßig blockiert
- Alle anderen externen Domains sind erlaubt
Wenn allowedDomains konfiguriert IST:
- Nur Domains auf der Liste sind erlaubt
- Interne/SSRF-Ziele können zugelassen werden, indem sie explizit zur Liste hinzugefügt werden
Blockierte SSRF-Ziele umfassen:
- Localhost-Adressen (
localhost,127.0.0.1,::1) - Private IP-Bereiche (
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) - Link-Local-Adressen (
169.254.0.0/16, beinhaltet Cloud-Metadaten-IPs) - Interne TLDs (
.internal,.local,.localhost) - Gängige interne Dienstnamen (
redis,mongodb,postgres,apiusw.)
Wenn Ihre Aktionen auf interne Dienste zugreifen müssen, fügen Sie diese entweder der strikten allowedDomains-Whitelist hinzu oder lassen Sie allowedDomains leer und fügen Sie den genauen privaten Dienst zu allowedAddresses hinzu.
Musterformate
Das allowedDomains Array unterstützt verschiedene Formate:
-
Nur Domain - Erlaubt alle Protokolle und Ports:
-
Mit Protokoll - Beschränkt auf ein bestimmtes Protokoll:
-
Mit Protokoll und Port - Beschränkt auf ein bestimmtes Protokoll und einen bestimmten Port:
-
Interne Adressen (müssen explizit erlaubt werden):
Beispiel:
allowedAddresses
allowedAddresses ist eine Ausnahmeliste für die SSRF-Blockierung privater IP-Adressen – keine Domain-Whitelist. Es ist das richtige Werkzeug, wenn Sie ein oder zwei spezifische private/interne Dienste zulassen möchten, ohne einzuschränken, was Ihre Actions im öffentlichen Internet erreichen können.
Wann es anstelle von allowedDomains verwendet werden sollte
allowedDomains ist eine strikte Whitelist: Wenn sie festgelegt ist, sind nur die aufgelisteten Einträge erreichbar. Das Hinzufügen einer privaten IP-Adresse, um beispielsweise eine selbst gehostete interne API zu erlauben, blockiert auch jeden öffentlichen Aktions-endpoint, den Sie nicht ebenfalls aufgelistet haben.
allowedAddresses wird nur verwendet, wenn allowedDomains nicht konfiguriert ist. Es erlaubt spezifische private host:port-Ziele, während der Rest des öffentlichen Internets über die standardmäßige SSRF-Richtlinie erreichbar bleibt.
Wenn allowedDomains konfiguriert ist, ist dies maßgeblich: Private Dienste müssen dort aufgelistet werden, anstatt sich auf allowedAddresses zu verlassen.
Zulässige Einträge
- Hostnamen mit Port:
host.docker.internal:11434,ollama.internal:8080,localhost:11434 - Private IPv4-Literale mit Port:
10.0.0.5:8080,127.0.0.1:11434,192.168.1.10:443,169.254.169.254:80 - Eingeklammerte private IPv6-Literale mit Port:
[::1]:11434,[fc00::1]:8080,[fe80::1]:8080
Abgelehnte Einträge (validiert beim Laden der Konfiguration)
- URLs / Pfade / CIDR-Bereiche:
http://10.0.0.5,10.0.0.0/24,/path - Bare Hostnamen oder IPs:
localhost,10.0.0.5,::1,[::1]— jeder Eintrag muss einen Port enthalten - Ungültige Ports:
localhost:0,localhost:65536,localhost:http - Öffentliche IP-Literale:
8.8.8.8:53,1.1.1.1:53,[2001:4860::8888]:443— das Feld ist auf den privaten IP-Adressraum beschränkt; öffentliche IPs sind keine SSRF-Ziele und eine Ausnahme für öffentliche IPs hat keinen defensiven Zweck
Hostname-Vertrauen
Ein Hostname-Eintrag vertraut jeder IP-Adresse, zu der der Hostname zur Laufzeit auf dem angegebenen Port aufgelöst wird. Wenn das DNS für einen aufgeführten Hostnamen rotiert oder gekapert wird, um auf eine andere private IP-Adresse zu verweisen, gilt die Ausnahme auch für diese. Führen Sie nur Hostnamen auf, deren DNS Sie kontrollieren. Bevorzugen Sie nach Möglichkeit direkte IP-Adressen.
Wie finden Sie diese Anleitung?