其他分享
首页 > 其他分享> > 关于AD账户锁定的经验分享

关于AD账户锁定的经验分享

作者:互联网


账号锁定是怎么发生的?

      通常情况下,当账户输入了错误的密码,经过身份验证的域控制会将请求传递给拥有PDC角色的DC服务器。PDC始终持有账户的最新密码。因此当输入错误的密码时PDC会检查其数据库中的密码与其比对。如果不正确,则PDC将该账户的badPwdCount属性加1,并且将这次无效的登陆记录在安全事件日志中。如果badPwdCount达到账户锁定的阈值,DC将锁定该账户并通知其他域控制器,并在其安全事件中记录事件ID4740。

如何查看PDC角色呢?

(Get-addomain).PDCEmulator

如何查看账户是否已达到其锁定阈值呢?

Get-ADUser zhangsan -Properties * |fl BadLogonCount,logonCount,LastBadPasswordAttempt,badPwdCount,DisplayName,LockedOut,AccountLockoutTime

账号锁定从域控角度分析可以得到那些信息呢?

       对于分析用户锁定中的DC日志,是一件非常耗时的事情。但是你又不得不做。分析日志通常情况下会让你很沮丧,推荐你使用一款日志分析工具 Event Log Explorer 它是收费的,你可以试用30天

       当用户反馈账户锁定时,会在PDC中产生一条ID为4740的日志,你可以从这条日志中得到锁定的用户名,时间,源自那台计算机。

image.png

       这时你需要观察时间轴附近是否有关于此用户的锁定日志,这很关键。根据我的经验,时间轴附近会出现几条ID为4771的Kerberos认证失败的日志。你可以在这些日志中客户端IP,认证失败代码,预身份验证类型等信息。在实践中,如果您的DC有多个站点,Client address 会是客户端最近访问的DC IP地址。

image.png

除此之外,我们在发送账户锁定时,需要关注一下事件ID

ID

描述

4740

用户账户被锁定

4625

账户登陆失败

4771

Kerberos 预身份验证失败

4776

DC尝试验证身份凭据

4777

DC无法验证身份凭据

4770

Kerberos服务票据已更新

4624

账户已登陆成功

4648

尝试使用显示凭据(即计划任务或运行方式)登陆

4746

账户已解锁

       对帐户进行故障排除时,我会寻找可能导致4740锁定事件的4625个事件组。4740中的消息将告诉您最终导致锁定的原因。请记住,尽管4625报告登录失败,但不一定是罪魁祸首。可能只是失败了,因为帐户已被锁定,如下面的4625示例所示。你可以在此ID中得到用户的登陆类型,失败状态,失败代码,及进程信息。这有助于你分析是那个应用程序导致的,关于日志分析,你需要参考微软官方https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4625


什么导致的账号锁定呢?

导致账号锁定的原因有很多,我大概整理了以下几点

1、程序:许多程序会缓存凭据或保留活动线程,以便在用户更改密码后保留凭据

2、服务帐户:服务帐户密码由服务控制管理器在使用该帐户以及域控制器的成员计算机上缓存。如果您重置服务帐户的密码,并且未在服务控制管理器中重置密码,则会发生服务帐户的帐户锁定。这是因为使用此帐户的计算机通常使用以前的密码重试登录身份验证。若要确定是否发生这种情况,请在成员计算机上的Netlogon日志文件和事件日志文件中查找模式。然后,您可以将服务控制管理器配置为使用新密码并避免将来的帐户锁定。

3、错误密码阈值设置得太低:这是最常见的配置错误问题之一。许多公司将“错误密码阈值”注册表值设置为低于默认值10的值。如果将此值设置得太低,则当程序自动重试无效的密码时,就会发生错误的锁定。Microsoft建议您将此值保留为默认值10。有关更多信息,请参见本文档中的“选择部署的帐户锁定设置”。

4、用户登录多台计算机:用户可以一次登录多台计算机。这些计算机上运行的程序可以使用当前登录用户的用户凭据访问网络资源。如果用户在其中一台计算机上更改了密码,则在其他计算机上运行的程序可能会继续使用原始密码。由于这些程序在请求访问网络资源时会进行身份验证,因此继续使用旧密码,并且用户帐户被锁定。为确保不会发生此行为,用户应注销所有计算机,从一个位置更改密码,然后注销并重新登录。

