아키텍처
Alpacon의 전체 시스템 아키텍처와 작동 원리를 설명합니다.
개요
Alpacon은 네트워크 접근, 신원 관리, 감사 기능을 하나의 플랫폼에서 제공하는 통합 액세스 게이트웨이입니다.
기존 방식의 문제점:
- 네트워크 접근: SSH/VPN의 복잡성과 보안 취약점
- 신원 관리: 분산된 로컬 시스템 관리
- 감사: 분산된 syslog나 개별 로깅 플랫폼
Alpacon은 이 모든 것을 하나의 통합 플랫폼으로 해결합니다.
시스템 구성
네트워크 접근: Websh 프로토콜
Alpacon은 자체 개발한 Websh 프로토콜을 사용하여 확장성과 보안을 동시에 보장합니다.
역방향 연결 아키텍처
[서버] --outbound--> [Alpacon cloud] <--inbound-- [클라이언트]
(HTTPS/WSS) (HTTPS/WSS)
주요 특징:
- 서버에 인바운드 포트 불필요 (포트 22 노출 제거)
- 공격 벡터 완전 제거
- 항상 TLS 암호화 연결
- 웹 친화적 프로토콜
온디맨드 터널링
- 사용자가 서버 접근 요청
- 프록시를 위한 터널 즉시 구성
- 사용자와 서버 모두 프록시에 연결
- 안전한 인증 및 중계
- 세션 종료 시 터널 해제
접근성: 세션 지속성
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 키 대신 세밀한 권한의 API 토큰을 사용합니다.
CLI 사용 예시
# 로그인
alpacon login https://alpacon.io/my-workspace -t "alpat-..."
# 파일 업로드
alpacon cp docker-compose.yml prod-docker:/opt/my-app/
alpacon cp .env prod-docker:/opt/my-app/
# 명령 실행
alpacon websh prod-docker docker compose -p my-app --env-file .env up -d
REST API 사용 예시
curl -X POST https://your-workspace.us1.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)
모든 서버 접근과 활동을 완전히 추적합니다.
제공 기능
- 실시간 모니터링: 사용자 터미널 활동 실시간 추적
- 이상 탐지: 비정상 활동 감지 시 즉시 차단
- 사후 감사: 실행된 모든 명령 검토 가능
- Full visibility: 모든 사용자 활동 완전 가시성
감사 로그 내용
- 누가 (사용자/토큰)
- 언제 (타임스탬프)
- 어디서 (서버/IP)
- 무엇을 (실행 명령/결과)
- 왜 (세션 컨텍스트)
보안 설계 원칙
Zero Trust 아키텍처
- Perimeter 기반 보안 전략 탈피
- 모든 접근 요청 검증
- 최소 권한 원칙
- 지속적인 검증
Defense in Depth
- 다층 보안 구조
- Single point of failure 방지
- 암호화된 통신
- 감사 추적
현대적 접근
- SSH는 사람을 위해 설계됨 → Alpacon은 사람과 기계 모두 지원
- 정적 키 관리 → 동적 토큰 관리
- 분산 로깅 → 중앙화된 감사
가용성
- 클라우드 서비스로 이중화
- 고가용성 보장
- 자동 페일오버
- 글로벌 리전 지원