项目案例分享二:密码策略与上次交互式登录

简介:

    今天有个朋友跟我聊天时提到他们公司的域用户经常会遇到被锁定的状态,而且4小时后会自动解锁,想查看AD里面是否能够统计和显示域用户登录失败次数和时间等信息。所以搭建了个小测试来解决这个问题。

声明:在启用上次交互式登录之前务必提前做好测试,否则会造成用户端无法登陆的情况,更多内容和注意事项可以参考Technet文章:”Active Directory 域服务:上次交互式登录”
https://technet.microsoft.com/zh-cn/library/dd446680%28v=WS.10%29.aspx


在配置上次交互式登录时,请注意以下事项:
a. 要使上次交互式登录正确运行,必须将域功能级别设置为 Windows Server 2008。否则,用户将无法登录到其计算机且会收到以下消息:
“此计算机上的安全策略未设置为显示有关上次交互式登录的信息。Windows 无法检索此信息。请与您的网络管理员联系,以获得帮助。”
b. 如果您在 Windows Server 2008 和 Windows Vista 加入域的计算机上启用了上次交互式登录,且在域控制器位于其作用域之内的 GPO 中未启用此功能,用户将无法登录到系统。
c. 只有 Windows Server 2008 和 Windows Vista 计算机才向用户显示上次交互式登录信息。其他所有操作系统均忽略此功能。
d. 上次交互式登录不报告登录尝试来自哪个计算机,因为上次交互式登录信息存储在用户帐户的属性中。若要确定登录尝试来自何处,您必须查看域控制器的安全日志。 


1. 实验环境

本次实验使用一台Windows Server 2012 R2(配置Active Directory域服务)和一台加域的Windows 7客户端,其中:
AD林功能级别:Windows Server 2012 R2
AD域功能级别:Windows Server 2012 R2


2. 账户策略--账号锁定策略

  • 说到4小时后会自动解锁,这就让我想到账户策略中的账号锁定策略,在DC中运行gpmc.msc打开组策略管理器(当然也可以通过服务器管理器打开)

wKiom1Tdq1DhJGcIAADva3P70-8671.jpg


  • 展开到”Default Domain Policy”, 右键点击”编辑”

wKioL1TdrJyyGhCcAAL2uYbGMF4094.jpg


注:此处可能有人问能不能将不同部门的计算机对象放到特定的OU中,再对此OU做密码策略?这里有2点一定要注意的是:
a. 如果针对OU配置密码策略,最终生效的不是当前OU的域账号,而是OU中的计算机对象的本地用户策略;

b. 如果要通过组策略配置域用户账号的密码策略,只能在域级别上配置密码策略(或是通过颗粒化密码策略进行配置)


  • 定位到--计算机配置 | 策略 | Windows 设置 | 安全设置 | 账户锁定策略 可以看到有“账户锁定时间”、“账户锁定阈值”、“重置账户锁定计数器”3个选项,可以根据具体情况进行配置。

wKiom1TdrAXgCAotAANm0zxscL0352.jpg


a. 帐户锁定时间
此安全设置确定锁定帐户在自动解锁之前保持锁定的分钟数。可用范围从 0 到 99,999 分钟。如果将帐户锁定时间设置为 0,帐户将一直被锁定直到管理员明确解除对它的锁定。
b. 帐户锁定阈值
此安全设置确定导致用户帐户被锁定的登录尝试失败的次数。在管理员重置锁定帐户或帐户锁定时间期满之前,无法使用该锁定帐户。可以将登录尝试失败次数设置为介于 0 和 999 之间的值。如果将值设置为 0,则永远不会锁定帐户。
c. 重置帐户锁定计数器
此安全设置确定在某次登录尝试失败之后将登录尝试失败计数器重置为 0 次错误登录尝试之前需要的时间。可用范围是 1 到 99,999 分钟。


  • 为了让组策略立即生效,打开Windows 7客户端命令行工具,运行“gpupdate /force”立即刷新组策略

wKiom1TdrHnh7CDoAAEF21yk9MA303.jpg


  • 注销后重新登陆输错密码超过3次后再次登陆,提示“引用的账户当前已锁定,且可能无法登陆”

wKiom1TdrLHQJsqbAAQ1FMq0NQw154.jpg


  • 此时用户可以等待锁定时间(以上设置的5分钟)到了后自动解锁后即可登录,管理员也可以通过ADUC马上解锁此账户,打开Active Directory用户和计算机,找到该账户(Cici)右键属性,勾选“解锁账户”—点击“确定”即可,此时账户Cici即可登陆了。

wKiom1TdrNbRalrqAAL5s1pTZXQ301.jpg


3. 上次交互式登录

        以上的内容已经可以做到限制用户输入密码错误次数和解锁时间,但是如果要统计登陆信息还得用到“上次交互式登录”

a. 上次交互式登录的功能上次交互式登录可以帮助您记录用户登录信息的以下四个重要组成部分:
 在加入域的服务器或工作站上失败的登录尝试总数
 成功登录到服务器或工作站之后失败的登录尝试总数
 在服务器或工作站上上次登录尝试失败的时间
 在服务器或工作站上上次登录尝试成功的时间