5、存储的用户名和密码保留冗余凭据:如果任何保存的凭据与登录凭据相同,则应删除这些凭据。凭据是多余的,因为Windows在找不到显式凭据时会尝试登录凭据。要删除登录凭据,请使用“存储的用户名和密码”工具

6、计划的任务:可以将计划的进程配置为使用已过期的凭据

7、永久驱动器映射:永久驱动器可能已使用随后过期的凭据建立。如果用户在尝试连接到共享时键入显式凭据,则该凭据不是持久性的,除非已由“存储的用户名和密码”显式保存。每当用户注销网络,登录网络或重新启动计算机时,Windows尝试还原连接时,身份验证尝试都会失败,因为没有存储的凭据。若要避免此行为,请配置net use,以使其不会建立持久连接。为此,在命令提示符下,键入net use / persistent:no。或者,要确保将当前凭据用于持久驱动器,请断开连接并重新连接持久驱动器。

8、服务帐户:默认情况下,大多数计算机服务都配置为在本地系统帐户的安全上下文中启动。但是,您可以手动配置服务以使用特定的用户帐户和密码。如果将服务配置为以特定的用户帐户开头,并且更改了帐户密码,则必须使用新密码更新服务登录属性,否则该服务可能会锁定该帐户。

9、时钟偏差过大:默认情况下客户端向DC发起kerberos认证嗅探,与DC中GPO设置的是计算机时钟同步的最大容差并在其范围呢,kerberos认证都是失败的

10、心怀不满的员工可能会故意锁定其经理的帐户

11、***可能试图通过各种手段来猜测某人的密码,例如暴力***

如何缓解密码锁定的问题呢?

1、分析其客户端及服务端日志

2、启用Netlogon日志记录,分析其日志

3、rundll32.exe keymgr.dll, KRShowKeyMgr 删除客户端缓存凭据

4、在运行中输入msconfig,禁用所有非microsoft服务

5、将错误密码阈值设置为有效的***范围次数

6、在个人账户中勾选不要求Kerberos预身份认证,此项会引起安全隐患(谨慎)

7、禁用其它无关的计划任务

我相信下面的代码表,更有助于你解决问题。


keberos错误代码表

0x0        KDC_ERR_NONE        没错

0x1        KDC_ERR_NAME_EXP        客户在KDC数据库中的条目具有(ERROR_ACCOUNT_EXPIRED)

0x2        KDC_ERR_SERVICE_EXP        KDC数据库中的服务器条目已过期(ERROR_ACCOUNT_EXPIRED)

0x3        KDC_ERR_BAD_PVNO        请求的Kerberos版本号不受支持

0x4        KDC_ERR_C_OLD_MAST_KVNO        客户的密钥在旧的主密钥中加密

0x5        KDC_ERR_S_OLD_MAST_KVNO        服务器的密钥在旧的主密钥中加密

0x6        KDC_ERR_C_PRINCIPAL_UNKNOWN        在Kerberos数据库中找不到客户端

0x7        KDC_ERR_S_PRINCIPAL_UNKNOWN        在Kerberos数据库中找不到服务器

0x8        KDC_ERR_PRINCIPAL_NOT_UNIQUE        KDC数据库中的多个主体条目

0x9        KDC_ERR_NULL_KEY        客户端或服务器具有空键(主键)

0xA        KDC_ERR_CANNOT_POSTDATE        机票(TGT)不符合过期要求

0xB        KDC_ERR_NEVER_VALID        请求的开始时间晚于结束时间

0xC        KDC_ERR_POLICY        请求的开始时间晚于结束时间

0xD        KDC_ERR_BADOPTION        KDC无法容纳请求的选项

0xE        KDC_ERR_ETYPE_NOTSUPP        KDC不支持加密类型

0xF        KDC_ERR_SUMTYPE_NOSUPP        KDC不支持校验和类型

0x10        KDC_ERR_PADATA_TYPE_NOSUPP        KDC不支持PADATA类型(Kerberos预身份验证数据)

