Beveiliging
Overzicht
Neotask is ontworpen met een beveiligings-eerst-architectuur. De Gateway wordt standaard gebonden aan localhost, alle gevoelige gegevens zijn versleuteld in rust, en agentuitvoering kan worden gesandboxed in geïsoleerde containers.
Netwerkbeveiliging
Loopback als standaard
De Gateway luistert alleen op 127.0.0.1 (localhost) tenzij u de bindingsmodus expliciet wijzigt. Standaard geen externe netwerktoegang.
Authenticatie
Alle WebSocket-verbindingen vereisen authenticatie:
- Token-authenticatie, Bearer-token (UUID of aangepaste reeks)
- Wachtwoordauthenticatie, Bcrypt-gehashd wachtwoord
- Vertrouwde proxy, Vooraf-geauthenticeerde headers van reverse proxies
- Lokaal vertrouwen, Loopback-verbindingen zijn impliciet vertrouwd
Beveiliging voor externe toegang
Voor externe toegang is de aanbevolen aanpak Tailscale VPN of SSH-tunneling, stel de Gateway nooit rechtstreeks bloot aan internet.
Apparaatkoppeling
Hoe koppeling werkt
Elke client die verbinding maakt met de Gateway moet worden gekoppeld:
- Apparaat presenteert zijn identiteit (vingerafdruk + publieke sleutel)
- Gateway stuurt een koppelingsuitdaging (nonce)
- Apparaat ondertekent de nonce met zijn privésleutel
- U keurt het apparaat goed via de UI
- Gateway geeft een apparaattoken uit voor toekomstige verbindingen
Vertrouwensmodel
- Lokale apparaten (loopback) worden automatisch goedgekeurd voor het gemak
- Niet-lokale apparaten vereisen expliciete goedkeuring
- Apparaattokens worden lokaal opgeslagen en hergebruikt bij opnieuw verbinden
- Apparaten kunnen op elk moment worden ingetrokken
Versleuteling
Gegevens in rust
- AES-256-GCM, Alle tokens, geheimen en API-sleutels zijn versleuteld in rust
- Machine-afgeleide sleutels, Versleutelingssleutels afgeleid via scrypt van apparaatidentiteit
- Geen opslag in leesbare tekst, Tokens worden nooit in leesbare tekst opgeslagen
Gegevens in transit
- TLS, HTTPS voor API-communicatie
- WSS, WebSocket Secure voor Gateway-verbindingen (bij gebruik van Tailscale Serve of reverse proxy)
- HMAC-ondertekening, Verzoekintegriteit met nonce en tijdstempel
Sandboxing
Docker-gebaseerde isolatie
Agentopdrachtuitvoering kan worden gesandboxed in Docker-containers:
- Per-agent-profielen, Elke agent kan zijn eigen sandboxconfiguratie hebben
- Resourcelimieten, Configureerbare CPU-, geheugen- en time-outlimieten
- Netwerkisolatie, Containers kunnen van het netwerk worden geïsoleerd
- Bestandssysteemsafbakening, Agents benaderen alleen hun werkruimte
- Aangepaste images, Gebruik voorgemaakte images met specifieke geïnstalleerde tools
Sandboxbereiken
| Bereik | Beschrijving |
|---|---|
| Per-sessie | Nieuwe container voor elke sessie |
| Per-agent | Aanhoudende container per agent |
| Gedeeld | Gedeelde container over agents |
Werkruimtetoegang
Gesandboxede agents hebben toegang tot hun werkruimtemap (gekoppeld aan de container), maar hebben geen toegang tot het hostbestandssysteem buiten hun werkruimte.
Uitvoeringsgoedkeuringen
Beheer welke opdrachten agents kunnen uitvoeren op nodes en de Gateway-host:
Modi
| Modus | Beschrijving |
|---|---|
| Toegestane lijst | Alleen vooraf goedgekeurde opdrachten worden uitgevoerd |
| Vraag | Onbekende opdrachten vragen om gebruikersgoedkeuring |
| Volledig | Geen beperkingen (gebruik met voorzichtigheid) |
Per-node-configuratie
Elke node (macOS, headless host) heeft zijn eigen uitvoeringsgoedkeuringsconfiguratie, lokaal opgeslagen. U kunt specifieke binaries toestaan (bijv. /usr/bin/docker, /usr/local/bin/terraform) terwijl u al het andere blokkeert.
Verhoogde modus
Sommige bewerkingen vereisen uitvoering rechtstreeks op de Gateway-host (niet in een sandbox). Verhoogde modus is:
- Beveiligd door expliciete toestemming in agentconfiguratie
- Alleen beschikbaar op de Gateway-host
- Standaard uitgeschakeld
- Auditeerbaar via logboekregistratie
Beveiligingsaudit
De ingebouwde beveiligingsaudit controleert:
- Configuratiebestandsrechten (moeten 600 zijn)
- Sessiebestandsrechten
- Node.js-versie (beveiligingspatches)
- Detectie van geheimen in leesbare tekst
- Validatie van plug-in-toegestane lijst
- Open netwerkinterface-audit
- Volledigheid van authenticatieconfiguratie
De audit kan automatisch veel problemen oplossen wanneer toestemming wordt gegeven.
Beste praktijken
- Houd de Gateway op loopback, Gebruik Tailscale of SSH voor externe toegang
- Schakel sandboxing in, Voer agentopdrachen uit in Docker-containers
- Gebruik uitvoerings-toegestane lijsten, Beperk welke opdrachten agents op nodes kunnen uitvoeren
- Stel authenticatietokens in, Configureer altijd token-authenticatie, zelfs voor loopback
- Controleer agentrechten, Gebruik minimale toolprofielen waar mogelijk
- Houd Neotask bijgewerkt, Updates bevatten beveiligingspatches
- Regelmatig auditeren, Voer beveiligingsaudits uit om verkeerde configuraties te detecteren
- Beperk het laden van plugins, Installeer alleen vertrouwde plugins