b. 上次交互式登录信息的存储位置: 当域在 Windows Server 2008 功能级别运行时,上次交互式登录信息存储在添加到架构的用户对象的以下四个属性中:
 msDS-FailedInteractiveLogonCount — 自启用上次交互式登录功能以来在服务器或工作站上失败的登录尝试的数量
 msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon — 上次 Ctrl-Alt-Del 登录成功之前失败的交互式登录的总数
 msDS-LastFailedInteractiveLogonTime — 上次失败的登录尝试的时间戳
 msDS-LastSuccessfulInteractiveLogonTime —在服务器或工作站上上次登录尝试成功的时间戳


  • 打开组策略管理配置“上次交互式登录”,定位到“计算机配置 | 策略 | 管理模板 | Windows 组件 | Windows 登录选项 | ”默认4个选项都是未配置的状态

wKioL1TdrqWg-QIcAAQT7sF_ZP4794.jpg


  • 双击“在用户登录时显示有关以前登录的信息”---选择“已启用”----点击“确定”

wKiom1Tdrc_h0yuSAAPYjQdsmX4843.jpg


  • 启用后如下图:

wKiom1TdrfOSNMwOAAQT7sF_ZP4999.jpg


  • 同样在Windows 7命令行中运行gpupdate /force立即刷新组策略,注销后重新登陆,输入账户密码,如下图:

wKioL1TdryOQIwCXAAR73whQATA616.jpg


  • 此时将会显示相关的登录信息,点击“确定”后即可进入
     wKioL1Tdr1myK1wMAASl6BoY0jU088.jpg


  • 在DC上打开ADSI编辑器,右键”ADSI编辑器“---选择”连接到“

wKiom1TdrouQ7g8lAAIvAF5CtR4528.jpg


  • 选择“默认命名上下文“---点击”确定“

wKioL1Tdr6TAj3gxAAG_qswdwWw178.jpg


  • 找到该用户(Cici)右键选择“属性“

wKioL1Tdr8fya6-TAAL2gAfGgTU990.jpg


  • 可在此属性编辑器中查看到相应的属性和值,具体属性的解释见以上提到的存储位置

wKiom1TdrurzeSqqAAKB-SiuCbw439.jpg


通过上图红色框中的数据可以分析出以下结论:
设: X=“msDS-FailedInteractiveLogonCount”的值
 Y=“msDS-FailedInteractiveLogonCountAtLastSuccessfulLogon”的值
若X=Y, 则说明最近一次登录是成功的;
若X-Y=N,则说明最近已经有连续N次登陆失败了;若N刚好等于账户锁定阈值,而且账户锁定时间未到的话,此用户将无法登陆,处于锁定状态;


        以上是针对密码策略和上次登录交互式的分析和具体用法的分享,在Windows Server 2012 中对颗粒化密码策略有了很大的改进,有兴趣的朋友可以了解了解,非常感谢大家的关注和支持。





本文转自 Stephen_huang 51CTO博客,原文链接:http://blog.51cto.com/stephen1991/1614316,如需转载请自行联系原作者
目录
相关文章
|
小程序 数据安全/隐私保护 开发者
【已解决】开发者扫码登录提示“需要验证小程序密码”
开发者扫码登录提示“需要验证小程序密码”
473 0
【已解决】开发者扫码登录提示“需要验证小程序密码”
|
移动开发 前端开发 JavaScript
一些框架获取当前登录用户以及用户信息整理
无论是哪一个框架,获取当前登录用户信息是必不可少的,做一些功能的时候我们肯定得用到当前登陆者信息,所以我就查找了一下几个框架是如何获取当前用户信息,例如在若依框架中,用 this.$store.state.user就可以获取到。当获得的信息是极少时,不足够我们做其他功能时,当然你也可以自己在这个获取的基础上面增加所需信息即可。
一些框架获取当前登录用户以及用户信息整理
|
1月前
|
前端开发 JavaScript Java
若依部署上线之后验证码不显示的解决方法之一
若依部署上线之后验证码不显示的解决方法之一
125 0
jira学习案例24-用useAuth切换登录与非登录状态
jira学习案例24-用useAuth切换登录与非登录状态
101 0
jira学习案例24-用useAuth切换登录与非登录状态
|
数据安全/隐私保护 Python
Python实现账号登陆系统的编辑
Python实现账号登陆系统的编辑
68 0
|
存储 SQL 编解码
一个简单的登录功能,你真的会测试吗?
一个简单的登录功能,你真的会测试吗?
92 0
|
C++
VS平台的基本设置以及相关报错问题解决方法
在刚开始学习编程后,期间总会遇到问题,以前都是记录下来没有整理。现在积少成多,也乘着有空就在这里给整理一下。
130 0
|
安全 Java 数据安全/隐私保护
案例之密码模式测试|学习笔记
快速学习案例之密码模式测试
82 0
案例之密码模式测试|学习笔记
|
测试技术
软件测试面试题:使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况\/查询情况,如何操作?
软件测试面试题:使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况\/查询情况,如何操作?
66 0

热门文章

最新文章