Windows平台筛选 – 阻止合法的数据包

我正在运行Windows 2008 R2,我有IIS7 / MySQL托pipe几个网站。 不过,我最近看到的随机连接错误,可能是50次之一。

我查看了事件查看器,发现问题的时候有很多被阻塞的数据包从许多不同的IP地址发回80,包括我自己的(事件查看器日志附在post的底部)。

看起来世界粮食计划署阻止了一些合法的请求,但是我已经设置了防火墙来允许所有端口80的networkingstream量连接…所以它们怎么被阻塞?

日志:

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 

如果你真的想要得到这种问题的底部,你将不得不执行一个WFP(Windows过滤平台)捕获。

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

 netsh wfp capture start 

那么你应该重现你的问题,将其纳入捕获。 之后,您使用以下命令停止捕获:

 netsh wfp capture stop 

捕获的结果存储在当前目录下的wfpdiag.cab文件中。 我相信这个文件只能用于微软的内部使用,但如果你想要的话,你可以提取档案中的两个文件,看看你自己。

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

筛选器运行时ID:74587

通过检查XML你需要find哪个filter有运行时ID 74587.这将告诉你防火墙中的哪个规则阻塞了连接。 请注意,防火墙有一些隐藏的规则(例如Windows防火墙服务强化规则)。

如上所述,可能这些事件日志条目(带有事件ID 5152)是由恶意请求引起的,可能是由您的网站的合法用户发送的病毒感染机器发送的。 像Code Red这样的病毒通过感染IIS驱动的网站以这种方式传播。 IIS / WFP很可能会阻止和logging恶意请求。

假设情况如此,这里没有太多的事情要做。 如果您确定所有请求都来自一个IP,则可以在防火墙级别阻止该IP。 如果他们来自各地,你不想再被事件日志条目困扰,那么你可以closures这些事件的审计logging(而不是我会推荐这样做)。 如果您确实要禁用日志logging,则可以使用auditpol.exe命令。

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

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

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

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

有关审计政策的更多信息可在以下urlfind:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb309058(v=vs.85).aspx