0x11        KDC_ERR_TRTYPE_NO_SUPP        KDC不支持过渡类型

0x12        KDC_ERR_CLIENT_REVOKED        客户的凭证已被吊销

0x13        KDC_ERR_SERVICE_REVOKED        服务器的凭据已被吊销

0x14        KDC_ERR_TGT_REVOKED        TGT已被撤销

0x15        KDC_ERR_CLIENT_NOTYET        客户尚未生效-请稍后再试

0x16        KDC_ERR_SERVICE_NOTYET        服务器尚未生效-请稍后再试

0x17        KDC_ERR_KEY_EXPIRED        密码已过期-更改密码以重设(密码已过期)

0x18        KDC_ERR_PREAUTH_FAILED        Kerberos预身份验证信息无效

0x19        KDC_ERR_PREAUTH_REQUIRED        附加的Kerberos预认证所需

0x1A        KDC_ERR_SERVER_NOMATCH        KDC不知道请求的服务器

0x1B        KDC_ERR_SVC_UNAVAILABLE        KDC不可用

0x1F        KRB_AP_ERR_BAD_INTEGRITY        解密字段的完整性检查失败

0x20        KRB_AP_ERR_TKT_EXPIRED        票已过期

0x21        KRB_AP_ERR_TKT_NYV        票证尚未生效

0x22        KRB_AP_ERR_REPEAT        请求是重播

0x23        KRB_AP_ERR_NOT_US        门票不适合我们

0x24        KRB_AP_ERR_BADMATCH        票证和验证码不匹配

0x25        KRB_AP_ERR_SKEW        该时钟偏差过大

0x26        KRB_AP_ERR_BADADDR        网络层标头中的网络地址与票证中的地址不匹配

0x27        KRB_AP_ERR_BADVERSION        协议版本号不匹配(PVNO)

0x28        KRB_AP_ERR_MSG_TYPE        邮件类型不受支持

0x29        KRB_AP_ERR_MODIFIED        消息流已修改且校验和不匹配

0x2A        KRB_AP_ERR_BADORDER        消息混乱(可能会被篡改)

0x2C        KRB_AP_ERR_BADKEYVER        指定的密钥版本不可用

0x2D        KRB_AP_ERR_NOKEY        服务密钥不可用

0x2E        KRB_AP_ERR_MUT_FAIL        相互认证失败

0x2F        KRB_AP_ERR_BADDIRECTION        错误的消息方向

0x30        KRB_AP_ERR_METHOD        需要替代的身份验证方法(通常与LDAP_STRONG_AUTH_REQUIRED相同)

0x31        KRB_AP_ERR_BADSEQ        消息中的序列号不正确

0x32        KRB_AP_ERR_INAPP_CKSUM        消息中校验和的类型不正确(校验和可能不受支持)

0x33        KRB_AP_PATH_NOT_ACCEPTED        所需路径无法到达

0x34        KRB_ERR_RESPONSE_TOO_BIG        资料过多

0x3C        KRB_ERR_GENERIC        通用错误;说明在电子数据字段中

0x3D        KRB_ERR_FIELD_TOOLONG        此执行的字段太长

0x3E        KDC_ERR_CLIENT_NOT_TRUSTED        客户端信任失败或未实现

0x3F        KDC_ERR_KDC_NOT_TRUSTED        在KDC服务器的信任失败或无法核实

0x40        KDC_ERR_INVALID_SIG        该签名是无效

0x41        KDC_ERR_KEY_TOO_WEAK        需要更高的加密级别(通常与LDAP_STRONG_AUTH_REQUIRED相同)

0x42        KRB_AP_ERR_USER_TO_USER_REQUIRED        用户到用户的授权需要

0x43        KRB_AP_ERR_NO_TGT        没有显示或没有TGT

0x44        KDC_ERR_WRONG_REALM        域或主体不正确(Kerberos领域)

 

Windows Server or Windows 10 常用Evend ID 表


标签:锁定,AD,ERR,更改,Windows,KDC,分享,帐户,IPsec
来源: https://blog.51cto.com/11258494/2491376