生產環境
為團隊執行 PentAGI — 強化、隔離、Podman 與多個執行個體。
檢查清單
- 在首次啟動前設定所有憑證,包括
COOKIE_— 請參閱安全性。安裝程式會產生 salt 與服務密碼,但不會產生 Langfuse 和 Grafana 管理員密碼:請在 Langfuse 首次啟動前,於範本中設定SIGNING_ SALT LANGFUSE_、INIT_ USER_ PASSWORD password,並在 Grafana 首次啟動後變更其預設的admin/admin。在已運行的安裝環境中,請先在資料庫內變更 PostgreSQL 與 Neo4j 密碼,再於.env中變更。 - 使用真實憑證與穩定的
PUBLIC_。URL - 若位於反向代理後方,請將
TRUSTED_設為該代理的位址或 CIDR。否則所有使用者將共用該代理位址,導致 5 分鐘內累積 30 次登入失敗時,所有人皆會被鎖定 15 分鐘。PROXIES - 將 tooltool — 工具代理執行操作所用的手段:終端機、隔離瀏覽器或網路搜尋等內建功能,或沙盒中的程式,例如 nmap、metasploit 或 sqlmap。 執行移至專用的 worker node。
- 啟用可觀測性,以便您追蹤成本與失敗情況。
- 將 knowledge graphknowledge graph — 知識圖譜當啟用此選用功能時,PentAGI 在測試期間建立的主機、服務、弱點及其之間存取關係的圖譜。它顯示發現項目之間的關聯。 與 Langfuse 置於私有網路中。
Podman
PentAGI 可在 Podman 及 Docker 上執行。在無根模式下,scraper 服務需要額外設定,因為無根容器無法綁定特權連接埠;儲存庫 README 中說明了無根與有根模式的設定方式。
多個實例 (TENANT_ ID)
單一安裝時請將 TENANT_ 留空,並在現有安裝上保持其為空:稍後設定此值會將實例移至一個新的、空的 schema,該 schema 會以預設的 [email protected] 帳戶開始,而其 flowflow — 流程PentAGI 的一次執行:一個目標、從您的訊息建立的任務,以及代理在此過程中執行的所有操作。、使用者和設定將不再顯示。當多個 PentAGI 實例共用外部資源(例如一部 PostgreSQL 伺服器、一個 worker nodeworker node — 工作節點執行代理工具容器的獨立伺服器,因此其執行的指令絕不會影響主要的 PentAGI 主機。、一個 Neo4j 或一個 Langfuse)時,請在您新增的實例上設定此值:
| 領域 | TENANT_ 的影響 |
|---|---|
| PostgreSQL | 在 acme 結構描述內運作,而非 public |
| 工作容器 | 命名為 acme-pentagi-terminal-<flow> |
| Knowledge graph | 群組 ID 變為 acme-flow-<id> |
| 驗證 | Cookie 與權杖金鑰包含 tenanttenant — 租戶一個 PentAGI 安裝實體。當多個安裝實體共用外部資源(例如同一個 PostgreSQL 資料庫)時,您新增的每個安裝實體都會獲得自己的 TENANT_ID;現有的安裝實體則保持空白。 識別碼 |
| 遙測 | Langfuse 與 OpenTelemetry 資料會標記 tenant 識別碼 |
該值必須與 ^[a-z][a-z0-9_ 相符。主機資源不具備命名空間隔離。同一部伺服器上的實例需要各自的 DATA_ 與公開連接埠。sandboxsandbox — 沙盒代理執行工具的隔離 Docker 容器。介面中將其顯示為 Terminal。 執行於同一個 Docker 主機(無論是在單一伺服器或共用的 worker node)的實例,需要各自的 DOCKER_,以及若已設定則需各自的 DOCKER_;否則它們的 sandbox 會佔用相同的連接埠,導致 flow 無法啟動。每個 base 會開啟一個 2000 個連接埠的區間,預設從 28000 開始,因此例如可使用 28000 與 30000。
最後更新於