Windows 平台过滤 - 阻止合法数据包

Windows 平台过滤 - 阻止合法数据包

我运行的是 Windows 2008 R2,并且有 IIS7/MySQL 托管多个网站。但是,我最近似乎遇到了随机连接错误,大概 50 次中才会出现一次。

我查看了事件查看器,发现在出现问题时,有很多来自不同 IP 的阻止发送 80 号数据包,其中包括我自己的 IP(事件查看器日志附在帖子底部)。

看起来 WFP 正在阻止一些合法请求,但我已经设置防火墙以允许所有端口 80 的 Web 流量连接……那么如何阻止它们呢?

日志:

The Windows Filtering Platform has blocked a packet.

Application Information:    
    Process ID:     0   
    Application Name:   -

Network Information:    
    Direction:           Inbound
    Source Address:      xxx.xxx.xxx.xxx
    Source Port:         57578
    Destination Address: xxx.xxx.xxx.xxx
    Destination Port:    80
    Protocol:            6

Filter Information:
    Filter Run-Time ID:  74587
    Layer Name:          Transport
    Layer Run-Time ID:   13

答案1

如果您真的想彻底解决此类问题,您必须执行 WFP(Windows 过滤平台)捕获。

要开始捕获,请使用以下命令:

netsh wfp capture start

然后你应该重现你的问题,将其包含在捕获中。之后,使用以下命令停止捕获:

netsh wfp capture stop

捕获的结果存储wfpdiag.cab在当前目录中的文件中。我相信这个文件仅供微软内部使用,但如果你愿意,你可以提取档案中的两个文件并自己查看。

可以.etl使用事件日志打开。但是,我不确定如何解释内容。有趣的文件是文件.xml。如果你花点时间,你应该能够弄清楚内容的结构。你应该寻找的是以下内容:

过滤器运行时 ID:74587

通过检查 XML,您需要找到哪个过滤器具有运行时 ID 74587。这将告诉您防火墙中的哪条规则阻止了连接。请注意,防火墙有一些隐藏规则(例如 Windows 防火墙服务强化规则)。

答案2

如上所述这里,这些事件日志条目(事件 ID 为 5152)很可能是由恶意请求引起的,这些请求可能是由您网站的合法用户发送的,但这些用户的计算机感染了病毒。病毒包括红色代码通过感染 IIS 驱动的网站以这种方式传播。IIS/WFP 最有可能阻止并记录恶意请求。

假设情况确实如此,那么这里就没什么可做的了。如果您确定所有请求都来自一个 IP,则可以在防火墙级别阻止该 IP。如果它们来自各个地方,并且您不想再被事件日志条目所困扰,那么您可以关闭这些事件的审计日志记录(我不一定建议这样做)。如果您确实想禁用日志记录,可以使用该auditpol.exe命令。

查看事件 5152 和 5153 的审核日志设置:

auditpol /get /subcategory:"Filtering Platform Packet Drop"

禁用事件 5152 和 5153 的失败审计日志:

auditpol /set /subcategory:"Filtering Platform Packet Drop" /failure:disable

有关审计政策的更多信息,请访问:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb309058(v=vs.85).aspx

相关内容