아키텍처
Alpacon의 전체 시스템 아키텍처와 작동 원리를 설명합니다.
개요
Alpacon은 네트워크 접근, 신원 관리, 감사 기능을 하나의 플랫폼에서 제공하는 통합 액세스 게이트웨이입니다.
기존 방식의 문제점:
- 네트워크 접근: SSH/VPN의 복잡성과 보안 취약점
- 신원 관리: 분산된 로컬 시스템 관리
- 감사: 분산된 syslog나 개별 로깅 플랫폼
Alpacon은 이 모든 것을 하나의 통합 플랫폼으로 해결합니다.
시스템 구성
네트워크 접근: Websh 프로토콜
Alpacon은 자체 개발한 Websh 프로토콜을 사용하여 확장성과 보안을 동시에 보장합니다.
역방향 연결 아키텍처
[서버] --outbound--> [Alpacon cloud] <--inbound-- [클라이언트]
(HTTPS/WSS) (HTTPS/WSS)
주요 특징:
- 서버에 인바운드 포트 불필요 (포트 22 노출 제거)
- 공격 벡터 완전 제거
- 항상 TLS 암호화 연결
- 웹 친화적 프로토콜
온디맨드 연결
접근은 상시 연결로 유지되지 않고, 작업 세션을 통해 필요한 순간에만 부여됩니다.
- 사용자가 특정 서버, 도구, 시간 범위로 작업 세션을 요청
- Alpacon이 권한을 검증(필요하면 관리자가 승인)
- 사용자와 서버 간 안전한 연결 설정
- 모든 활동이 감사를 위해 기록
- 세션이 끝나거나 만료되면 연결 해제
접근성: 세션 지속성
Alpacon의 Websh 세션은 네트워크 일시적 문제에도 안정적으로 작동합니다.
특징:
- VPN 불필요한 클라우드 기반 연결
- 사용자가 명시적으로 종료하지 않는 한 세션 유지
- 네트워크 재연결 시 자동 세션 복구
- 모바일 브라우저에서도 완전한 쉘 액세스
리소스 관리
모든 서버 자산을 중앙에서 통합 관리합니다.
간단한 서버 등록
Alpacon 워크스페이스(서버 → 서버 등록)를 통해 서버를 등록하고 생성된 설치 스크립트를 실행하세요. 전체 프로세스는 5분 미만이 소요됩니다.
단계별 지침은 빠른 시작 가이드를 참조하세요.
제공 기능:
- 실시간 리소스 상태 모니터링
- 연결 상태 알림
- 그룹별 권한 관리
- 역할 기반 접근 제어
주요 컴포넌트
1. Alpamon agent (서버 측)
서버에 설치되어 Alpacon cloud와 통신하는 경량 에이전트입니다.
기능:
- 아웃바운드 HTTPS/WSS 연결 관리
- 시스템 상태 모니터링
- 명령 실행 및 파일 전송
- 자동 업데이트
2. Alpacon cloud (중앙 플랫폼)
모든 연결과 관리를 중계하는 클라우드 서비스입니다.
구성 요소:
- Access Gateway: 연결 중계 및 프록시
- Identity Provider: 사용자 인증 및 권한 관리
- Audit Logger: 모든 활동 로깅 및 모니터링
- API Server: REST API 및 CLI 지원
3. 클라이언트 (사용자 측)
다양한 방식으로 서버에 접근할 수 있습니다.
접근 방법:
- 웹 브라우저: 추가 설치 없이 즉시 접근
- Alpacon CLI: 명령줄 인터페이스
- REST API: 프로그래매틱 접근
- 모바일: 모바일 브라우저 지원
신원 및 접근 관리 (IAM)
중앙화된 신원 관리
모든 서버 접근 신원을 중앙에서 관리하고 프로비저닝합니다.
프로세스:
- 새 직원 → Alpacon 초대
- 첫 접속 시 자동 ID 프로비저닝
- 권한 변경 시 자동 동기화
- 퇴사 시 즉시 접근 차단
강화된 인증
지원 MFA 방식:
- Biometric (생체 인증)
- Hardware security key
- OTP (One-Time Password)
- SMS
통합 로그인:
- Google Workspace
- SAML (곧 지원 예정)
Passwordless 시스템 계정
- 모든 시스템 계정은 passwordless로 생성
- Alpacon을 통해서만 접근 가능
- SSH 키/패스워드 직접 사용 차단
통합 및 상호운용성
CI/CD 파이프라인 통합
사람은 작업 세션으로 서버에 접근하고, 자동화는 SSH 키 대신 범위 제한 토큰을 사용합니다. 토큰은 특정 범위나 허용 명령 목록으로 제한되므로, 파이프라인은 허용된 작업만 수행할 수 있습니다. 토큰을 참고하세요.
CLI 사용 예시
# Login
alpacon login --workspace my-workspace --region us1 -t "alpat-..."
# File upload
alpacon cp docker-compose.yml prod-docker:/opt/my-app/
alpacon cp .env prod-docker:/opt/my-app/
# Command execution
alpacon websh prod-docker docker compose -p my-app --env-file .env up -d
REST API 사용 예시
curl -X POST https://your-workspace.ap1.alpacon.io/api/events/commands/ \
-H "Content-Type: application/json" \
-H "Authorization: token=\"alpat-...\"" \
-d '{"server": "7a50ea6c-2138-4d3f-9633-e50694c847c4", "line": "docker ps", "username": "docker"}'
장점:
- Fine-grained 명령 제한
- 토큰별 허용 명령만 실행 가능
- CI 악용 가능성 차단
감사 (Auditing)
모든 서버 접근과 활동을 완전히 추적합니다.
제공 기능
- Live activity: 활성 세션을 실시간으로 확인
- 완전한 기록: 모든 세션을 하나의 타임라인에 기록(명령, 전송, sudo 권한 부여, 터미널 녹화)
- AI 위험 분석: 세션이 끝난 뒤 AI가 자동으로 세션을 검토합니다
- 완전한 가시성: 모든 행동을 사람 또는 토큰에 귀속
감사 로그 내용
- 누가 (사용자/토큰)
- 언제 (타임스탬프)
- 어디서 (서버/IP)
- 무엇을 (실행 명령/결과)
- 왜 (세션 컨텍스트)
보안 설계 원칙
Zero Trust 아키텍처
- Perimeter 기반 보안 전략 탈피
- 모든 접근 요청 검증
- 최소 권한 원칙
- 지속적인 검증
Defense in Depth
- 다층 보안 구조
- Single point of failure 방지
- 암호화된 통신
- 감사 추적
현대적 접근
- SSH는 사람을 위해 설계됨 → Alpacon은 사람과 AI 에이전트 모두를 통제
- 상시 키 → 적시(JIT) 작업 세션과 범위 제한 토큰
- 분산 로깅 → 중앙화된 AI 분석 감사
가용성
- 클라우드 서비스로 이중화
- 고가용성 보장
- 자동 페일오버
- 글로벌 리전 지원