账号锁定设置及过程

今天我们来了解下活动目录中账号锁定的设置及其过程。账号的锁定根据其角色的不同可以分为普通账号锁定和域控内置管理员账号锁定,通过以下篇幅,我们来看下他们设置和过程的不同点。

普通账号锁定

普通账号锁定设置

普通用户锁定设置可以在AD用户和计算机管理器中实现。过程如下:

Windows server 2003:

  1. Start-->Administrative Tools-->Active Directory Users and Computers
  2. 在左边操控台树形结构中,右击你想要设置组策略的那个域。
  3. 点击Properties,然后选择Group Policy标签。
  4. Group Policy Object Links中,选中Default Domain Policy或者其他你已经建立好的组策略,点击Edit
  5. Group Policy Object Editor窗口,左边的操控台树形结构中,双击Computer Configuration-->Windows Settings-->Account Policies,并且点击Account Lockout Policy
  6. 在右边窗口中,右击你所要设置的组策略键值(下文会详细介绍相关键值),并且选择Properties
  7. 如果你是第一次设置这个组策略,点击Define this policy setting
  8. 选择你希望的可选项,按OK

Window server 2008:

  1. Start-->Administrative Tools-->Group Policy Management
  2. 在左边操控台树形结构中,展开森林-->Domains,并展开你想要设置组策略的那个域。
  3. 选择并右击这个域中的Default Domain Policy或者其他你已经建立好的组策略,点击Edit…
  4. Group Policy Management Editor窗口,左边的操控台树形结构中,双击Computer Configuration-->Policies -->Windows Settings-->Security Settings-->Account Policies,并且点击Account Lockout Policy
  5. 在右边窗口中,右击你所要设置的组策略键值(下文会详细介绍相关键值),并且选择Properties
  6. 如果你是第一次设置这个组策略,点击Define this policy setting
  7. 选择你希望的可选项,按OK

账号锁定过程

在了解账号锁定过程之前,有几个键值我们需要知道:

LockoutDuration “LockoutDuration”设置了一段时间(以“分”为单位),它表示了这个账号被锁定时间的长短。如果“LockoutDration”的数值为0,那说明这个账号在没有管理员或者拥有账号重置权限的用户进行解锁的情况下,它将永久性的被锁定;如果“LockoutDuration”被设置成了一个非0的值,那么只要管理员或者拥有账号重置权限的用户没有为锁定账号解锁,这个账号将在“LockoutDuration”所设置的时间过去之后由操作系统自动解锁。

LockoutThreshold “LockoutThreshold”设置了操作系统在锁定用户账号之前,用户、计算机、服务或者程序可以在登录认证过程中发送错误密码的次数。系统中用“badPwdCount”这个键值来记录实际递交的错误密码次数,请看下文对“badPwdCount”的介绍。

badPwdCount “badPwdCount“键值存储了用户、计算机或者服务账号试图用错误密码登陆的次数。域中的每个域控会分别存储这个数值。

badPasswordTime “badPasswordTime”这个键值存储了最后一次用户、计算机或者服务账号向域控递交一个未被验证通过的密码的时间。这个属性被存储在域中的每一个域控中。当“badPasswordTime”数值为0时,意味着系统不知道最近一次错误密码递交时间。

好了,通过对以上键值的认识,我们就可以了解普通账号锁定的过程了:

默认情况下,Windows NT Server 4.0,Windows 2000,和Windows Server 2003的域是不启用账号锁定功能的,只有当域管理员启用了相关default domain policy设置之后(即上文提到的账号锁定设置),账号锁定功能才会被启用。

当账号功能被启用之后,当你在一定时间内试图用错误密码登录系统的次数超过LockoutThreshold键值后,你的账号将会被锁定。被锁定的账号只能等到管理员解锁,或者LockoutDuration所设置的时间过去之后才能被使用。如图所示,当某个账号(Tester)被锁定之后,域控上这个账号的属性中可以看到这个账号被锁定了。

在Event Viewer的Security Log中我们可以看到相应的Event ID:644,这个Event ID 644就表示了用户账号被锁定了,如下图所示:

域控内置管理员( DC Build-in Administrator )账号锁定

域控内置管理员和一般用户在账号锁定功能启用的时候会有所不同。让我们来看一下:

域控内置管理员账号锁定设置

  1. 安装ADSI snap-in。
  2. Start-->Run,输入adsiedit.msc
  3. 展开某个你想设置账号锁定功能的域。
  4. 右击DC=Your_Domain_Name,DC=Your_Domain_Name,并且选择Properties
  5. 点击Attribute Editor标签,在Attributes列表中,找到pwdProperties属性。
  6. 点击Edit,就可在Integer Attribute Editor弹出框中输入你想要使用的数值,请看下列选项。

数值

密码策略

0

密码可以为简单密码,管理员账号不能被锁定

1

密码必须为复杂密码,管理员账号不能被锁定

8

密码可以为简单密码,管理员账号可以被锁定

9

密码必须为复杂密码,管理员账号可以被锁定

      7. 点击OK

从以上对pwdProperties属性的设置来看,无论它被设为0或者1,域控内置管理员账号都不会被锁定。我们来看一个例子。比如域控中我们设置pwdProperties属性为“1”。如图所示:

当我们人为的用域控内置管理员账号在一定时间内多次(超过LockoutThreshold键值)使用错误密码登陆系统之后,此域控管理员账号依然可以登入系统,尽管域控上账号的相关属性和Security
Log都显示这个账号已被锁定,请参看下图:

这一现象其实是由于域控内置管理员账号在被锁定之后,重新登录系统时,系统的lsass进程会自动检查域控上pwdProperties属性的值,如果是0或者1,那么这个账号就会被放行。