为应用程序池提供服务的工作进程不再被 WAS 信任

Microsoft.Windows.InternetInformationServices.6.2.Worker.process.serving.the.application.pool.is.no.longer.trusted.by.WAS (Rule)

Knowledge Base article:

摘要

网站和 Web 应用程序依赖于 Internet Information Services (IIS) 应用程序池的可用性。而 IIS 应用程序池又依赖于 Windows Process Activation Service (WAS)。如果在启动或关闭应用程序池时,WAS 未运行或发生错误,则网站和 Web 应用程序可能不可用。

解决方法

检查不受信任的工作进程

工作进程发送一些不需要的数据给 Windows Process Activation Service (WAS)。用户代码可能尝试在工作进程中进行恶意活动,同时可能接管通信管道。例如,用户代码可能为工作进程发送第二个进程 ID 给 WAS,或发送格式不正确的性能计数器数字。这一尝试可能导致 WAS 缓冲区超限。

要解决此问题,检查工作进程以查看是否包含可疑用户代码。 检查加载的模块。如果 ISAPI 或第三方模块正在运行,请联系模块供应商以了解详细信息。

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.6.2.ApplicationPool
CategoryAlert
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider Default
Filter ConditionDetection Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter Default
WA WriteAction Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.Worker.process.serving.the.application.pool.is.no.longer.trusted.by.WAS" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider">
<LogName>System</LogName>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>5127</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.Worker.process.serving.the.application.pool.is.no.longer.trusted.by.WAS.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>