meta data for this page
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| windows:domain:start [2026/06/18 08:03] – created titannet | windows:domain:start [2026/06/18 08:06] (current) – titannet | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| * Service principal name | * Service principal name | ||
| * Unique identifier used in windows environments to link a specific network service to the Active Directory account running that service | * Unique identifier used in windows environments to link a specific network service to the Active Directory account running that service | ||
| + | * [[https:// | ||
| + | === Reddit src === | ||
| + | |||
| + | |||
| + | An SPN is how your computer identifies a service on a network. That service could a be network protocol like HTTP or SMB. SPN and SPN binding are the same thing. Or rather, the binding is the literal registration of the SPN to the service account. See below. | ||
| + | |||
| + | When you open a file share to \\othermachine\share Windows is asking to get a ticket to the SPN ' | ||
| + | |||
| + | Now the client stack (say SMB) has asked the Windows security system for a ticket to that SPN. The security system asks the Kerberos stack, and the Kerberos stack fires a request off to the Domain Controller. The Domain Controller looks up the service account in AD by the requested SPN and returns a ticket to the client encrypted to the service account password. | ||
| + | |||
| + | The client receives the encrypted ticket, fires it off to the service on the other machine, and the other machine decrypts the ticket because it has it's own password. It's that simple. | ||
| + | |||
| + | So the SPN identifies the service so AD can know what service account it needs to find and by extension which password it should encrypt the ticket to. If the SPN isn't found then the DC returns an error, and if the SPN is registered on a service account different than the service account running the service then the decryption will fail because the passwords don't match. | ||
| + | |||
| + | Windows doesn' | ||
| + | |||
| + | That's why SPNs need to be unique per service account. You can have as many SPNs as you want associated to a single service account, but you can't have one SPN associated to more than one account. When a service is running as the local system or network service they are operating as the machine account. So SMB for instance is registered on the computer object in AD as cifs/ | ||
| + | |||
| + | The mapping of Windows Services to SPNs is a bit lopsided. There' | ||
| + | |||
| + | See here for a lot more specifics about the protocol bits: Kerberos Explained in a Little Too Much Detail (syfuhs.net) | ||
| + | |||
| + | Now all of this is well and good, but there' | ||