GNX Identity-to-Execution Logic Engine · Enterprise Review Document
GNX Identity-to-Execution Logic Engine — Deployment Guide
1. 문서 목적
본 문서는 GNX Identity-to-Execution Logic Engine의 운영 배치, 런타임 구성, 서비스 확인, 배포 후 검증 절차를 정의한다.
본 엔진은 IAM 대체재가 아니다. 기존 IAM, API Gateway, AI Agent Runtime, 통신·금융 보안 시스템 앞단 또는 후단에 결합되는 execution evidence gate다.
계약서상 정의는 다음과 같다.
입력·신원·표시상태·세션증거·실행권한을 하나의 검증 가능한 증거 체인으로 묶어, 조건 없는 실행을 fail-closed 방식으로 차단하는 실행통제 엔진.
2. 운영 표면
| 표면 | 주소 | 역할 |
|---|---|---|
| 공개 검증 표면 | https://logicnoid.co.kr | 제품 정의 및 검증 표면 |
| API 표면 | https://api.logicnoid.co.kr | WNS, Bident, Display, Execution, Audit API |
| 관리자 표면 | https://admin.logicnoid.co.kr | signed admin challenge 기반 관리자 표면 |
| 검증 표면 | https://verify.logicnoid.co.kr | evidence verification 확장 표면 |
| 문서 표면 | https://docs.logicnoid.co.kr | 제출 문서 및 검증 문서 표면 |
3. 런타임 경로
| 항목 | 경로 |
|---|---|
| 제품 루트 | /opt/gnx/identity2execution |
| 엔진 루트 | /opt/gnx/identity2execution/engine |
| 서버 코드 | /opt/gnx/identity2execution/engine/src/server.ts |
| 환경 파일 | /opt/gnx/identity2execution/.env.production |
| 공개 표면 | /opt/gnx/identity2execution/surface/public |
| OpenAPI | /opt/gnx/identity2execution/engine/openapi/openapi.yaml |
| 문서 | /opt/gnx/identity2execution/docs |
| systemd unit | /etc/systemd/system/gnx-i2e.service |
| Nginx site | /etc/nginx/sites-available/gnx-i2e |
4. 필수 서비스
| 서비스 | 역할 |
|---|---|
| postgresql | 증거, 세션 기준 데이터, 감사 체인 저장 |
| redis-server | 세션, nonce, one-time execution handle, rate limit |
| gnx-i2e | Identity-to-Execution 엔진 |
| nginx | HTTPS reverse proxy 및 public surface serving |
5. 정상 상태 확인
필수 서비스는 모두 active여야 한다.
명령:
systemctl is-active postgresql
systemctl is-active redis-server
systemctl is-active gnx-i2e
systemctl is-active nginx
포트 확인:
sudo ss -lntp | grep 3300
기대값:
127.0.0.1:3300 LISTEN
엔진은 외부 인터페이스에 직접 바인딩하지 않는다.
6. 로컬 엔진 확인
명령:
curl -sS http://127.0.0.1:3300/health/ready | jq
필수 확인값:
- ok:true
- product: GNX Identity-to-Execution Logic Engine
- state: READY
- db: READY
- redis: READY
- rawAdminTokenReturned:false
- rawTunnelTicketReturned:false
- publicVaultEnabled:false
7. 공개 API 확인
명령:
curl -sS https://api.logicnoid.co.kr/health/ready | jq
필수 확인값은 로컬 엔진 확인과 동일하다.
8. Nginx 확인
명령:
sudo nginx -t
systemctl is-active nginx
Nginx 역할:
- logicnoid.co.kr 정적 검증 표면 제공
- api.logicnoid.co.kr을 127.0.0.1:3300으로 reverse proxy
- admin.logicnoid.co.kr, verify.logicnoid.co.kr, docs.logicnoid.co.kr 도메인 분리
- 외부에서 엔진 포트 3300 직접 접근 차단
9. TLS 확인
명령:
curl -I https://logicnoid.co.kr
curl -I https://api.logicnoid.co.kr
필수 조건:
- HTTPS 응답
- 유효 인증서
- API는 health/ready JSON 응답 가능
10. 보안 수용 테스트
명령:
cd /opt/gnx/identity2execution/engine
GNX_TEST_BASE="https://api.logicnoid.co.kr" ./tests/security/security-acceptance.sh
PASS 기준:
SECURITY_ACCEPTANCE_PASS
검증 항목:
- CSRF 없는 상태 변경 요청 차단
- Bident session 없는 execution authorize 차단
- WNS receipt 없는 execution authorize 차단
- Display lock 없는 execution authorize 차단
- display nonce replay 차단
- execution nonce replay 차단
- execution handle 재사용 차단
- public vault 제거 확인
- old policy endpoint 410 확인
- audit receipt 확인
11. 관리자 signed challenge 테스트
명령:
cd /opt/gnx/identity2execution/engine
GNX_TEST_BASE="https://api.logicnoid.co.kr" ./tests/admin/admin-signed-challenge-test.sh
PASS 기준:
ADMIN_SIGNED_CHALLENGE_PASS
필수 확인값:
- ADMIN_SESSION_BOUND
- rawAdminTokenReturned:false
- admin audit event 생성
- raw admin token 미반환
12. 운영 재시작 절차
재시작은 상태 확인 후 수행한다.
명령:
sudo systemctl restart gnx-i2e
sleep 2
sudo systemctl status gnx-i2e --no-pager -l
curl -sS https://api.logicnoid.co.kr/health/ready | jq
재시작 후 반드시 health/ready를 확인한다.
13. 배포 후 PASS 기준
| 항목 | 기준 |
|---|---|
| systemd | gnx-i2e active |
| 포트 | 127.0.0.1:3300 LISTEN |
| DB | READY |
| Redis | READY |
| Public API | https://api.logicnoid.co.kr/health/ready ok:true |
| Public vault | publicVaultEnabled:false |
| Raw admin token | rawAdminTokenReturned:false |
| Raw tunnel ticket | rawTunnelTicketReturned:false |
| Security acceptance | SECURITY_ACCEPTANCE_PASS |
| Admin challenge | ADMIN_SIGNED_CHALLENGE_PASS |
14. 금지 사항
운영 중 다음을 수행하지 않는다.
- 실제 백업 파일 없이 pg_restore 실행 금지
- placeholder 경로 사용 금지
- public vault 재도입 금지
- gnxceo fallback 또는 fallback password 도입 금지
- raw admin token 응답 금지
- raw tunnelTicket 응답 금지
- IAM 대체재로 표현 금지
- OpenAPI, Threat Model, Runbook을 검증 없이 완료 처리 금지
Domain Architecture Policy
logicnoid.co.kr 루트 도메인은 현재 EC2 A 레코드 기반의 직접 랜딩 표면으로 유지한다.
엔터프라이즈 검증에 필요한 www, api, admin, verify, docs 표면은 CloudFront 및 AWS WAF 경유로 운영한다.
루트 도메인의 CloudFront 일원화는 Route 53 Alias 또는 Gabia의 ALIAS/ANAME 지원 여부에 따라 후속 전환한다.