Sicherheit
Anmeldedaten, HTTPS, Anmeldung und Netzwerkanbindung einer PentAGI-Installation.
Standardwerte ändern
Eine Neuinstallation erstellt den lokalen Administrator [email protected] mit dem Passwort admin, das bei der ersten Anmeldung geändert werden muss. Falls das Passwort verloren geht, setzt es das Wartungsmenü des Installers zurück, solange das Konto noch die Adresse [email protected] verwendet.
Legen Sie diese Werte in .env vor dem ersten Start fest; der Installer generiert den Salt und die Passwörter für Sie. PostgreSQL und Neo4j übernehmen ihre Anmeldedaten nur bei der Erstellung ihrer Datenvolumes, sodass eine spätere Änderung die Verbindung unterbricht:
| Variable | Zweck |
|---|---|
COOKIE_ | Signiert Session-Cookies und API-Tokens — setzen Sie einen zufälligen Wert |
PENTAGI_, PENTAGI_ | PostgreSQL-Anmeldedaten |
NEO4J_ | Neo4j-Passwort für den Knowledge GraphKnowledge Graph — WissensgraphDer Graph der Hosts, Dienste, Schwachstellen und der Zugriffe zwischen ihnen, den PentAGI während eines Tests aufbaut, wenn diese optionale Funktion aktiviert ist. Er zeigt, wie Befunde zusammenhängen.; NEO4J_ muss neo4j bleiben |
PUBLIC_ | Die URL, die Benutzer aufrufen, zum Beispiel https:/ |
Ändern Sie bei einer laufenden Installation zuerst ein Datenbankpasswort in PostgreSQL oder Neo4j und anschließend in .env.
HTTPS
PentAGI stellt HTTPS auf Port 8443 mit einem selbstsignierten Zertifikat bereit. Um Ihr eigenes zu verwenden, setzen Sie SERVER_ und SERVER_ und binden Sie die Dateien in docker-compose.yml ein.
Benutzer und Anmeldung
Es gibt kein Registrierungsformular. Administratoren verwalten lokale Benutzer über die Users-API (/) aus einer angemeldeten Browsersitzung heraus — ein API-Token erhält dort einen 403-Fehler — und Rollen beschränken, was jeder Benutzer sehen und ändern darf. Lokale Benutzer ändern ihre eigene E-Mail-Adresse und ihr Passwort unter Settings → Account.
Wenn die Anmeldung über GitHub oder Google konfiguriert ist, meldet sich eine Anmeldung, deren vom Anbieter verifizierte E-Mail-Adresse mit einem bestehenden Konto übereinstimmt (einschließlich lokaler Konten), bei diesem Konto mit seiner Rolle an; jede andere Anmeldung erhält ein neues Konto mit der Standardbenutzerrolle. Jede Installation beginnt mit dem Administrator [email protected], verschieben Sie ihn daher unter Settings → Account auf eine Adresse, die Sie kontrollieren, bevor Sie die Anmeldung aktivieren, und aktivieren Sie sie nur dort, wo neue Konten akzeptabel sind, beispielsweise mit einer Google Workspace-App, die auf Ihre Domain beschränkt ist.
Die Anmeldung über GitHub und Google ist via OAuth verfügbar. Registrieren Sie eine App mit dem Callback ${PUBLIC_ und fügen Sie deren Anmeldedaten hinzu:
PUBLIC_URL=https://pentagi.example.com
OAUTH_GITHUB_CLIENT_ID=your_github_client_id
OAUTH_GITHUB_CLIENT_SECRET=your_github_client_secretNetzwerkzugriff
Standardmäßig lauscht die PentAGI-Weboberfläche nur auf 127.0.0.1. Um von anderen Rechnern darauf zuzugreifen:
PENTAGI_LISTEN_IP=0.0.0.0
PENTAGI_LISTEN_PORT=8443
PUBLIC_URL=https://192.168.1.100:8443
CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443Verwenden Sie die tatsächliche Adresse in PUBLIC_ und CORS_, niemals 0.0.0.0. Erstellen Sie die Container mit docker compose up -d --force-recreate neu und öffnen Sie Port 8443 in der Firewall.
Hinter einem Reverse-Proxy setzen Sie TRUSTED_ auf die Adresse oder das CIDR des Proxys, durch Kommas getrennt. Andernfalls scheint jede Anfrage vom Proxy zu kommen, und das Anmelde-Limit pro Adresse – 30 fehlgeschlagene Versuche in fünf Minuten, dann eine 15-minütige Sperrung – wird von allen Nutzern gemeinsam genutzt.
Jeder Sandbox-Container eines FlowFlowEin Durchlauf von PentAGI: ein Ziel, die aus Ihren Nachrichten erstellten Aufgaben und alles, was die Agenten dabei getan haben. veröffentlicht außerdem zwei Ports für Out-of-Band-Callbacks, beispielsweise für Reverse Shells. Sie stammen aus den 2000 Ports, die bei DOCKER_ beginnen (Standard 28000) und an DOCKER_ gebunden sind, die Adresse, die die AgentsAgentEin KI-Agent von PentAGI: ein Modell mit eigenem Prompt, Einstellungen und Tools, das eine bestimmte Art von Arbeit in einem Flow erledigt, wie z. B. Testen, Code schreiben oder Websuche. auch Zielen für Rückrufe angeben.
Standardmäßig ist DOCKER_ auf 0.0.0.0 eingestellt: Die Ports lauschen auf allen Schnittstellen des Docker-Hosts, und die Agents ermitteln ihre öffentliche Adresse selbst. Legen Sie nur dann eine spezifische Adresse fest, wenn der Host diese Adresse besitzt und die Ziele sie erreichen können; hinter NAT behalten Sie den Standardwert bei. Von Docker veröffentlichte Ports umgehen ufw- und firewalld-Regeln auf dem Host, schränken Sie den Bereich daher mit einer Firewall vor dem Host ein, beispielsweise einer Cloud-Sicherheitsgruppe, oder mit Regeln in der DOCKER-USER-Kette von Docker.
PROXY_ leitet die Aufrufe des Backends an Modell-Provider, den Embedding-Provider, Such-APIs und die Update-Prüfung über einen Proxy weiter, was hilft, die Installation von externen Netzwerken zu isolieren. Selbst gehostete Endpunkte wie Ollama, vLLM oder SearXNG laufen ebenfalls darüber, da es keine NO_-Ausnahme gibt; der Proxy muss sie daher erreichen können. Die Sandbox-Container der Flows, in denen die Agents ihre Befehle ausführen, der Scraper, der Webseiten für das Browser-Tool öffnet, und der Graphiti-Dienst verwenden ihn nicht; beschränken Sie daher deren ausgehenden Datenverkehr auf Netzwerkebene. Die Anmeldung mit GitHub oder Google sowie Aufrufe an einen Langfuse- oder OpenTelemetry-Endpunkt außerhalb der gebündelten Stacks verwenden ihn ebenfalls nicht, und der Docker-Daemon lädt Images mit seinen eigenen Proxy-Einstellungen herunter.
Update-Prüfung
Innerhalb von zwei Minuten nach dem Start und dann alle drei Stunden fragt der Server update.pentagi.com, ob ein neuerer Build verfügbar ist. Die Anfrage enthält die Installations-ID, den Lizenzschlüssel, falls einer gesetzt ist, die Version und Plattform sowie eine Zusammenfassung der Installation: den konfigurierten Provider und die Anmeldearten, einige Feature-Schalter, die Anzahl der Benutzer, Flows, TasksTask — AufgabeEine Anfrage in einem Flow: ihre erste Nachricht oder eine spätere Nachricht, die keine Antwort auf eine Frage eines Agenten ist. PentAGI unterteilt jede Aufgabe in Teilaufgaben., Container, Prompts, API-Tokens und Tool CallsTool Call — Tool-AufrufEine Anfrage des Modells, eines der Tools des Agenten auszuführen, wie einen Terminalbefehl oder eine Websuche. sowie die Token- und Kostensummen pro Providertyp – keine Namen, Adressen, Prompts oder Flow-Inhalte. UPDATE_ schaltet dies ab. Bei jedem Start des Installers und nach jeder ausgeführten Aktion, wie Apply Changes, Update, Start oder Stop, sendet dieser die installierten Images und den Status jedes Stacks sowie dieselbe Zusammenfassung, solange PentAGI läuft; UPDATE_ hat darauf keinen Einfluss.
Der Container pentagi läuft als Root, da er Container über den Docker-Socket verwaltet. Für eine stärkere Isolation führen Sie die ToolsToolDas, womit ein Agent handelt: eine eingebaute Fähigkeit wie das Terminal, der isolierte Browser oder die Websuche oder ein Programm in der Sandbox wie nmap, metasploit oder sqlmap. auf einem separaten Worker Node aus.
Zuletzt aktualisiert am