1. Home
  2. Lab library
  3. IB-AD-SEC

Build a Tiered Admin Model in Active Directory

A tiered admin model stops a compromised workstation from becoming a compromised domain by making sure powerful credentials are never used on less trusted machines. In this lab you create Tier 0, Tier 1 and Tier 2 admin accounts and groups, build the OU…

Level Advanced Time about 120 minutes Updated
Quick answer

A tiered admin model stops a compromised workstation from becoming a compromised domain by making sure powerful credentials are never used on less trusted machines. In this lab you create Tier 0, Tier 1 and Tier 2 admin accounts and groups, build the OU structure, apply Group Policy logon restrictions and test that each tier is contained.

Key takeaways

  • Credentials are stolen from the machines where they are used, so control where admins log on
  • Tier 0 is identity control, Tier 1 is servers and applications, Tier 2 is workstations
  • Deny logon rights in Group Policy enforce the rule that higher tiers never log on to lower tiers
  • Each admin needs a separate account per tier, apart from their everyday account

Why this lab matters

When a Domain Admin signs in to a workstation to fix a printer, their credentials sit in that machine's memory. If the workstation is already compromised, the attacker now has the domain. Tiering is the rule that prevents this: an account that controls a higher tier must never log on to a lower tier. Microsoft now describes this within its enterprise access model, and the three tier layout remains the practical way to apply it on premises.

TierWhat it containsExample admin account
Tier 0Domain controllers, AD itself, PKI, Entra Connect, the PAM vaultt0-jsmith
Tier 1Member servers, applications and databasest1-jsmith
Tier 2Workstations, laptops and user devicest2-jsmith
Building the tier model, step by step01Classify assetsTier 0, Tier 1, Tier 202Build OUs and groupsOne admin OU per tier03Separate accountsOne admin account per tier04Apply deny rightsGroup Policy per tier05Test containmentLogons that must fail06Monitor breachesEvent 4624 across tiers
Building the tier model, step by step

What you need

  • A lab domain with one domain controller, one member server and one workstation.
  • Domain Admin rights and the Group Policy Management console.
  • Working emergency access to the domain controller console, in case a policy locks you out.
Warning

Deny logon rights are powerful. A mistake in scope can lock every administrator out of the domain controllers. Never apply these policies to a real domain without a tested rollback and a staged rollout.

Step 1: Build the OU structure and groups

Import-Module ActiveDirectory
$root = (Get-ADDomain).DistinguishedName

New-ADOrganizationalUnit -Name 'Admin' -Path $root
foreach ($t in 'Tier0','Tier1','Tier2') {
  New-ADOrganizationalUnit -Name $t -Path "OU=Admin,$root"
  New-ADOrganizationalUnit -Name 'Accounts' -Path "OU=$t,OU=Admin,$root"
  New-ADOrganizationalUnit -Name 'Groups'   -Path "OU=$t,OU=Admin,$root"
  New-ADGroup -Name "GRP-$t-Admins" -GroupScope Global -GroupCategory Security -Path "OU=Groups,OU=$t,OU=Admin,$root"
}
New-ADOrganizationalUnit -Name 'Servers'      -Path $root
New-ADOrganizationalUnit -Name 'Workstations' -Path $root

Move the member server into Servers and the workstation into Workstations.

Step 2: Create one admin account per tier

