프로덕션
팀을 위한 PentAGI 운영 — 보안 강화, 격리, Podman 및 다중 인스턴스 구성.
체크리스트
- 첫 번째 시작 전에 모든 자격 증명(
COOKIE_포함)을 설정하세요 — 보안을 참고하세요. 설치 프로그램은 salt와 서비스 비밀번호를 생성하지만, Langfuse 및 Grafana 관리자 비밀번호는 생성하지 않습니다: Langfuse가 처음 시작하기 전에 템플릿에서SIGNING_ SALT LANGFUSE_,INIT_ USER_ PASSWORD password를 설정하고, Grafana가 처음 시작된 후 기본admin/admin를 변경하세요. 실행 중인 설치 환경에서는.env에서 변경하기 전에 데이터베이스 내부의 PostgreSQL 및 Neo4j 비밀번호를 먼저 변경하세요. - 정식 인증서와 안정적인
PUBLIC_를 제공하세요.URL - 리버스 프록시 뒤에서
TRUSTED_을 프록시의 주소 또는 CIDR로 설정하십시오. 그렇지 않으면 모든 사용자가 프록시의 주소를 공유하게 되며, 5분 이내에 30번의 로그인 실패가 발생하면 모든 사용자가 15분 동안 잠금됩니다.PROXIES - Tooltool — 도구에이전트가 작업에 사용하는 수단입니다. 터미널, 격리된 브라우저, 웹 검색 같은 내장 기능이나 nmap, metasploit, sqlmap 같은 샌드박스 안의 프로그램입니다. 실행을 전용 worker node로 이동하세요.
- 비용과 장애를 추적할 수 있도록 관측 가능성을 활성화하세요.
- Knowledge graphknowledge graph — 지식 그래프이 선택적 기능이 활성화되면 PentAGI가 테스트 중에 구축하는 호스트, 서비스, 취약점 및 이들 간의 접근 관계를 나타내는 그래프입니다. 발견 사항들이 어떻게 연결되는지 보여줍니다.와 Langfuse는 프라이빗 네트워크에 두세요.
Podman
PentAGI는 Docker뿐만 아니라 Podman에서도 실행됩니다. 루트리스 모드에서는 루트리스 컨테이너가 특권 포트에 바인딩할 수 없어 scraper 서비스에 추가 구성이 필요합니다. 리포지토리 README에 루트리스 및 루트풀 설정이 설명되어 있습니다.
여러 인스턴스 (TENANT_ ID)
단일 설치에서는 TENANT_를 비워두고, 기존 설치에서도 비워두세요: 나중에 이 값을 설정하면 인스턴스가 기본 [email protected] 계정으로 시작하는 새로운 빈 스키마로 이동하며, 해당 flowflow — 플로우PentAGI의 한 번 실행: 목표, 사용자의 메시지에서 생성된 작업, 그리고 에이전트들이 수행한 모든 활동을 포함합니다., 사용자 및 설정은 더 이상 표시되지 않습니다. 하나의 PostgreSQL 서버, 하나의 worker nodeworker node — 워커 노드에이전트의 도구 컨테이너를 실행하는 별도의 서버로, 실행되는 명령어가 메인 PentAGI 호스트에 영향을 주지 않도록 합니다., 하나의 Neo4j 또는 하나의 Langfuse 등 외부 리소스를 여러 PentAGI 인스턴스가 공유할 때 추가하는 인스턴스에서 이 값을 설정하세요:
| 영역 | TENANT_의 영향 |
|---|---|
| PostgreSQL | public 대신 acme 스키마 내에서 동작합니다 |
| 워커 컨테이너 | 이름이 acme-pentagi-terminal-<flow>로 지정됩니다 |
| Knowledge graph | 그룹 ID가 acme-flow-<id>가 됩니다 |
| 인증 | 쿠키 및 토큰 키에 tenanttenant — 테넌트PentAGI 설치 한 건. 여러 설치가 하나의 PostgreSQL 데이터베이스 같은 외부 자원을 공유할 때, 추가하는 각 설치에는 고유한 TENANT_ID가 부여되며 기존 설치는 비워 둡니다.가 포함됩니다 |
| 텔레메트리 | Langfuse 및 OpenTelemetry 데이터에 tenant 태그가 부여됩니다 |
값은 ^[a-z][a-z0-9_ 패턴과 일치해야 합니다. 호스트 리소스는 네임스페이스로 구분되지 않습니다. 한 서버의 인스턴스는 각각 고유한 DATA_와 노출된 포트가 필요합니다. sandboxsandbox — 샌드박스에이전트가 도구를 실행하는 격리된 Docker 컨테이너입니다. 인터페이스에서는 Terminal로 표시됩니다.가 동일한 Docker 호스트(한 서버 또는 공유 worker node)에서 실행되는 인스턴스는 자체 DOCKER_와 설정된 경우 자체 DOCKER_이 필요합니다. 그렇지 않으면 sandbox가 동일한 포트를 점유하여 flow가 시작되지 않습니다. 각 기본값은 2000개 포트 범위(기본값 28000)를 시작하므로, 예를 들어 28000 및 30000을 사용하십시오.
최종 업데이트: