Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
enterprise-abac-gateway — Go로 구현된 제로 트러스트 리버스 프록시 및 ABAC 인가 게이트웨이로, 내장된 OPA 정책 평가와 분산 토큰 폐기를 지원합니다. | Kitploit
도구/GitLabGitLab/kavryxdev-group/enterprise-abac-gateway
Authentication & AuthorizationDefensive ToolsWeb Proxies & InterceptionNetwork SecurityCloud SecurityIdentity & Access Management (IAM)
GitLabkavryxdev-group/enterprise-abac-gateway

enterprise-abac-gateway

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Go로 구현된 제로 트러스트 리버스 프록시 및 ABAC 인가 게이트웨이로, 내장된 OPA 정책 평가와 분산 토큰 폐기를 지원합니다.

저장소 보기
511일 전아직 검토되지 않음

🛡️ 엔터프라이즈 세밀한 속성 기반 접근 제어(ABAC) 게이트웨이

Go Version OPA Engine Redis Cache PostgreSQL NIST Compliance Latency SLA License

Go로 구축된 고성능 제로 트러스트 리버스 프록시 및 인가 게이트웨이로, 내장된 Open Policy Agent(OPA) 엔진, 5ms 미만의 결정 지연 시간, Redis Pub/Sub을 통한 실시간 분산 토큰 폐기, 그리고 암호학적으로 변조 방지가 가능한 감사 로깅을 제공합니다.


📌 개요

현대의 클라우드 네이티브 및 멀티테넌트 플랫폼은 정적 역할 기반 접근 제어(RBAC)보다 훨씬 세밀한 인가 패러다임을 요구합니다. 고신뢰 환경에서는 인가가 요청자가 누구인지(주체), 수행하려는 작업이 무엇인지(행위), 어떤 데이터 분류가 적용되는지(리소스), 그리고 실시간 운영 컨텍스트(환경)를 동적으로 종합해야 합니다.

엔터프라이즈 세밀한 ABAC 게이트웨이는 백엔드 마이크로서비스를 앞단에서 보호하는 중앙 집중식 정책 시행 지점(PEP) 및 정책 결정 지점(PDP) 역할을 합니다. NIST SP 800-162(ABAC), NIST SP 800-207(제로 트러스트 아키텍처), RFC 7519(JSON 웹 토큰)을 준수하도록 설계되었으며, Rego 정책을 Go 프로세스 메모리 공간에 직접 컴파일하여 프로세스 외부 네트워크 홉을 피하면서도 클러스터 인스턴스 간 분산 일관성을 유지함으로써 인가 지연 시간을 제거합니다.

🌟 주요 기능

  • ⚡ 5ms 미만 결정 지연 시간 SLA ($T_{\text{eval}} \le 5.0\text{ ms (p99)}$): 내장 OPA를 통한 Go 내 인메모리 속성 해석 및 로컬 정책 컴파일로 핫 패스 인가 중 블로킹 데이터베이스 왕복을 제거합니다.
  • 🎯 4차원 벡터 평가 ($S, A, R, E$): 주체(역할, 테넌트, 보안 등급, MFA 상태), 행위(동사, 멱등성 분류), 리소스(분류, 테넌트 소유자, 라이프사이클 태그), 환경(클라이언트 IP/CIDR, 업무 시간, 디바이스 신뢰 상태)에 걸쳐 동적으로 결정을 계산합니다.
  • 🔄 실시간 분산 무효화 ($\le 100\text{ ms}$): 긴급 토큰 폐기(JTI) 및 역할 변경이 Redis Pub/Sub을 통해 모든 게이트웨이 인스턴스에 즉시 전파되어 100ms 이내에 인메모리 LRU 캐시를 갱신합니다.
  • 🔒 암호학적 변조 방지 감사 체인: 모든 인가 결과(ALLOW / DENY)는 추가 전용 SHA-256 해시 체인($\text{Hash}n = \text{SHA-256}(\text{Hash}{n-1} + \text{Snapshot}_n)$)에 기록되어 SOC 2 Type II 및 ISO 27001 감사 추적을 위해 PostgreSQL에 비동기적으로 영속화됩니다.
  • 🏢 철통 같은 멀티테넌트 격리: 라우트 및 정책 계층에서 암호학적·논리적으로 시행되는 테넌트 조직 간 완전한 격리로, 기본 거부(fail-closed) 의미론을 갖습니다.
  • 🚨 긴급 비상 우회(Break-Glass) 프로토콜: 필수 감사 의무와 자동 테넌트 경계 격리를 갖춘, 중요 인시던트를 위한 통제된 우회 경로입니다.

