Skip to content

v1.116.0: NTP clock-tamper protection + auth audit#52

Merged
TheAbider merged 1 commit into
masterfrom
release/v1.116.0
May 30, 2026
Merged

v1.116.0: NTP clock-tamper protection + auth audit#52
TheAbider merged 1 commit into
masterfrom
release/v1.116.0

Conversation

@TheAbider
Copy link
Copy Markdown
Owner

v1.116.0 — NTP clock-tamper protection + time-authentication audit

NTP Configuration → [8] Clock-Tamper Protection plus a read-only CLI action. Targets the real W32Time security knobs rather than a Unix-style keys file (which does not exist on Windows).

  • NtpHardeningAudit (read-only) — sync type (NT5DS/NTP/NoSync), authenticated (domain MS-SNTP) vs unauthenticated (manual NTP) source, MaxPos/MaxNegPhaseCorrection (decoding 0xFFFFFFFF as "Unbounded"), and RequireSecureTimeSyncRequests. JSON-aware.
  • Clock-Tamper Protection (reversible) — bounds MaxPos/MaxNegPhaseCorrection to a chosen cap (default 48 h = the DC default). Closes the unbounded default domain members ship with, so a wrong/hostile time source cannot jump the clock arbitrarily and break Kerberos. Prior values captured for undo; Dry-Run aware; corrections past the cap are logged, not applied.

Platform note: Windows has no standalone ntp.keys file — authenticated NTP is MS-SNTP, keyed from the machine account via the domain hierarchy (legacy MD5-derived). The feature audits that path instead of exposing a keys file that does not exist.

CLI actions 197 → 198. Section 183 added (5099 structural tests, all green).

Add NTP Configuration [8] Clock-Tamper Protection plus a read-only CLI
action. Targets the real Windows Time security knobs rather than a
Unix-style symmetric-key file (which does not exist on Windows).

- NtpHardeningAudit (read-only): reports sync type (NT5DS/NTP/NoSync),
  whether the source is authenticated (domain MS-SNTP) or unauthenticated
  (manual NTP), the MaxPos/MaxNegPhaseCorrection limits (decoding
  0xFFFFFFFF as Unbounded), and RequireSecureTimeSyncRequests. JSON-aware.
- Clock-Tamper Protection (reversible): bounds MaxPos/MaxNegPhaseCorrection
  to a chosen cap (default 48h = the DC default; closes the unbounded
  default domain members ship with, so a wrong/hostile time source cannot
  jump the clock arbitrarily and break Kerberos). Prior values captured for
  undo; Dry-Run aware; corrections past the cap are logged not applied.

Windows has no standalone ntp.keys file; authenticated NTP is MS-SNTP keyed
from the machine account via the domain hierarchy (legacy MD5-derived). The
feature audits that path instead of exposing a keys file that does not exist.

Addition to 19-NTPConfiguration. CLI actions 197 -> 198. Section 183 added;
5099 structural tests green.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@TheAbider TheAbider merged commit b20de79 into master May 30, 2026
7 checks passed
@TheAbider TheAbider deleted the release/v1.116.0 branch May 30, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant