Přejít na obsah
PentAGI
Konfigurace

Zabezpečení

Přihlašovací údaje, HTTPS, přihlášení a síťová expozice instalace PentAGI.

Změna výchozích nastavení

Čerstvá instalace vytvoří místního administrátora [email protected] s heslem admin, které je nutné změnit při prvním přihlášení. Pokud heslo zapomenete, údržbové menu instalátoru jej obnoví, pokud účet stále používá adresu [email protected].

Tyto hodnoty nastavte v .env před prvním spuštěním; instalátor pro vás vygeneruje sůl a hesla. PostgreSQL a Neo4j přijímají své přihlašovací údaje pouze při vytváření svých datových svazků, takže jejich pozdější změna přeruší připojení:

ProměnnáÚčel
COOKIE_SIGNING_SALTPodepisuje relační cookies a API tokeny — nastavte náhodnou hodnotu
PENTAGI_POSTGRES_USER, PENTAGI_POSTGRES_PASSWORDPřihlašovací údaje k PostgreSQL
NEO4J_PASSWORDHeslo k Neo4j pro knowledge graph; NEO4J_USER musí zůstat neo4j
PUBLIC_URLURL, kterou uživatelé otevírají, například https://pentagi.example.com

Na běžící instalaci nejprve změňte heslo k databázi v PostgreSQL nebo Neo4j a poté v .env.

HTTPS

PentAGI poskytuje HTTPS na portu 8443 s certifikátem podepsaným samým sebou. Chcete-li použít vlastní certifikát, nastavte SERVER_SSL_CRT a SERVER_SSL_KEY a připojte soubory do docker-compose.yml.

Uživatelé a přihlášení

Registrační formulář není k dispozici. Administrátoři spravují místní uživatele prostřednictvím Users API (/api/v1/users/) z přihlášené relace prohlížeče — API token zde obdrží chybu 403 — a role omezují, co může každý uživatel zobrazit a měnit. Místní uživatelé mění svůj e-mail a heslo v sekci Settings → Account.

Pokud je nakonfigurováno přihlášení přes GitHub nebo Google, přihlášení, jehož e-mail ověřený poskytovatelem odpovídá existujícímu účtu (včetně místních účtů), se přihlásí k tomuto účtu s jeho rolí; jakékoli jiné přihlášení získá nový účet s výchozí uživatelskou rolí. Každá instalace začíná s administrátorem [email protected], takže jej před povolením přihlašování přesuňte na adresu, kterou ovládáte, v části Settings → Account, a povolte jej pouze tam, kde jsou nové účty přijatelné, například u aplikace Google Workspace omezené na vaši doménu.

Přihlášení přes GitHub a Google je dostupné prostřednictvím OAuth. Zaregistrujte aplikaci se zpětným voláním ${PUBLIC_URL}/api/v1/auth/login-callback a přidejte její přihlašovací údaje:

PUBLIC_URL=https://pentagi.example.com
OAUTH_GITHUB_CLIENT_ID=your_github_client_id
OAUTH_GITHUB_CLIENT_SECRET=your_github_client_secret

Vystavení do sítě

Ve výchozím nastavení naslouchá webové rozhraní PentAGI pouze na 127.0.0.1. Chcete-li k němu přistupovat z jiných počítačů:

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:8443

V PUBLIC_URL a CORS_ORIGINS použijte skutečnou adresu, nikdy ne 0.0.0.0. Kontejnery znovu vytvořte pomocí docker compose up -d --force-recreate a otevřete port 8443 ve firewallu.

Za reverzní proxy nastavte TRUSTED_PROXIES na adresu nebo CIDR proxy, oddělené čárkami. V opačném případě se každý požadavek bude jevit jako pocházející z proxy a limit přihlášení na adresu – 30 neúspěšných pokusů během pěti minut, následovaných 15minutovým uzamčením – budou sdílet všichni uživatelé.

Každý sandbox kontejner flow také publikuje dva porty pro out-of-band callbacky, například pro reverse shelly. Tyto porty pocházejí z rozsahu 2000 portů začínajících na DOCKER_PORTS_BASE (výchozí 28000) a jsou navázány na DOCKER_PUBLIC_IP, což je adresa, kterou agenti také poskytují cílům pro zpětné volání.

Ve výchozím nastavení je DOCKER_PUBLIC_IP nastaveno na 0.0.0.0: porty naslouchají na každém rozhraní hostitele Dockeru a agenty si svou veřejnou adresu vyhledávají samy. Nastavte konkrétní adresu pouze v případě, že ji hostitel vlastní a cíle se k ní mohou připojit; za NAT ponechte výchozí hodnotu. Porty, které Docker publikuje, obcházejí pravidla ufw a firewalld na hostiteli, takže omezte rozsah pomocí firewallu před hostitelem, například cloudové bezpečnostní skupiny, nebo pomocí pravidel v řetězci DOCKER-USER aplikace Docker.

PROXY_URL směruje volání backendu k poskytovatelům modelů, poskytovateli vektorových reprezentací, rozhraním API pro vyhledávání a kontrole aktualizací prostřednictvím proxy serveru, což pomáhá izolovat instalaci od externích sítí. Samoobslužné koncové body, jako jsou Ollama, vLLM nebo SearXNG, jím procházejí také, protože neexistuje žádná výjimka NO_PROXY, takže proxy server musí mít možnost je dosáhnout. Kontejnery sandboxu flow, kde agenti spouštějí své příkazy, scraper, který otevírá webové stránky pro nástroj prohlížeče, a služba Graphiti jej nepoužívají, proto omezte jejich odchozí provoz na úrovni sítě. Přihlašování přes GitHub nebo Google a volání koncového bodu Langfuse nebo OpenTelemetry mimo dodávané stacky jej rovněž nepoužívají a démon Docker stahuje obrazy s vlastním nastavením proxy serveru.

Kontrola aktualizací

Během dvou minut od spuštění a poté každé tři hodiny se server dotazuje update.pentagi.com, zda je k dispozici novější sestavení. Požadavek obsahuje ID instalace, licenční klíč, pokud je nastaven, verzi a platformu a souhrn instalace: nakonfigurovaný provider a typy přihlášení, několik přepínačů funkcí, počty uživatelů, flow, task, kontejnerů, promptů, tokenů API a tool call a celkové součty tokenů a nákladů podle typu provider — žádná jména, adresy, prompty ani obsah flow. UPDATE_CHECK_INTERVAL=0 tuto funkci vypne. Při každém spuštění instalátoru a po každé akci, kterou provede, jako jsou Apply Changes, Update, Start nebo Stop, odešle nainstalované obrazy a stav každého stacku a během běhu PentAGI také stejný souhrn; UPDATE_CHECK_INTERVAL jej neovlivňuje.

Kontejner pentagi běží pod uživatelem root, protože spravuje kontejnery prostřednictvím socketu Docker. Pro silnější izolaci spusťte tools na samostatném worker node.

Naposledy aktualizováno