NIST's New Password Rules, and the Service Accounts They Don't Cover

For years we told people to change their password every 90 days, add a capital letter, a number and a symbol, and never write it down. It turns out most of that advice made things worse. People did what people do. Summer2025! became Autumn2025!, and we called it compliance.

In August 2025 NIST published SP 800-63B-4, the latest version of its digital identity guidelines, and it closes the book on a lot of those old habits. It replaces the 2017 revision that most password policies still quote, so if your policy says "aligned to NIST 800-63B", it's worth checking which version you actually mean.

What NIST now says about passwords

  • Length beats complexity. If a password is the only thing protecting an account, it needs to be at least 15 characters. Where it's one part of multi-factor authentication, the minimum is 8.
  • No more composition rules. Systems must not force a mix of uppercase, numbers and symbols. A long passphrase does the job better, and people can actually remember it.
  • No more scheduled changes. Forced rotation is out. You change a password when there's evidence it has been compromised, not because the calendar says so.
  • Check against a blocklist. Every new password must be compared against lists of breached, common and context-specific passwords. That's what stops "Welcome1" or your company name followed by the year getting through.
  • Let password managers do their job. Paste and autofill must be allowed. Password hints and security questions are gone.
  • Move towards phishing resistance. Phishing-resistant options such as passkeys and FIDO2 security keys must be offered at AAL2 and are mandatory at AAL3. SMS codes remain "restricted", and email is no longer acceptable as an authenticator.

The theme is simple. Stop making life hard for humans, and put the effort into the controls that actually stop attackers: breach checks, rate limiting and strong MFA.

The accounts this guidance doesn't cover

Here's the catch. NIST 800-63B is written for people logging in. It assumes there's a human at the keyboard who can tap a phone, touch a security key or notice a strange prompt. Service accounts don't fit that picture at all.

A service account is the identity an application, scheduled task, backup job or integration uses to talk to other systems. In almost every environment we assess, they share the same story:

  • No MFA, because there's nobody there to respond to a prompt.
  • A password set once, years ago, and never changed because nobody is sure what will break.
  • "Password never expires" ticked, and often excluded from Conditional Access and lockout policies so the job keeps running.
  • Far more privilege than it needs. Domain Admin "just to make it work" is still depressingly common.
  • Credentials sitting in scripts, config files, scheduled tasks or a shared spreadsheet.
  • No clear owner once the person who set it up has moved on.

Put those together and you have the perfect target: a privileged account with no MFA, a password that never changes, and logins at 3am that raise no eyebrows because that's what it always does.

Attackers know this. In Active Directory, any domain user can request a Kerberos service ticket for an account with a service principal name and crack it offline, a technique known as Kerberoasting. There's no lockout and no failed logon alerts, because the guessing happens on the attacker's own hardware. A weak, ten-year-old service account password doesn't last long. In the cloud the equivalent is a client secret or API key that never expires, sitting in a repo or a pipeline.

So there's an irony here. "Stop rotating passwords" is good advice for your staff, and dangerous advice if someone applies it to service accounts without the controls that make it safe. NIST's position relies on MFA and breach detection being in place. Service accounts usually have neither.

What good looks like for service accounts

ASD's Essential Eight is clearer on this point. From Maturity Level Two, credentials for service accounts, local administrator accounts and break glass accounts are expected to be long, unique, unpredictable and managed. In practice that means:

  1. Find them first. Build an inventory of every non-human account, what it does, what it can reach and who owns it. You can't fix what you can't see.
  2. Remove the password where you can. Use group managed service accounts (gMSA) in Active Directory, where Windows generates a 120-character password and rotates it automatically. In Azure and AWS, use managed identities and workload identity federation instead of stored secrets.
  3. Where a password has to stay, make it long, random and vaulted. Think 30 characters or more, generated and stored in a privileged access management tool, with automated rotation and an audit trail. Change it straight away if someone who knew it leaves or you suspect it has been exposed.
  4. Cut privilege back hard. A backup service account doesn't need Domain Admin. Scope each account to the systems and rights it actually uses.
  5. Restrict where it can log in. Deny interactive logon, limit it to the specific hosts it runs on, and block internet and email access.
  6. Watch it closely. Service accounts behave predictably, which makes anomalies easy to spot. Alert on logons from new hosts, interactive sessions and unusual Kerberos ticket requests.

Where to start

If you do one thing this month, pull a list of every account with "password never expires" set, then check how old those passwords are and which groups the accounts belong to. That list will tell you more about your real exposure than most policy documents.

Then update your password policy to reflect 800-63B-4 for your people, and write a separate standard for non-human identities. They're two different problems and they deserve two different sets of rules.

At Spartans Security our penetration testers find weak or over-privileged service accounts on nearly every internal engagement, and our vCISO team helps organisations put the policy and tooling in place to manage them properly. If you'd like to know how your environment stacks up, get in touch.

References

Recent blog

View all blog