使用 Windows 锁定屏幕后删除 Kerberos 缓存票证

2024-05-26

无论如何,有没有办法阻止 Kerberos 缓存的票证在 Windows 进入锁定屏幕后被删除。

首次登录 Windows 时,klist.exe 显示 2 个缓存票证。但是,发生 Windows 锁屏事件后,klist.exe 显示 0 个缓存票证。

提前致谢。


这是设计使然。无法阻止屏幕锁定后清除 Kerberos 服务票证。一旦您再次访问新的受 Kerberos 保护的资源,就会发生新的身份验证过程并出现新的票证。了解 Kerberos 票证之间的区别非常重要 - 有两种类型 - 票证授予票证 (TGT) 和服务票证 (ST)。您可以确保 Kerberos TGT 保留在客户端缓存中,并且在屏幕锁定后不会清除if您的计算机正在加入 Active Directory 域and您进行所谓的组策略更改以更改行为(请参阅下面的注释)。如果您不是 Active Directory 管理员,则必须联系他们让他们为您执行此操作。要在屏幕锁定后保留 TGT,请打开组策略管理控制台编辑器,找到链接到计算机的 GPO,并将策略设置为不需要与域控制器联系即可解锁计算机。这样做将确保计算机保留缓存的 Kerberos TGT 以进行重新身份验证。即使您以这种方式配置组策略,为您的 Web 服务器颁发的 Kerberos 服务票证也不会保留。同样,在这种情况下,解锁工作站后,只有 TGT 保留在计算机 Kerberos 缓存中,不会保留任何服务票据(例如为网络资源颁发的票据)。但对您来说,这可以让您更轻松地请求 ST,因为不必重新请求 TGT。虽然您可以在应用程序服务器端尽可能多地尝试围绕此进行编程,但实际上没有办法从应用程序端控制客户端上的 Kerberos 整体安全行为。

这部分答案下面的所有内容都是针对后续评论所做的编辑。请避免对默认域控制器策略进行任何编辑,因为该策略仅适用于域控制器。请注意,每当我亲自在 Active Directory 域中进行新的组策略更改时,除非我非常熟悉特定设置,否则我喜欢创建一个全新的 GPO,根据我所更改的设置来命名它制作,然后将其链接到计算机或用户对象所在的 OU。或者,如果您认为更改被认为是“安全的”并且不会大规模地对每个人产生负面影响,您也可以在域级别链接 GPO。

  1. 为此,请打开组策略管理控制台编辑器,然后创建一个新的 GPO。
  2. Name it 允许缓存登录.
  3. 编辑允许缓存登录 GPO.
  4. 导航到计算机配置 > 策略 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 并配置以下两项:

交互式登录:先前登录到缓存的次数(如果域控制器不可用):1 次登录

交互式登录:需要域控制器身份验证才能解锁工作站:已禁用

接下来,重新启动客户端工作站 2-3 次。从技术上讲,您可以运行命令gp更新/强制为此,但我发现对于某些设置,尤其是这个设置,客户端工作站不仅需要重新启动,有时还需要重新启动 2 次,甚至可能 3 次重新启动,因为还有另一个名为快速登录优化。无论如何,这个故事是另一个线程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Windows 锁定屏幕后删除 Kerberos 缓存票证 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • Windows 目录永远不会包含临时文件的非 ASCII 字符?

    在 Windows 上使用 MinGW 7 3 0 由于 Windows 限制 Hunspell 无法从包含非 ASCII 字符的位置加载字典文件 我已经尝试了所有方法 1 现在我将文件复制到没有 ASCII 字符的路径 然后再将其交给 H

随机推荐