Communityoplossing

Wat de schakelaar voor app-machtigingen in ZimaOS echt doet

IceWhale support explained that the App Privileges switch gives a container host-like permissions, direct hardware access, and root-level execution.

De schakelaar ‘Privileges’ van de ZimaOS-app komt in feite overeen met de bevoorrechte modus van Docker. IceWhale-support beschreef deze optie als het verlenen van hostachtige rechten, directe toegang tot hardware en mogelijkheden op rootniveau aan de container. Schakel dit alleen in wanneer een applicatie dit toegangsniveau echt nodig heeft.

Voor de meeste apps is de bevoorrechte modus niet nodig en verzwakt deze de isolatie die containers veiliger maakt. Geef bij voorkeur toegang tot één apparaat of voeg één Linux-mogelijkheid toe in plaats van de container volledige toegang te verlenen.

Wat de bevoorrechte modus verandert

De huidige handleiding voor bevoorrechte Docker-containers vermeldt dat --privileged de container alle Linux-mogelijkheden en toegang tot alle apparaten van de host geeft, terwijl belangrijke beveiligingsmaatregelen worden versoepeld.

Waarom IceWhale dit beschreef als toegang op hostniveau

In het officiële antwoord staat dat het containerproces rechtstreeks toegang kan krijgen tot hardware van de host en kan worden uitgevoerd met rechten die vergelijkbaar zijn met rootrechten. Dat is een nuttige korte uitleg, maar de praktische gevolgen voor de beveiliging zijn breder: de container is niet langer sterk gesandboxed.

Schakel Privileges niet in om zomaar een fout op te lossen

Als een app geen toegang heeft tot een USB-apparaat, GPU, netwerkfunctie of koppeling, bepaal dan eerst welke specifieke toestemming ontbreekt. De bevoorrechte modus kan het echte configuratieprobleem verbergen en tegelijkertijd de volledige host blootstellen.

Geef bij voorkeur toegang tot specifieke apparaten

devices:
  - /dev/dri/renderD128:/dev/dri/renderD128

Voor één hardwareapparaat koppel je dat apparaat in plaats van alle apparaten van de host.

Geef bij voorkeur specifieke Linux-mogelijkheden

cap_add:
  - NET_ADMIN

Een VPN-/routercontainer kan een specifieke netwerkmogelijkheid nodig hebben. Geef de minimaal vereiste set in plaats van de bevoorrechte modus wanneer de documentatie van de app dit ondersteunt.

Apps die mogelijk legitiem meer toegang nodig hebben

Voorbeelden zijn tools voor hardware op laag niveau, Docker-in-Docker, sommige VPN-/netwerkapparaten, beheer van USB-apparaten en gespecialiseerde software voor systeembewaking. Lees ook dan eerst de implementatierichtlijnen van de oorspronkelijke ontwikkelaar.

Apps die dit doorgaans niet nodig hebben

Normale webapps, mediabibliotheken, notitie-apps, databases, fotobeheerders, dashboards en de meeste API-services zouden geen volledige bevoorrechte modus nodig moeten hebben om te functioneren.

Controleer Privileges opnieuw na een app-update

Een oud app-pakket kan de bevoorrechte modus uit gemak hebben ingeschakeld, ook nadat de oorspronkelijke ontwikkelaar specifiekere toestemmingen heeft toegevoegd. Controleer bij het bijwerken opnieuw de huidige Compose-vereisten.

De Docker-beveiligingsgids biedt het veiligere patroon voor aangepaste apps.

Inspecteer de container voordat je meer toegang verleent

docker inspect CONTAINER

Controleer bestaande apparaatkoppelingen, mogelijkheden, mounts, netwerkmodus en gebruikersconfiguratie. Veel apps werken niet omdat één vereist apparaat of pad ontbreekt, niet omdat ze onbeperkte toegang tot de host nodig hebben.

De bevoorrechte modus kan de impact vergroten

Als een normale, onbevoorrechte webapp wordt gecompromitteerd, kan containerisolatie beperken waartoe een aanvaller toegang krijgt. Een bevoorrechte container kan toegang krijgen tot veel meer apparaten en kernelinterfaces van de host, waardoor een kwetsbaarheid in die app systeembrede gevolgen kan hebben.

Documenteer waarom Privileges is ingeschakeld

Noteer wanneer je deze optie bewust inschakelt welke specifieke functie dit vereist. Test bij een latere app-update opnieuw of de app met beperktere toestemmingen kan werken en schakel de optie uit als deze niet langer nodig is.

Veelgestelde vragen

Betekent Privileges dat de container als root wordt uitgevoerd?

Dit gaat verder dan alleen uitvoeren als root binnen de container; de bevoorrechte modus verleent uitgebreide mogelijkheden op de host en toegang tot apparaten.

Moet ik dit voor elke aangepaste app inschakelen?

Nee. Laat de optie uitgeschakeld, tenzij de documentatie van de oorspronkelijke ontwikkelaar vermeldt dat de workload dit vereist.

Kan ik alleen toegang tot GPU of USB geven?

Ja. Geef bij voorkeur toegang tot specifieke apparaten en gebruik specifieke runtime-instellingen in plaats van de volledige bevoorrechte modus.

Is de bevoorrechte modus gevaarlijk?

Deze vermindert de containerisolatie aanzienlijk. Daardoor kan een gecompromitteerde bevoorrechte app veel grotere gevolgen hebben voor de host.