Windows Server Wail2ban 和文件夹共享无法协同工作 - 错误 4625 无 IP

Windows Server Wail2ban 和文件夹共享无法协同工作 - 错误 4625 无 IP

我在虚拟机上新安装了 Windows Server 2012,我打算使用 Wail2ban (https://github.com/glasnt/wail2ban) 尝试阻止有人攻击服务器。

我已经成功添加了 Wail2ban,现在它已经可以正常工作了,但这肯定不是一帆风顺的。我需要在 gpedit.msc 中更改一些设置,以便让攻击主机的 IP 真正显示在事件查看器中。最初事件中没有显示任何源地址。

通过更改大约三个设置,我现在可以正常工作,但我现在无法访问服务器上的共享文件。

我必须更改的一个设置是 gpedit.msc->计算机配置->Windows 设置->安全设置->本地策略->安全选项->网络安全:限制 NTLM:传入 NTLM 流量我已将其设置为“拒绝所有帐户”,我确实在事件查看器中获得了攻击者 IP,但我无法访问共享文件。使用其他设置“允许所有”/“拒绝所有域”,我无法在事件查看器中获取 IP,但我可以访问共享文件。

有人知道我怎样才能让两者一起工作,或者这只是行不通的?

答案1

现在我已经对其进行了一些修改。

我已将 NTLM 设置改回默认设置,除非您按照其他文章并更改了这些设置,否则无需执行此操作。

一位评论者指出事件 ID 4625 不含源 IP。似乎在扩展日志中记录了 IP,只是没有在事件 4625 中记录。

我关注了以下文章访问扩展日志并添加了注册表项Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational

然后我更改了文件中的一行wail2ban.ps1以允许使用这些日志

$EventTypes = "Application,Security,System,Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational"     #Event logs we allow to be processed

我还必须更改 wail2ban_config 以添加日志文件并引用事件类型 ID

# Wail2ban Configuration
[Events]
#[Security]
#4625=RDP Logins
#[Application]
#18456=MSSQL Logins
[Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational]
140=RDP Logins
[Whitelist]
# Add your whitelist here, in the format `IP = Comment`
# Supports plain IPs , e.g. `12.34.56.78  = My Machine` 
# Also, ranges, e.g. `11.22.33.0/24 = My Company Range`

添加[Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational]部分是此处的重要内容。

一旦我重新启动,注册表更改就会生效,wail2ban 就会开始按预期工作。

我发现wbemtest(运行)在这里很有用,因为您可以查询日志并检查是否Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational是其中的一部分Win32_NTLogEvent

虽然我现在已经可以完成这项工作,但我会研究@moteus 提出的解决方案,因为这看起来是一个有趣的解决方案,可以轻松移动和安装。

答案2

我认为如果不更改源代码,就不可能使用 Wail2Ban。这是我解决这个问题的方法日志和我的间谍日志服务。1.我从Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational事件 140 重定向。此事件有 IP 地址。我在此找到此事件回答

<Input eventlog>
    Module       im_msvistalog
    SavePos      TRUE
    ReadFromLast TRUE
    Channel      "Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational"
    <QueryXML>
        <QueryList>
            <Query Id="0" Path="Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational">
                <Select Path="Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational">*[System[(EventID=140)]]</Select>
            </Query>
        </QueryList>
    </QueryXML>
</Input>

<Output spylog>
    Module      om_udp
    Host        127.0.0.1
    Port        614
    Exec        $raw_event = "EventID: " + $EventID + "; " + $Message;
</Output>

<Route 1>
    Path        eventlog => spylog
</Route>
  1. 在 SpyLog 中我添加了新的过滤器,例如
FILTER{ "nxlog-rdp";
  enabled = true;
  source = "net:udp://127.0.0.1:614";
  exclude = WHITE_IP;
  hint = "EventID: 140";
  failregex = {
    "^EventID: 140; A connection from the client computer with an IP address of ([%d%.:]+)";
    -- UTF8
    "^EventID: 140; Не удалось подключить клиентский компьютер с IP%-адресом ([%d%.:]+)";
  };
};

相关内容