首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >事件日志中的0x19 KDC_ERR_PREAUTH_REQUIRED

事件日志中的0x19 KDC_ERR_PREAUTH_REQUIRED
EN

Server Fault用户
提问于 2012-10-09 14:48:59
回答 3查看 42.6K关注 0票数 6

因此,我有一个服务器,每当用户或服务帐户登录到机器上时,系统日志中都会生成一个错误事件:

代码语言:javascript
运行
复制
A Kerberos Error Message was received:
 on logon session DOMAIN\serviceaccount
 Client Time: 
 Server Time: 12:44:21.0000 10/9/2012 Z
 Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
 Extended Error: 
 Client Realm: 
 Client Name: 
 Server Realm: DOMAIN
 Server Name: krbtgt/DOMAIN
 Target Name: krbtgt/DOMAIN@DOMAIN
 Error Text: 
 File: e
 Line: 9fe
 Error Data is in record data.

因此,我当然在谷歌上搜索了这个信息,我得到的唯一信息就是“它不一定表示问题,你通常可以忽略它。”

好吧,天哪,太好了,但是这些错误每分钟都会在我的系统日志上乱发一次,我真的很想让它们停下来。有什么想法吗?

来自微软AskDS博客:

KDC_ERR_PREAUTH_REQUIRED如果您在跟踪中看到此错误,则它根本不表示存在问题。客户端请求一张票证,但没有包括它的预认证数据。您通常会看到同一请求再次发送,数据和域控制器发出票证。Windows使用此技术确定所支持的加密类型。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2013-03-17 04:48:37

我不能帮你阻止他们,恐怕我是个Linux的人。我至少可以解释一下。理解此消息需要深入了解Kerberos身份验证的工作原理。

基本的Kerberos身份验证过程是客户端从KDC请求加密的TGT,然后用其本地密钥对其进行解密。然而,简单地实现,攻击者就可以为您领域中的每个用户下载TGT,然后尝试在攻击者空闲时通过暴力攻击对其进行解密。因此,Kerberos添加了一种名为预身份验证的机制。

预身份验证的工作方式是,当KDC接收到TGT请求时,它会返回一个预身份验证挑战,而不仅仅是发送回TGT。预身份验证挑战可以采取各种形式,但最常见的要求客户端发送在客户端密钥中加密的当前时间。然后,KDC在发送TGT之前确认客户端可以这样做(这表示对客户端密钥的一些了解)。

但是,部分原因是预身份验证被添加,部分原因是客户端不知道将发送什么预身份验证挑战,客户端总是发送基本的TGT请求,然后KDC总是使用预身份验证挑战拒绝它。这些日志消息是Active Directory记录的,因为它在没有预验证的情况下收到了TGT请求,并返回了一个挑战。

您的猜测与我的猜测一样好,因为这是协议的一个正常部分,并不是很有趣,但是所有基于Linux的KDCs都会做同样的事情。

票数 11
EN

Server Fault用户

发布于 2018-06-11 16:37:07

KDC_ERR_PREAUTH_REQUIRED作为请求在初始Kerberos上返回。默认情况下,Windows Kerberos客户端在第一个请求中不包括身份验证前信息。响应包含有关KDC上支持的加密类型的信息,如果是AES,则包含用于加密密码哈希的盐类。

建议:始终忽略此错误代码.

https://support.microsoft.com/en-us/help/262177/how-to-enable-kerberos-event-logging

票数 1
EN

Server Fault用户

发布于 2022-01-17 16:14:44

虽然用户@Tony已经回答了这个问题,但对于实际原因还不够清楚:

一天,有人打开服务器上Kerberos事件的详细记录。要禁用它,您应该删除以下注册表值:

代码语言:javascript
运行
复制
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Registry Value: LogLevel
Value Type: REG_DWORD

事实上,完全删除指定的注册表项也会有效,但这不是最好的方法。

首先,它可能包含在某些情况下可能至关重要的任何其他重要设置(例如,MaxTokenSize,它解决了当用户帐户是大量域组成员时的身份验证问题)。

但主要原因是此注册表项存在于干净的Windows安装中,尽管其中不包含任何值。因此,最好将其保留在原始状态(空),而不是删除它。空荡荡的和不存在的绝对不是一回事。

我99%确信,删除这个特定的键不会在将来造成任何麻烦,但您和开发人员自己都不知道在执行意外的事情之后,事情会如何改变:)

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/436450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档