Securitate
Aflați de ce Agentul dispozitivului ZebraByte este un reporter de postură cu un singur impuls, mai degrabă decât un MDM, cu verificări locale fixe, apeluri API inițiate de agent și actualizări semnate.
ZebraByte Device Agent is a posture reporter, nu un instrument de gestionare a dispozitivelor. Înregistrează un dispozitiv, rulează un set fix de controale de securitate locală și împinge rezultatele către organizația platformei. not un MDM: serverul platformei nu poate trimite comenzi dispozitivului, instala software, schimba setările sau rula verificări arbitrare.
Design philosophy
Section titled “Design philosophy”The agent follows a simple rule: dispozitivul vorbește cu platforma; platforma nu vorbește niciodată cu munca de făcut.
| This agent does | This agent does not |
|---|---|
| Collect local posture signals | Obțineți comenzi shell, script-uri sau politici de pe platformă |
| Push heartbeats and check results | Deschideți un canal de control pentru ca serverul să sune dispozitivul |
| Înscriere și dezinscriere cu consimțământ local | Blocați, ștergeți sau reconfigurați mașina ca un MDM |
| Self-update from signed GitHub Releases | Descărcați și rulați binare nesignate sau furnizate de server |
Această limită există astfel încât angajații și operatorii să poată trata agentul ca observabilitate pentru conformitate – nu ca administrare de la distanță a laptopului sau serverului lor.
Push-only communication
Section titled “Push-only communication”Toți agenții API trafic este agent-initiated HTTPS to /api/agent/v1Suprafața publicată este:
| Endpoint | Direction | Purpose |
|---|---|---|
POST /enroll | Agent → server | Schimbarea unui token de înscriere unică pentru un dispozitiv API |
POST /heartbeat | Agent → server | Report host identity and receive schedule intervals |
POST /postures | Agent → server | Push posture check results |
POST /unenroll | Agent → server | Solicitați serverului să revoceze dispozitivul |
Nu există WebSocket, coada de comandă pentru sondaje lungi sau canalul de stil shell invers. serverul platformei nu deschide conexiuni la dispozitivele înregistrate.
Atunci când agentul bate inima, răspunsul conține numai metadatele de programare: ID-ul dispozitivului, intervalul de bătăi ale inimii, intervalul de postură și timpul serverului. not include comenzi, verifică definiții, script-uri sau încărcături de fișiere.
Fixed check set
Section titled “Fixed check set”Posture checks are Compilarea în agentul binarFiecare platformă înregistrează aceleași verificări numite la momentul construirii (de exemplu, criptarea discului, blocarea ecranului, firewall-ul, sincronizarea timpului, versiunea OS, actualizarea automată, politica de parolă, conectarea la distanță și protecția împotriva malware-ului).
The server cannot:
- Add a new check at runtime
- Modificarea modului în care este evaluat un control existent
- Cereți agentului să ruleze un executabil arbitrar sau un script
Comenzi de ajutor local utilizate de controale pentru a rezolva pinned absolute paths Acestea nu sunt preluate din reţea sau numai din PATH.
Puteţi rula acelaşi set de verificare offline cu probo-agent collect— că rezultatele sunt tipărite local și nu împing nimic pe platformă.
Authentication and local secrets
Section titled “Authentication and local secrets”- Enrollment utilizează un token cu o singură lovitură de pe consola de platformă. Agentul îl schimbă o dată pentru o durată lungă de viață device API key, then stores that key locally (file mode
0600in the agent state directory). - Ulterior, bătăile inimii și postura împing autentificarea cu acel dispozitiv API pe HTTPS.
- If an administrator revokes dispozitivul din platformă, apelurile ulterioare ale agentului primesc răspunsuri neautorizate și agentul încetează să trateze înregistrarea ca valabilă.
- Uninstall / unenroll clarifică starea agentului local de pe dispozitiv.
Nu plasați jetoane de înregistrare în URL-uri, chat-uri sau jurnalele. Preferați fluxul de înregistrare desktop (installer + browser) pe macOS și Windows atunci când este posibil.
Updates and integrity
Section titled “Updates and integrity”Când este activată actualizarea automată, agentul verifică GitHubReleases sub probo-agent/v* tag, verifies release artifacts with Cosign / Sigstore, și numai atunci înlocuiește binarul său. Verificarea înlocuiește identitatea de semnare în fluxul de lucru de lansare al platformei pe un comit etichetat.
Puteți dezactiva actualizările automate la momentul instalării (--no-auto-update / PROBO_NO_AUTO_UPDATE). See Commands.
Implementation
Section titled “Implementation”Agentul central este scris în GoMemorie colectată de gunoi, felii controlate de limită și un singur binar static pe platformă.Această alegere reduce întreaga clasă de bug-uri de corupție a memoriei comune agenților C/C++, fără a introduce un timp de rulare scriptat sau interpretat pe dispozitiv.
We also keep dependencies to a minimumAgentul preferă biblioteca standard Go și un set mic de pachete bine realizate (de exemplu, verificarea Cosign / Sigstore și API-urile OS) în loc de un copac mare de la terți.
Agentul este open sourceSursă, fluxuri de lucru de lansare și artefacte semnate în direct în ZebraByte/the platform repository (cmd/probo-agent, pkg/deviceagent, astfel încât echipele de securitate să poată audita setul de verificare, clientul API și verificatorul de actualizare - nu luați aceste pretenții pe încredere.
A few notes on scope:
- Colectarea posturii, bătăile inimii, schimbul de înscrieri și logica de auto-actualizare trăiesc în Go binar - același drum de cod pe macOS, Windows, Linux și FreeBSD.
- Asistentele platformei rămân înguste. pe macOS, o mică semnătură Swift Ajutorul privilegiat există numai pentru a finaliza înregistrarea browser-ului peste XPC; nu este o suprafață generală de control la distanță sau scripting.
- Auto-update nu rulează niciodată biți nesemnați: numai artefactele de lansare verificate de Cosign/Sigstore înlocuiesc binarul (vezi pct. Updates and integrity).
Alegerea limbii și un set de dependențe slabe susțin modelul push-only; nu îl înlocuiesc.
Compared to MDM
Section titled “Compared to MDM”Produsele de management al dispozitivelor mobile sunt construite pentru control Endpoints: profiluri de configurare împingătoare, setări de executare, instalarea de aplicații, blocarea sau ștergerea dispozitivelor și de multe ori executarea de acțiuni la distanță. observe Puncte finale pentru dovada conformităţii.
Utilizați MDM-ul dvs. existent (sau gestionarea configurației) dacă aveți nevoie de control de la distanță. Utilizați ZebraByteDevice Agent atunci când aveți nevoie de dovezi continue de postură în platformă fără a da platformei de conformitate un canal de comandă pe mașină.