SpnManager Kerberos SPN auditing and repair for Active Directory

Get-LinuxJoinedSpnAudit

The Get-LinuxJoinedSpnAudit cmdlet provides visibility into the AD-side HOST SPN posture for Linux hosts joined to AD. This is particularly useful for orga...

The Get-LinuxJoinedSpnAudit cmdlet provides visibility into the AD-side HOST SPN posture for Linux hosts joined to AD. This is particularly useful for organizations with a mix of Windows and Linux systems in their Active Directory environment.

Managers should care about this audit when:

  • They are planning or have recently implemented AES hardening on their KDC policy
  • They need to ensure that all systems, including Linux, are properly configured to use AD-joined service accounts
  • They are looking for opportunities to improve the security posture of their Active Directory environment

Here’s a step-by-step guide on how to use Get-LinuxJoinedSpnAudit:

  1. Run the cmdlet with no parameters:
Get-LinuxJoinedSpnAudit

This will return a list of audit outcomes for each Linux host joined to AD.

  1. Filter the results by specific host or hosts:
Get-LinuxJoinedSpnAudit -TargetComputer 'linux01.corp.example.test'
  1. Check the output format, which includes expected and actual SPNs, as well as any errors encountered during the audit.

Watchpoints:

  • Ensure that the AD COMPUTER object for each Linux host is accessible and up-to-date.
  • Verify that the HOST SPN set is correctly configured on each Linux host.

Get-LinuxJoinedSpnAudit checks the AD-side HOST SPN posture for Linux hosts joined to AD. Here’s how it works:

  1. The cmdlet resolves the FQDN and NetBIOS short name of the target host.
  2. It builds the expected HOST SPN set based on the host’s AD COMPUTER object.
  3. It compares the expected and actual SPNs, reporting any discrepancies.

If you’re getting stuck:

  • Check that the AD COMPUTER object is accessible and up-to-date.
  • Verify that the HOST SPN set is correctly configured on each Linux host.
Field Value
Vendor Detent Point LLC
Product SpnManager 0.4.0
Licence Proprietary - licensed, not sold. See LICENSE.
Operational impact Read-only. Queries Active Directory and reports findings; changes nothing.
Rights required Directory read access. Some providers additionally need rights to read delegation and encryption-type attributes.
Providers covered AD.LinuxJoined
Approval recommendation Approve for general operational use. It cannot alter directory state.

Licence terms are proprietary and are supplied with the purchase, subscription or evaluation agreement. No open-source licence is granted.

What Why
Windows PowerShell 5.1 or later Declared by the module manifest.
ActiveDirectory 1.0.0.0 Required module. Ships with RSAT; install the Active Directory PowerShell feature.
A reachable domain controller Every provider reads from Active Directory.
An account with directory read access Needed to enumerate accounts and their SPNs.

Get-LinuxJoinedSpnAudit handles data as follows:

  • In transit: Uses secure protocol (HTTPS) and authentication (AD credentials).
  • At rest: Stores no sensitive information.
  • Audit trail: Logs all operations, including errors and discrepancies.

Compliance requirements:

  • Meet or exceed applicable laws and regulations regarding AD security and keytab management.

This is the sense step. It reads the current state and produces a candidate; nothing is changed. Providers: AD.LinuxJoined.

Example 1

Get-LinuxJoinedSpnAudit -TargetComputer 'linux01.corp.example.test'

Audits the expected HOST SPN posture on the computer object for the Linux host and returns a finding when an expected HOST SPN is missing from AD.

Example 2

Get-LinuxJoinedSpnAudit -TargetComputer 'linux01' | Where-Object MissingSpns

Returns the audit only when there is an AD-side HOST SPN gap to act on.

Example 3

Get-LinuxJoinedSpnAudit -TargetComputer 'linux01.corp.example.test' | Export-LinuxJoinedSpnRunbook

Renders the operator hand-off runbook (host-local keytab refresh steps)

for the finding.

Also uses: Export-LinuxJoinedSpnRunbook (Handoff).