This command provides business value by ensuring the security posture of Java/Tomcat/JBoss/WildFly/Hadoop SPNEGO hosts in Active Directory (AD). It audits the AD-side HTTP SPN posture for these hosts, helping to prevent authentication failures and service disruptions.
- Who uses this:
- IT administrators responsible for managing AD and Java/SPNEGO configurations
- Security teams monitoring AD security posture
- Risks:
- Authentication failures due to missing or incorrect SPNs
- Service disruptions caused by invalid or outdated SPN mappings
- When a manager cares:
- During regular security audits and compliance checks
- After major changes to AD or Java/SPNEGO configurations
To use this command, follow these steps:
- Import the SpnManager module:
Import-Module SpnManager - Run the Get-JavaSpnegoSpnAudit cmdlet against the target host:
Get-JavaSpnegoSpnAudit -TargetComputer 'wildfly01.corp.example.test'This will output a report on the AD-side HTTP SPN posture for the specified host.
- Common patterns:
- Auditing Java/SPNEGO hosts regularly to ensure correct SPN mappings
- Using this cmdlet as part of a larger script or workflow to automate security audits
- Code examples:
# Get the report for a single host
Get-JavaSpnegoSpnAudit -TargetComputer my_host
# Get the reports for multiple hosts in parallel
$hosts = @("host1", "host2", "host3")
Get-JavaSpnegoSpnAudit -TargetComputer $hosts- Watchpoints:
- Be aware of directory failures, which will result in a clean outcome row instead of throwing an error
This command audits the AD-side HTTP SPN posture for Java/Tomcat/JBoss/WildFly/Hadoop SPNEGO hosts.
- What it does:
- Resolves the FQDN and NetBIOS short name for the target host
- Builds the expected HTTP SPN set for the SPNEGO web leg (HTTP/
and HTTP/ ) - Searches AD for the account carrying the primary HTTP/
SPN
- Step-by-step recipes:
- Run the Get-JavaSpnegoSpnAudit cmdlet against the target host.
- Review the output report to identify any issues or discrepancies.
What to do when stuck:
- Consult the SpnManager documentation and troubleshooting guides.
- Reach out to IT administrators or security teams for assistance.
- Verify that the AD configuration and Java/SPNEGO settings are correct.
| 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.JavaSpnego |
| 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. |
This cmdlet handles sensitive data, including:
- SPN mappings and account information
- Encrypted keytabs and passwords
Transit security: The output report is transmitted to the console or log file.
At-rest security: The output report is stored in a local log file or database.
Audit trail: This cmdlet logs its activity, including errors and warnings.
Compliance requirements:
- NIST 800-53, AU-2 (Audit Management)
- PCI DSS v3.2.1, 12.9 (Account Management)
- HIPAA, 164.312(a) (Audit Controls)
This is the sense step. It reads the current state and produces a candidate; nothing is changed. Providers: AD.JavaSpnego.
Example 1
Get-JavaSpnegoSpnAudit -TargetComputer 'tomcat01.corp.example.test'Audits the expected HTTP SPN posture for the Tomcat host and returns a finding when an expected HTTP SPN is missing from AD.
Example 2
Get-JavaSpnegoSpnAudit -TargetComputer 'jboss01' | Where-Object MissingSpnsReturns the audit only when there is an AD-side HTTP SPN gap to act on.
Example 3
Get-JavaSpnegoSpnAudit -TargetComputer 'wildfly01.corp.example.test' | Export-JavaSpnegoSpnRunbookRenders the operator hand-off runbook (far-side keytab regeneration steps)
for the finding.
Also uses: Export-JavaSpnegoSpnRunbook (Handoff).