跳至主要內容
PentAGI
部署

Worker node

在獨立且經過安全強化的伺服器上執行 agent 容器,與主要 PentAGI 主機分離。

在生產環境中,請勿讓不受信任的 tool 執行於運行 PentAGI 的機器上。Worker node 會將 agents 的容器託管在受 TLS 保護的 Docker 端點之後,因此 agent 執行的命令絕不會接觸到主要主機。

Main node running PentAGI and a separate worker node running the tool containers

Worker node

Main node

TLS, creates workers

TLS

PentAGI

Host Docker :2376 TLS

Docker-in-Docker :3376 TLS
authorization policy + seccomp

Worker containers

Nested containers

為何需要 worker node

  • 隔離性。 Tool 容器運行於專用硬體上,並擁有獨立的網路邊界。
  • 受控的 Docker 存取權限。 需要使用 Docker 的 agents 會透過授權原則與強化過的 Docker-in-Docker 守護程式通訊,而非直接連接主機的守護程式。
  • 帶外測試。 Worker node 上的專用連接埠範圍可支援 OOB 回調。

連線模式

  • 標準(推薦) — PentAGI 透過 TLS 連線至 worker node 的主機 Docker 以建立工作容器;工作容器則透過其 TLS 端點存取 Docker-in-Docker。請將 DOCKER_INSIDE=true 與 DOCKER_INSIDE_HOST、DOCKER_INSIDE_TLS_VERIFY 和 DOCKER_INSIDE_CERT_PATH 一起設定,並將 DOCKER_SOCKET 留空:否則 .env 範本的 /var/run/docker.sock 也會將 worker node 的主機 Docker socket 掛載至每個 sandbox。若沒有 DOCKER_INSIDE_HOST,agent 將無法存取 Docker。
  • 直接 — PentAGI 直接與 Docker-in-Docker 通訊;此時主機的綁定掛載會被原則拒絕,因此必須停用 agents 的 Docker 存取權限。

設定方式

完整的設定程序——包含兩個守護程式的 TLS 憑證、強化過的 Docker-in-Docker 組態、原則更新與驗證——皆詳述於儲存庫中的 worker node 指南。

最後更新於