📐 시스템 아키텍처

게이트웨이는 초저지연 데이터 플레인(HTTP 리버스 프록시 및 인메모리 PDP), 격리된 컨트롤 플레인(정책 및 폐기 관리를 위한 Admin API), 그리고 복원력 있는 상태 및 영속성 계층(Redis 7 및 PostgreSQL 16)으로 분할됩니다.

대화형 아키텍처 다이어그램 (Archify)

System Architecture
그림 1: Archify로 생성된 고수준 시스템 아키텍처 다이어그램.
👉 🔍 대화형 Archify 다이어그램을 열려면 여기를 클릭하세요 (다크/라이트 테마, 클릭 가능한 노드, 심층 컴포넌트 검사 지원)


네이티브 시스템 아키텍처 맵

graph TD
    subgraph Clients["Perimeter & External Consumers"]
        ClientApp["Client Applications (SPA / Mobile / Microservices)"]
        SecOps["SecOps & Admin Console"]
    end

    subgraph DataPlane["Enterprise Zero-Trust Gateway (:8080)"]
        direction TB
        AuthMid["Auth Middleware (JWT, JTI, Leeway)"]
        PEP["ABAC Interceptor (PEP Gate)"]
        Resolver["Attribute Resolver (S, A, R, E)"]
        OPA["Embedded OPA Engine (Rego Runtime)"]
        Proxy["Reverse Proxy (httputil)"]
        PubSubLis["PubSub Invalidation Listener"]
        AuditLog["Non-Blocking Audit Logger"]
        HashChain["SHA-256 Cryptographic Chainer"]
    end

    subgraph ControlPlane["Control Plane (:8082)"]
        AdminAPI["Admin API (Revocations & Health)"]
    end

    subgraph StateTier["Distributed State & Persistence"]
        Redis["Redis 7 (Vector Cache & Blacklist :6380)"]
        Postgres["PostgreSQL 16 (Ledger & Tenant DB :5433)"]
    end

    subgraph UpstreamTier["Target Services"]
        Upstream["Protected Upstream API (:8081)"]
    end

    ClientApp -->|"HTTPS + Bearer JWT"| AuthMid
    SecOps -->|"Admin Key Auth"| AdminAPI
    AdminAPI -->|"Publish JTI Revocation"| Redis
    Redis -.->|"Pub/Sub Channel (<=100ms)"| PubSubLis
    PubSubLis -->|"Invalidate Local LRU"| AuthMid

    AuthMid -->|"Verified Identity Claims"| PEP
    PEP -->|"Build Evaluation Context"| Resolver
    Resolver -.->|"Query Vectors"| Redis
    Resolver -->|"Vector (S, A, R, E)"| OPA
    OPA -->|"ALLOW / DENY (<5ms SLA)"| PEP

    PEP -->|"Authorized Traffic"| Proxy
    Proxy -->|"Reverse Proxy Forward"| Upstream
    PEP -.->|"Async Decision Record"| AuditLog
    AuditLog -->|"Hash Chain Generation"| HashChain
    HashChain -->|"Append-Only Immutable Write"| Postgres

컴포넌트 분석 및 신뢰 경계

컴포넌트계층설명보안 및 신뢰성 보장
인증 미들웨어 (proxy/auth_middleware.go)경계 수신HMAC 서명된 JWT 토큰을 검증하고, 발급자/대상자를 확인하며, 클록 스큐 허용 오차($\pm 30\text{s}$)를 적용하고, 로컬 JTI 블랙리스트를 확인합니다.정책 실행이 시작되기 전에 경계에서 만료되었거나, 변조되었거나, 블랙리스트에 등록된 토큰을 거부합니다.
ABAC 인터셉터 (proxy/abac_interceptor.go)적용 (PEP)HTTP 요청을 가로채고, 속성 해석과 정책 평가를 조정하며, 전달할지 또는 폐쇄적으로 실패할지 결정합니다.기본 거부(default-deny) 의미론을 적용합니다. 보안 감사 가능성을 위해 모든 거부 사유를 포착하고 기록합니다.
속성 해석기 (engine/resolver.go)컨텍스트 보강JWT 클레임, URI 매개변수, 캐시된 테넌트 메타데이터를 결합하여 네 가지 평가 벡터($S, A, R, E$)를 합성합니다.인메모리 조회를 통해 권한 부여 핫 패스에서 SQL 쿼리 차단을 방지합니다.
내장 OPA 엔진 (engine/opa.go)결정 (PDP)사전 컴파일된 Rego 정책(rbac_fallback.rego 및 abac_enterprise.rego)을 실행하는 인프로세스 Open Policy Agent 평가기입니다.엄격한 $\le 5.0\text{ms}$ p99 지연 시간 SLA로 복잡한 다중 속성 규칙을 메모리에서 평가합니다.
리버스 프록시 (proxy/reverse_proxy.go)데이터 플레인 전달자승인된 요청을 대상 백엔드 마이크로서비스로 전달하는 고처리량 Go 리버스 프록시입니다.업스트림 헤더를 보존하고, 인증된 주체 컨텍스트를 주입하며, 응답을 스트리밍합니다.
PubSub 리스너 (cache/pubsub_listener.go)무효화 동기화Redis abac:v1:invalidate 채널을 구독하여 토큰 및 정책 변경 사항을 인메모리 캐시에 전파합니다.모든 게이트웨이 복제본에 걸쳐 $\le 100\text{ms}$ 이내에 분산 캐시 무효화를 보장합니다.
감사 로거 및 체이너 (audit/logger.go)감사 파이프라인모든 결정에 대해 연속적인 SHA-256 해시 체인을 계산하는 제한된 비동기 워커 풀입니다.비차단 링 버퍼는 정상 부하에서 이벤트 손실이 없도록 보장하면서 감사 쓰기가 프록시 트래픽을 지연시키지 않도록 합니다.
관리 API (cmd/admin_api)제어 플레인긴급 토큰 폐기(POST /admin/revoke) 및 상태 모니터링을 위한 포트 8082의 전용 관리 서비스입니다.엄격한 정적 관리자 자격 증명(ABAC_ADMIN_KEY)으로 인증되며, 공용 데이터 플레인 트래픽과 격리됩니다.

🔄 핵심 워크플로 및 요청 수명 주기

모든 인바운드 요청은 세 단계 파이프라인을 통과합니다: 수신 및 토큰 검증, 인메모리 속성 해석 및 정책 결정, 승인된 프록싱 및 암호화 감사 로깅.

대화형 워크플로 다이어그램 (Archify)

Request Lifecycle
그림 2: Archify로 생성된 엔드투엔드 요청 수명 주기 및 정책 결정 파이프라인.
👉 🔍 대화형 Archify 워크플로를 열려면 여기를 클릭하세요


네이티브 시퀀스 다이어그램

sequenceDiagram
    autonumber
    actor Client as Client App
    participant PEP as Gateway PEP (:8080)
    participant Auth as Auth Middleware
    participant Cache as Redis 7 Cache
    participant Resolver as Attribute Resolver
    participant OPA as Embedded OPA
    participant Upstream as Target Upstream (:8081)
    participant Audit as Async Audit Logger
    participant DB as PostgreSQL 16
도구 다운로드