$pw = Read-Host -AsSecureString 'Initial password'
foreach ($t in 0,1,2) {
  New-ADUser -Name "t$t-jsmith" -SamAccountName "t$t-jsmith" -AccountPassword $pw -Enabled $true `
    -Path "OU=Accounts,OU=Tier$t,OU=Admin,$root"
  Add-ADGroupMember "GRP-Tier$t-Admins" -Members "t$t-jsmith"
}
Add-ADGroupMember 'Domain Admins' -Members 't0-jsmith'

These accounts have no mailbox and are not used for browsing. The person's everyday account stays a standard user.

Step 3: Grant rights at the right tier

  1. Create a GPO T1-Local-Admins linked to Servers. Under Computer Configuration, Preferences, Control Panel Settings, Local Users and Groups, update the built-in Administrators group to add GRP-Tier1-Admins.
  2. Create T2-Local-Admins linked to Workstations that adds GRP-Tier2-Admins in the same way.

Step 4: Apply the deny logon rights

In each GPO below, open Computer Configuration, Policies, Windows Settings, Security Settings, Local Policies, User Rights Assignment and add the listed groups to all five rights: Deny access to this computer from the network, Deny log on locally, Deny log on through Remote Desktop Services, Deny log on as a batch job and Deny log on as a service.

GPOLinked toGroups to deny
T2-Deny-Higher-TiersWorkstationsGRP-Tier0-Admins, GRP-Tier1-Admins, Domain Admins, Enterprise Admins
T1-Deny-Other-TiersServersGRP-Tier0-Admins, GRP-Tier2-Admins, Domain Admins, Enterprise Admins
T0-Deny-Lower-TiersDomain ControllersGRP-Tier1-Admins, GRP-Tier2-Admins
Tip

Leave network access for Domain Admins out of the deny list on member servers if a Tier 0 management tool must reach them, and record why. Every exception should have an owner and a review date.

Refresh policy on each machine with gpupdate /force and restart it.

Step 5: Test containment

TestExpected result
t0-jsmith signs in at the workstationRefused. The sign-in method you are trying to use is not allowed
t0-jsmith connects by Remote Desktop to the member serverRefused
t1-jsmith signs in at the member serverAllowed, with local admin rights
t1-jsmith signs in at the workstationRefused
t2-jsmith signs in at the workstationAllowed, with local admin rights
t2-jsmith connects to the domain controllerRefused

Confirm the applied rights on any machine:

gpresult /r /scope computer
secedit /export /cfg C:\Temp\rights.inf /areas USER_RIGHTS
Select-String -Path C:\Temp\rights.inf -Pattern 'SeDeny'

Step 6: Monitor for tier breaches

Policy can drift, so watch for the thing it prevents. On workstations and servers, a successful logon (event ID 4624) by an account from a higher tier is a breach worth an alert. In a SIEM, match the account name prefix against the tier of the machine. A refused attempt appears as event ID 4625 with status 0xC000015B, which means the logon type was not granted.

Verify

The lab is complete when all six tests in Step 5 give the expected result and you can show the deny rights in the exported policy.

Evidence to keep

  • A GPO report for each of the three deny policies.
  • The completed test table with dates.
  • The list of approved exceptions, each with an owner.

Where to go next

Tier 0 admins should work from a dedicated privileged access workstation, and authentication policy silos can bind Tier 0 accounts to Tier 0 machines at the Kerberos level. Pair this lab with the Windows LAPS and Protected Users labs for a much harder domain.

Frequently asked questions

What is the Active Directory tier model?

It is a way of separating administration into levels of trust. Tier 0 controls identity, such as domain controllers. Tier 1 covers servers and applications. Tier 2 covers workstations and user devices. Accounts from a higher tier are blocked from logging on to lower tier machines.

Why should Domain Admins not log on to workstations?

Credentials can be stolen from the memory of any machine where they are used. Workstations are the most exposed machines, so a Domain Admin logon there gives an attacker a direct route to the whole domain.

How do you enforce tiering with Group Policy?

Add the higher tier admin groups to the deny logon user rights, such as Deny log on locally and Deny log on through Remote Desktop Services, in a GPO linked to the OU of the lower tier machines.

Is the tier model still recommended by Microsoft?

Microsoft has folded it into the enterprise access model, which adds cloud and control plane concepts. The core rule, keeping privileged credentials off less trusted systems, is unchanged and the three tier layout is still widely used for on-premises Active Directory.

Built and published by Muhammad Rizwan Afzal for Identity Bytes. Run every lab against a disposable test tenant, never production.