0.16.2 #1418
mickem
announced in
Announcements
0.16.2
#1418
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
A locked-down modern Windows layout, new security and system checks, and safer settings and roles
This release introduces an opt-in modern Windows file layout that separates and locks down the agent's writable state, adds a batch of Windows security and system checks, and hardens two areas of the WEB/settings surface. Default installs are unaffected until you opt in to the new layout.
Highlights
%ProgramData%folder that is restricted toSYSTEMandAdministrators, instead of sitting under Program Files. Switch withnscp settings --migrate-layout modern(or the MSILAYOUTproperty); the classic layout remains the default and is untouched.${fleet-folder}token and dedicated writable-state directories keep fleet/enrollment material and mutable state out of the package/program directories, with local overrides now visible in diagnostics. On Linux packages the writable state directories are created and migrated automatically.check_activation(Windows licensing state),check_file_security(file owner / DACL hardening), andcheck_firewall_rules(assert on individual firewall rules).check_w32time(Windows Time service health) andcheck_printjobs(per-job print detail), plus reporting the printer device behind each queue.nscp settings --list/--showCLI now return***for keys registered sensitive, matching thediffendpoint. Reported by @yagust.legacyWEB permission is flagged and no longer seeded by default. It unlocks deprecated query-dispatch endpoints that can run any registered command; fresh installs no longer create the role and aSECURITYwarning is logged for any role that grants it. Reported by @yagust.Detailed changes
Modern Windows file layout
The agent can now run in a "modern" layout where its configuration, fleet identity, and writable state live in a dedicated, ACL-restricted
%ProgramData%folder rather than under%ProgramFiles%. The layout is recorded inboot.iniand resolved through a single shared path-token table used by both the service and the bundled clients, so${shared-path},${log-path},${fleet-folder}and friends resolve consistently everywhere.Migration is available both from the CLI (
nscp settings --migrate-layout modern, with--dry-run) and from the MSI (via aLAYOUTproperty). The migration is defensive: it refuses to move into a populated destination on the first switch, locks the destination down before writing any secret into it, moves across volumes rather than failing, and keeps shipped program content out of the redirected shared path.--migrate-layout modern/legacyLAYOUTproperty${fleet-folder}tokenSYSTEM+Administrators; ownership taken, not just the DACL.New and updated checks
check_activation,check_file_security(owner + DACL hardening), andcheck_firewall_rules(individual rules). Corrected threecheck_file_securityverdict paths and keptexpect=assertions visible through a firewall filter.check_w32timefor the Windows Time service,check_printjobsfor per-job print detail, and the printer device is now reported behind each queue. Duration keywords keep their-1sentinel andlast_sync_ageis treated as a duration.plugin-dir/socket/defaults-fileare settings-only.Security & hardening
***on the settings read paths (RESTGET /api/v2/settings/...and/descriptions, and the--list/--showCLI), matching thediffendpoint. Internal reads a module makes of its own configuration are unaffected. This is defense-in-depth, not an authorization boundary — the plaintext still lives innsclient.ini. The web admin edit dialog now writes only changed fields so the mask cannot overwrite a stored secret.legacygrant unlocks the deprecated/query.pband/query/{name}endpoints, which dispatch through the same command registry as/api/v2/queries. The built-inlegacyrole is no longer seeded on fresh installs, any role whose grant includes thelegacytoken now logs aSECURITYwarning at startup (and fromnscp web add-role/add-user), and the capability is documented in the securing guide.Installer & packaging fixes
boot.ini; stopped stamping[layout]into everyboot.ini.boot.ini's[paths]shared-path.adopt_ownerhandles root-written enrollment material and is symlink-safe.Documentation
LAYOUTproperty.Upgrade notes
nscp settings --migrate-layout modern(try--dry-runfirst) or the MSILAYOUTproperty. Run the CLI migration from an elevated prompt — the destination is locked toSYSTEM/Administrators.***. Tooling that read a secret out ofGET /api/v2/settings/...will now receive***for keys registered sensitive. No configuration change is required.legacyWEB role is no longer seeded on fresh installs and any role granting thelegacypermission logs aSECURITYwarning. Existing installs keep their role and are unaffected; only grantlegacyto trusted legacy systems.Full Changelog: 0.16.1...0.16.2
This discussion was created from the release 0.16.2.
All reactions