에이전트 및 통신

한 번의 명령. 완전히 보호됨.

CASTOVIA 에이전트는 60초 이내에 설치되며, 보안을 자동으로 처리하고, 암호화된 채널을 통해 CASTOVIA Cloud와 통신합니다. 수동 방화벽 규칙도, SSH 키도, VPN도 필요 없습니다.

설치 명령 설명

Linux 서버에서 한 줄 설치 프로그램을 실행하면 정확히 어떤 일이 일어나는지 설명합니다.

명령이 수행하는 작업

CASTOVIA 관리자 대시보드에서 복사하는 한 줄 설치 명령은 Linux 서버에서 다음 단계를 수행합니다:

공식 CDN에서 CASTOVIA 에이전트 바이너리(~15 MB)를 다운로드합니다
변조 방지를 위해 바이너리 서명(SHA-256 + GPG)을 검증합니다
전용 시스템 사용자 castovia-agent(로그인 셸 없음, sudo 없음)를 생성합니다
바이너리를 /opt/castovia/agent에 설치합니다
제한된 권한(0700)으로 구성 디렉터리 /etc/castovia/를 생성합니다
서버 토큰(노드별 고유)을 /etc/castovia/token.conf에 기록합니다
에이전트를 systemd 서비스 castovia-agent.service로 등록합니다
서비스를 시작하고 부팅 시 자동 시작을 활성화합니다
노드를 등록하기 위해 CASTOVIA Cloud와 첫 핸드셰이크를 수행합니다

실제 명령

관리자 대시보드에 표시되는 명령은 다음과 같습니다:

curl -sSL https://install.castovia.com/agent | sudo bash -s -- --token YOUR_SERVER_TOKEN

YOUR_SERVER_TOKEN은 노드별로 생성되는 고유한 일회용 토큰입니다. 사용하지 않으면 24시간 후 만료됩니다.

에이전트가 하지 않는 일

명확한 경계. 에이전트의 범위는 의도적으로 제한되어 있습니다.

서버에서 들어오는 포트를 열지 않습니다
방화벽 규칙(iptables, nftables, firewalld)을 수정하지 않습니다
SSH 키를 설치하거나 수정하지 않습니다
서버의 다른 애플리케이션에 접근하지 않습니다
스트림 콘텐츠를 CASTOVIA 서버를 통해 전송하지 않습니다(스트림은 귀하의 네트워크에 그대로 유지됩니다)
노드에 구독자 개인 데이터를 저장하지 않습니다
VPN이나 특수 네트워크 구성을 요구하지 않습니다
초기 설치 후 root로 실행되지 않습니다

보안 — 추가가 아니라 기본 탑재

모든 보안 조치는 자동으로 적용됩니다. 수동 구성은 필요하지 않습니다.

서버 토큰 인증

자동

모든 노드에는 고유하고 암호학적으로 무작위인 서버 토큰(256-bit)이 할당됩니다. 이 토큰은 노드를 생성할 때 CASTOVIA 관리자에서 생성됩니다. 등록 시 한 번 사용된 후에는 회전하는 TLS 클라이언트 인증서로 교체됩니다.

TLS 1.3 암호화

자동

에이전트와 CASTOVIA Cloud 간의 모든 통신은 TLS 1.3을 사용합니다. 에이전트는 시스템 인증서 저장소를 신뢰하지 않고, 고정된 루트 CA에 대해 CASTOVIA 인증서 체인을 검증합니다. 중간자 공격은 불가능합니다.

방화벽 요구 사항

자동

에이전트는 CASTOVIA Cloud로 향하는 아웃바운드 HTTPS(포트 443)만 필요합니다. 인바운드 포트는 열 필요가 없습니다. 서버의 방화벽 규칙은 그대로 유지되며, 에이전트는 iptables, nftables, firewalld를 수정하지 않습니다.

실행 시 root 접근 불필요

자동

에이전트는 전용 비권한 사용자(castovia-agent)로 실행됩니다. 설치 시에만 root 권한이 필요합니다(systemd 서비스 생성용). 실행 중에는 최소 권한으로 작동하며 — 스트림 소스 읽기 권한, 자체 캐시 디렉터리 쓰기 권한만 가집니다.

자동 인증서 회전

자동

클라이언트 인증서는 7일마다 회전합니다. 에이전트가 갱신을 투명하게 처리합니다. 인증서가 만료되면(예: 서버가 오프라인이었음), 에이전트는 CASTOVIA 관리자에서 승인이 필요한 안전한 재등록 흐름을 사용합니다.

상태 모니터링 및 자동 복구

자동

에이전트는 자체 상태를 모니터링합니다. 충돌이 발생하면 systemd가 5초 이내에 다시 시작합니다. CASTOVIA Cloud에 연결할 수 없더라도 캐시된 구성을 계속 제공하고, 나중에 전송할 수 있도록 메트릭을 대기열에 저장합니다.

통신 프로토콜

서버와 CASTOVIA Cloud 사이에서 데이터가 흐르는 방식.

CASTOVIA Cloud → 에이전트(구성 푸시)

스트림 설정(source URL, 트랜스코딩 프로필, 녹화 일정)
미디어 제공을 위한 Nginx 설정 조각
Catch-up 및 timeshift 규칙
EPG 데이터 및 채널 로고
패키지/부케 할당
구독자 권한 업데이트

기술: 구성은 서명된 JSON 페이로드로 전달됩니다. 에이전트는 적용 전에 각 페이로드를 검증합니다. 원시 SQL도, 셸 명령도 없으며 — 구조화된 설정만 있습니다.

에이전트 → CASTOVIA Cloud(원격 측정)

서버 상태: CPU, RAM, 디스크 사용량, 네트워크 I/O
스트림 상태: 활성 스트림, 비트레이트, 오류율
녹화 상태: 활성 녹화, 사용 중인 저장소, 완료 상태
FFmpeg 작업 결과: 트랜스코딩 완료, 오류, 출력 파일 크기
시청자 연결 수(익명 집계 — 개인 데이터 없음)
에이전트 버전 및 업데이트 가능 여부

기술: 원격 측정은 30초마다 HTTPS POST로 전송됩니다. 페이로드는 압축(gzip)되고 암호화됩니다. 평균 크기: 간격당 2–5 KB.

네트워크 요약

항목세부 정보
프로토콜HTTPS (TLS 1.3) with certificate pinning
아웃바운드 포트443 (HTTPS only)
인바운드 포트CASTOVIA에서 필요 없음
하트비트30초마다(압축 시 2–5 KB)
인증회전하는 TLS 클라이언트 인증서(7일 주기 회전)
대역폭관리 트래픽 기준 < 1 MB/hour
오프라인 동작캐시된 구성을 제공하고, 텔레메트리를 대기열에 저장하며, 자동 재연결
스트림 트래픽CASTOVIA를 통해 라우팅되지 않음 — 귀하의 네트워크에 그대로 유지

완전 제거

노드를 제거하면 에이전트가 완전히 정리합니다:

sudo castovia-agent uninstall --purge
systemd 서비스를 중지하고 제거합니다
/opt/castovia/에서 바이너리를 삭제합니다
/etc/castovia/의 모든 구성을 제거합니다
castovia-agent 시스템 사용자를 제거합니다
CASTOVIA Cloud에서 클라이언트 인증서를 폐기합니다
남는 파일, 프로세스 또는 cron 작업이 없습니다