Beveiliging
Inloggegevens, HTTPS, aanmelden en netwerktoegang van een PentAGI-installatie.
Wijzig de standaardinstellingen
Een nieuwe installatie maakt de lokale beheerder [email protected] aan met het wachtwoord admin, dat je bij de eerste aanmelding moet wijzigen. Als je het wachtwoord kwijtraakt, stelt het onderhoudsmenu van het installatieprogramma het opnieuw in, zolang het account nog steeds het [email protected]-adres gebruikt.
Stel deze waarden in .env in vóór de eerste start; het installatieprogramma genereert de salt en de wachtwoorden voor je. PostgreSQL en Neo4j nemen hun inloggegevens alleen over wanneer ze hun datavolumes aanmaken, dus als je ze later wijzigt, werkt de verbinding niet meer:
| Variabele | Doel |
|---|---|
COOKIE_ | Ondertekent sessiecookies en API-tokens — stel een willekeurige waarde in |
PENTAGI_, PENTAGI_ | PostgreSQL-inloggegevens |
NEO4J_ | Neo4j-wachtwoord voor de knowledge graphknowledge graph — kennisgraafDe graaf van hosts, services, kwetsbaarheden en de toegang ertussen die PentAGI tijdens een test opbouwt wanneer deze optionele functie is ingeschakeld. Het laat zien hoe bevindingen met elkaar verbonden zijn.; NEO4J_ moet neo4j blijven |
PUBLIC_ | De URL die gebruikers openen, bijvoorbeeld https:/ |
Bij een draaiende installatie wijzig je eerst een database-wachtwoord in PostgreSQL of Neo4j, en daarna in .env.
HTTPS
PentAGI biedt HTTPS aan op poort 8443 met een zelfondertekend certificaat. Om je eigen certificaat te gebruiken, stel je SERVER_ en SERVER_ in en koppel je de bestanden in docker-compose.yml.
Gebruikers en aanmelden
Er is geen registratieformulier. Beheerders beheren lokale gebruikers via de Users API (/) vanuit een ingelogde browsersessie — een API-token krijgt daar een 403-fout — en rollen beperken wat elke gebruiker kan zien en wijzigen. Lokale gebruikers wijzigen hun eigen e-mailadres en wachtwoord onder Settings → Account.
Als aanmelden via GitHub of Google is geconfigureerd, logt een login waarvan de door de provider geverifieerde e-mail overeenkomt met een bestaand account (lokale accounts inbegrepen) in op dat account met de bijbehorende rol; elke andere login krijgt een nieuw account met de standaard gebruikersrol. Elke installatie begint met de administrator [email protected], dus verplaats deze naar een adres dat je beheert onder Settings → Account voordat je aanmelding inschakelt, en schakel het alleen in waar nieuwe accounts acceptabel zijn, bijvoorbeeld met een Google Workspace-app die beperkt is tot je domein.
Aanmelden via GitHub en Google is beschikbaar via OAuth. Registreer een app met de callback ${PUBLIC_ en voeg de inloggegevens toe:
PUBLIC_URL=https://pentagi.example.com
OAUTH_GITHUB_CLIENT_ID=your_github_client_id
OAUTH_GITHUB_CLIENT_SECRET=your_github_client_secretNetwerkblootstelling
Standaard luistert de webinterface van PentAGI alleen op 127.0.0.1. Om deze vanaf andere machines te bereiken:
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:8443Gebruik het echte adres in PUBLIC_ en CORS_, nooit 0.0.0.0. Maak de containers opnieuw aan met docker compose up -d --force-recreate en open poort 8443 in de firewall.
Achter een reverse proxy stel je TRUSTED_ in op het adres of de CIDR van de proxy, gescheiden door komma's. Anders lijkt elk verzoek afkomstig te zijn van de proxy en wordt de aanmeldlimiet per adres — 30 mislukte pogingen binnen vijf minuten, gevolgd door een vergrendeling van 15 minuten — gedeeld door alle gebruikers.
Elke sandbox-container van een flowflowEén run van PentAGI: een doel, de taken die uit je berichten zijn gemaakt, en alles wat de agents onderweg hebben gedaan. publiceert ook twee poorten voor out-of-band callbacks, zoals reverse shells. Ze komen uit de 2000 poorten die beginnen bij DOCKER_ (standaard 28000) en zijn gebonden aan DOCKER_, het adres dat de agentsagentEen AI-agent van PentAGI: een model met zijn eigen prompt, instellingen en tools dat één soort werk in een flow doet, zoals testen, code schrijven of het web doorzoeken. ook aan targets geven om terug te bellen naar.
Standaard is DOCKER_ ingesteld op 0.0.0.0: de poorten luisteren op elke interface van de Docker-host en de agents zoeken hun openbare adres zelf op. Stel dit alleen in op een specifiek adres als de host dat adres bezit en de targets het kunnen bereiken; achter NAT houd je de standaardinstelling aan. Poorten die Docker publiceert, omzeilen ufw- en firewalld-regels op de host, dus beperk het bereik met een firewall voor de host, zoals een cloud security group, of met regels in de DOCKER-USER-keten van Docker.
PROXY_ stuurt de oproepen van de backend naar modelproviders, de embeddingprovider, zoek-API's en de updatecontrole via een proxy, wat helpt om de installatie te isoleren van externe netwerken. Zelfgehoste eindpunten zoals Ollama, vLLM of SearXNG gaan er ook doorheen, aangezien er geen NO_-uitzondering is, dus de proxy moet ze kunnen bereiken. De sandboxcontainers van de flows, waar de agents hun commando's uitvoeren, de scraper, die webpagina's opent voor de browsertool, en de Graphiti-service maken hier geen gebruik van, dus beperk hun uitgaande verkeer op netwerkniveau. Aanmelden met GitHub of Google en oproepen naar een Langfuse- of OpenTelemetry-eindpunt buiten de meegeleverde stacks maken hier ook geen gebruik van, en de Docker-daemon haalt images op met zijn eigen proxy-instellingen.
Updatecontrole
Binnen twee minuten na het starten en daarna elke drie uur vraagt de server aan update.pentagi.com of er een nieuwere build beschikbaar is. Het verzoek bevat de installatie-ID, de licentiesleutel als deze is ingesteld, de versie en het platform, en een samenvatting van de installatie: de geconfigureerde provider en aanmeldingstypen, een paar functieschakelaars, aantallen gebruikers, flows, taskstask — taakEén verzoek in een flow: het eerste bericht, of een later bericht dat geen antwoord is op een vraag van een agent. PentAGI splitst elke taak op in subtaken., containers, prompts, API-tokens en tool callstool callEen verzoek van het model om een van de tools van de agent uit te voeren, zoals een terminalopdracht of een webzoekopdracht., en token- en kostentotalen per providertype — geen namen, adressen, prompts of flow-inhoud. UPDATE_ schakelt dit uit. Telkens wanneer de installer start en na elke actie die deze uitvoert, zoals Apply Changes, Update, Start of Stop, verzendt deze de geïnstalleerde images en de status van elke stack, plus dezelfde samenvatting zolang PentAGI draait; UPDATE_ heeft hier geen invloed op.
De container pentagi draait als root omdat deze containers beheert via de Docker-socket. Voor een sterkere isolatie draai je de toolstoolWaarmee een agent handelt: een ingebouwde mogelijkheid zoals de terminal, de geïsoleerde browser of webzoeken, of een programma in de sandbox zoals nmap, metasploit of sqlmap. op een aparte worker node.
Laatst bijgewerkt op