![IIS - 检测暴力登录和密码喷洒](https://linux22.com/image/737058/IIS%20-%20%E6%A3%80%E6%B5%8B%E6%9A%B4%E5%8A%9B%E7%99%BB%E5%BD%95%E5%92%8C%E5%AF%86%E7%A0%81%E5%96%B7%E6%B4%92.png)
TLDR;
哪些技术可用于检测 IIS 托管网站(包括 SharePoint、OWA 等)上的暴力登录和/或密码喷洒?
ModSecurity
针对其他操作系统,有许多工具可以解决这个问题,其中最主要的是ModSecurity
。虽然它已被移植以支持 IIS,但它与 IIS 的集成度不如与其他平台的集成度。此外,如果听说有任何 SharePoint 或 OWA 实现使用 IIS ModSecurity,我会感到惊讶。如果您在那里,我鼓励您在此处发布您的设置。
多因素或验证码
两者都是可行的选择防止这些攻击并不一定探测并且还会以以下方式失败:
- 登录过程中添加了以下步骤全部用户只是为了阻止一小部分用户的登录滥用。
- 某些实现仅在成功提交用户名/密码组合后才会显示附加方法。
代理人
在 IIS 池前面放置硬件设备或云服务是一种可行的选择。然而,许多人认为暴力登录是POST
短时间内的连续请求,这很容易导致误报。
安全信息和事件管理 (SIEM)/Splunk
尽管集中式日志记录有效,但制定规则所需的金钱和时间成本却很高。
速率限制
IIS 中有一些模块可以根据连接速率阻止 IP 地址。即使从技术上讲这些登录尝试会触发速率过滤器,但这与我所问的问题不同。
答案1
WebsiteFailedLogins
PowerShell 模块是否可用GitHub和PowerShell 库解决了这些问题。
这自述有详细信息,但这里有一个简短的概述:
- 仅需要访问 IIS 日志,并且可以从完全不同的系统运行。无需对 IIS 进行任何更改。
- 用于
Microsoft Logparser
解析 IIS 日志(必需的先决条件)。 - 根据 HTTP 响应代码识别失败的登录。
- 通过
.INI
文件进行配置,允许每个网站进行不同的配置。 - 通过以下方式生成警报:标准输出、电子邮件和/或事件日志
- 通过计划任务自动执行
该模块在 PowerShell 库中可用,以下命令将安装该模块:
Install-Module -Name WebsiteFailedLogins