Agent en communicatie

Eén commando. Volledig beveiligd.

De CASTOVIA-agent installeert in minder dan 60 seconden, regelt beveiliging automatisch en communiceert met CASTOVIA Cloud via versleutelde kanalen. Geen handmatige firewallregels, geen SSH-sleutels, geen VPN.

Het installatiecommando uitgelegd

Precies wat er gebeurt wanneer je de éénregelige installer op je Linux-server uitvoert.

Wat het commando doet

Het éénregelige installatiecommando dat je uit het CASTOVIA-beheerdersdashboard kopieert, voert de volgende stappen uit op je Linux-server:

Downloadt de CASTOVIA-agentbinary (~15 MB) van de officiële CDN
Verifieert de binaire handtekening (SHA-256 + GPG) om manipulatie te voorkomen
Maakt een speciale systeemgebruiker aan: castovia-agent (geen login-shell, geen sudo)
Installeert de binary naar /opt/castovia/agent
Maakt de configuratiemap /etc/castovia/ aan met beperkte rechten (0700)
Schrijft het servertoken (uniek per node) naar /etc/castovia/token.conf
Registreert de agent als een systemd-service: castovia-agent.service
Start de service en schakelt automatisch starten bij het opstarten in
Voert een eerste handshake uit met CASTOVIA Cloud om de node te registreren

Het daadwerkelijke commando

Het commando dat je in je beheerdersdashboard ziet, ziet er als volgt uit:

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

YOUR_SERVER_TOKEN is een uniek, eenmalig te gebruiken token dat per node wordt gegenereerd. Het verloopt na 24 uur als het niet wordt gebruikt.

Wat de agent NIET doet

Duidelijke grenzen. De agent is bewust beperkt van scope.

Geen inkomende poorten op je server openen
Je firewallregels niet aanpassen (iptables, nftables, firewalld)
SSH-sleutels installeren of wijzigen
Toegang krijgen tot andere applicaties op je server
Streamcontent via CASTOVIA-servers verzenden (streams blijven op jouw netwerk)
Persoonlijke gegevens van abonnees op de node opslaan
Een VPN of speciale netwerkconfiguratie vereisen
Als root draaien na de eerste installatie

Beveiliging — Ingebouwd, niet achteraf toegevoegd

Elke beveiligingsmaatregel is automatisch. Geen handmatige configuratie nodig.

Servertoken-authenticatie

automatisch

Elke node krijgt een uniek, cryptografisch willekeurig servertoken (256-bit). Dit token wordt gegenereerd in de CASTOVIA-admin wanneer je een node aanmaakt. Het wordt één keer gebruikt tijdens registratie en daarna vervangen door een roterend TLS-clientcertificaat.

TLS 1.3-versleuteling

automatisch

Alle communicatie tussen de agent en CASTOVIA Cloud gebruikt TLS 1.3. De agent valideert de CASTOVIA-certificaatketen tegen een vastgepinde root CA — geen vertrouwen in de systeemcertificaatopslag. Man-in-the-middle-aanvallen zijn niet mogelijk.

Firewallvereisten

automatisch

De agent heeft alleen uitgaand HTTPS (poort 443) naar CASTOVIA Cloud nodig. Er hoeven geen inkomende poorten geopend te worden. Je firewallregels blijven onaangetast — de agent wijzigt iptables, nftables of firewalld niet.

Geen roottoegang vereist tijdens runtime

automatisch

De agent draait als een speciale niet-bevoorrechte gebruiker (castovia-agent). Hij heeft alleen root nodig tijdens de installatie (om de systemd-service aan te maken). Tijdens runtime werkt hij met minimale rechten — leestoegang tot streambronnen, schrijftoegang tot zijn eigen cachemap.

Automatische certificaatrotatie

automatisch

Clientcertificaten roteren elke 7 dagen. De agent behandelt vernieuwing transparant. Als een certificaat verloopt (bijv. server was offline), gebruikt de agent een veilig herinschrijvingsproces dat goedkeuring vereist in de CASTOVIA-admin.

Gezondheidsmonitoring en zelfherstel

automatisch

De agent bewaakt zijn eigen gezondheid. Als hij crasht, start systemd hem binnen 5 seconden opnieuw op. Als hij geen verbinding kan maken met CASTOVIA Cloud, blijft hij gecachte configuratie leveren en zet hij statistieken in de wachtrij voor latere levering.

Communicatieprotocol

Hoe data stroomt tussen je server en CASTOVIA Cloud.

CASTOVIA Cloud → Agent (Configuratie push)

Streamconfiguraties (bron-URL's, transcodeprofielen, opnameschema's)
Nginx-configfragmenten voor mediatoevoer
Catch-up- en timeshiftregels
EPG-data en zenderlogo's
Toewijzingen van pakketten/bouquets
Updates van abonneederechten

Technisch: Configuratie wordt geleverd als ondertekende JSON-payloads. De agent valideert elke payload voordat hij deze toepast. Geen ruwe SQL, geen shellcommando's — alleen gestructureerde configuratie.

Agent → CASTOVIA Cloud (Telemetry)

Servergezondheid: CPU, RAM, schijfgebruik, netwerk-I/O
Streamstatus: actieve streams, bitrate, foutpercentages
Opnamestatus: actieve opnames, gebruikte opslag, voltooiingsstatus
FFmpeg-taakresultaten: voltooiing van transcodes, fouten, bestandsgroottes van uitvoer
Aantal kijkerverbindingen (anonieme aggregatie — geen persoonlijke gegevens)
Agentversie en beschikbaarheid van updates

Technisch: Telemetry wordt elke 30 seconden verzonden via HTTPS POST. Payload is gecomprimeerd (gzip) en versleuteld. Gemiddelde grootte: 2–5 KB per interval.

Netwerksamenvatting

AspectDetail
ProtocolHTTPS (TLS 1.3) met certificaatpinnen
Uitgaande poort443 (alleen HTTPS)
Inkomende poortenGeen vereist door CASTOVIA
HartslagElke 30 seconden (2–5 KB gecomprimeerd)
AuthenticatieRoterende TLS-clientcertificaten (rotatie om de 7 dagen)
Bandbreedte< 1 MB/uur voor beheerverkeer
Gedrag offlineLevert gecachte configuratie, zet telemetry in de wachtrij, maakt automatisch opnieuw verbinding
StreamverkeerNooit gerouteerd via CASTOVIA — blijft op je netwerk

Schone verwijdering

Als je een node verwijdert, ruimt de agent alles volledig op:

sudo castovia-agent uninstall --purge
Stopt en verwijdert de systemd-service
Verwijdert de binary uit /opt/castovia/
Verwijdert alle configuratie uit /etc/castovia/
Verwijdert de castovia-agent-systeemgebruiker
Trekt het clientcertificaat in op CASTOVIA Cloud
Geen achtergebleven bestanden, processen of cronjobs