winlogon / LogonUI 的周期性尖峰 CPU 使用率

Rom*_*nSt 6 postgresql windows-server-2008 amazon-web-services

我注意到我的 AWS 服务器偶尔会无缘无故地开始使用一堆 CPU,看起来像这样:

在此处输入图片说明

观察它不是在特定时间发生,而是具有非常明确的模式。它持续不到一个小时。

在这种情况下远程连接到机器总是会使其停止发生。使帐户永久登录允许我捕获更细粒度的 CPU 使用情况跟踪。它看起来像这样:

在此处输入图片说明

这是正确的; 实际消耗该 CPU 的进程不在列表中。相反,它们一直出现和消失。ProcMon 显然是这项工作的工具,所以我捕捉到了一个痕迹。这是我发现的:

在此处输入图片说明

还涉及 Postgres:

在此处输入图片说明

然而,所有 CPU 使用率都是由 Winlogon/LogonUI/etc 决定的:

在此处输入图片说明

以下是此事件期间进程启动和停止事件的简短摘录:

在此处输入图片说明

请注意,postgres 不会与 smss/winlogon/etc 的每次启动/停止交错,而只是其中的一些。

任何想法为什么会发生这种情况,以及如何防止它?

Rom*_*nSt 1

问题是有人强制我的 RDP 登录。第二个问题是网络级身份验证被禁用,使得每次登录尝试相对消耗 CPU 资源。

解决方案是将 RDP 端口从 3389 更改为其他端口以阻止暴力攻击,并启用网络级身份验证以降低登录尝试的 CPU 成本。

提示#1,来自 syneticon-dj:检查事件日志。这些峰值与大量登录失败相关,尝试使用“john”、“admin”、“test”等用户名,每个用户名大约有 3-5 个不同的密码。他们到达的时间相隔 3-4 秒。

提示 #2,来自 Olivier S:此服务器是 Amazon EC2 实例,需要 RDP。真正的问题是,默认情况下,由于某种原因, EC2 机器禁用了网络级别身份验证。这意味着每次有人想要尝试输入密码时,整个登录 UI 都会启动,只是为了向他们提供一个漂亮的远程桌面会话。这就是导致所有CPU使用率的原因。