Every catastrophic breach you’ve ever read about ended the same way: the attacker got admin access. Initial compromise is usually mundane — a phished credential, a misconfigured service, a vulnerable web application. But the escalation from foothold to total compromise runs through privileged accounts every time. Domain admin. Root. Cloud IAM owner. Database admin. These accounts can read everything, change everything, delete everything, and cover the tracks.

If you manage infrastructure, cloud environments, or anything with admin-level access, this guide is the hardening checklist. Not the theory — the specific controls, tools, and procedures that make privileged accounts orders of magnitude harder to abuse.

DO / DON’T

DO:

DON’T:

Separate Your Accounts

This is the foundational control that everything else builds on. If you do nothing else from this guide, do this.

The Two-Account Model

Every person who needs admin access operates with two accounts:

  1. Daily-use account: Email, Slack, browsing, documents, meetings. Standard permissions. This account is exposed to phishing, malware, and all the threats that come with normal computer use.
  2. Admin account: Used exclusively for administrative tasks. Never opens email. Never browses the web. Ideally used only from a dedicated admin workstation or a hardened jump box.

The principle: your admin credentials should never touch a system where they could be harvested by an attacker who compromised your daily workflow. Microsoft’s tiered access model formalizes this — Tier 0 credentials (domain admins) only authenticate to Tier 0 systems (domain controllers). They never touch Tier 1 (servers) or Tier 2 (workstations).

Privileged Access Workstations (PAWs)

For maximum isolation, admin tasks should be performed from dedicated workstations that are locked down to only administrative use:

If dedicated hardware isn’t feasible, use a hardened virtual machine for admin tasks — booted fresh for each session, not persisted between uses.

Vault Your Credentials

No human should know a production admin password. No config file should contain a hardcoded credential. Every privileged credential belongs in a vault.

Setting Up Credential Vaulting

Service Account Credentials

Service accounts are the hidden minefield. They outnumber human accounts in most environments, use static passwords, and often have excessive privileges.

Implement Just-in-Time Access

The gold standard: nobody has standing admin privileges. Admin access is requested, approved, time-limited, and automatically revoked.

How to Deploy JIT

JIT Policies to Set

Monitor Privileged Sessions

When someone is operating with admin-level access, record what they do. Every command, every query, every configuration change.

What to Record

What to Alert On

Break-Glass Procedures

When your PAM system is down, your IdP is unreachable, or you’re locked out of your cloud console during an active incident, you need a way in. That’s the break-glass procedure. Build it before you need it.

Setting It Up

NIST SP 800-53 AC-2(2) requires removal of temporary/emergency accounts after defined periods. Break-glass accounts are the exception — they persist but are heavily monitored.

If It Already Happened

If you suspect a privileged account has been compromised:

  1. Disable the account immediately. Don’t change the password — disable it. A password change leaves active sessions intact.
  2. Revoke all active sessions and tokens from the compromised account across every system it had access to.
  3. Rotate every credential the account had access to. If the compromised account could access the credential vault, rotate everything in the vault. If it had access to service account passwords, rotate those. Assume the attacker extracted everything they could reach.
  4. Check for persistence. Look for new accounts, modified group memberships, scheduled tasks, cron jobs, SSH keys, OAuth applications, and any other persistence mechanism — MITRE ATT&CK Persistence tactics catalog the techniques.
  5. Review session recordings and audit logs. Reconstruct exactly what the compromised account did. Every command, every access, every change. This determines the blast radius.
  6. Isolate affected systems if the scope of compromise is unclear. It’s better to take systems offline temporarily than to leave an attacker with continued access.
  7. Engage incident response. A compromised admin account is a critical-severity incident. Activate your incident response plan and bring in your security team or a third-party IR firm.

The theme across all of these controls is the same: make privileged access hard to get, hard to keep, hard to misuse, and impossible to hide. Every control you implement from this list raises the cost for an attacker. Stack enough of them and the cost becomes prohibitive.