保护监控的安全

与暂留存储类似,监控存储在 Windows Server AppFabric 体系结构中起到重要作用。监控存储包含可用于诊断应用程序问题以及跟踪应用程序运行状况的 .NET Framework 数据。AppFabric 提供用于查看跟踪监控数据的工具。您必须向运行 AppFabric 管理工具的管理员,以及运行时应用程序和系统服务,提供对监控存储的访问权限,才能从此数据库中进行读写。本主题着重介绍如何确保监控数据的安全,以及用于对其进行访问的管理工具。

监控存储的使用位于应用程序和管理范围内,在每个区域中必须使用不同的方式加以保护。特定权限由各种安全组中包含的功能指示。应用程序安全作用域对应用程序运行时的权限产生影响,并映射到应用程序服务器用户概念角色。管理安全作用域会对管理员和系统服务可以执行的工具和相关操作产生影响。这些权限映射到应用程序服务器管理员和应用程序服务器操作员概念角色。

确保监控数据的安全

监控收集由 WCF 和 WF 服务发出的跟踪记录、事件和其他数据,并将其存储在数据库中。应用程序通常收集并传输个人身份信息或其他机密数据。如果该数据包含在跟踪记录中,该数据将保存到监控存储中。消息和变量的内容可能保存到存储,取决于使用的跟踪配置文件。多个服务器、站点和应用程序可能共享单个监控存储。通过设计,在共享存储的服务器和站点上聚合监控数据,以便在大环境中更轻松地监控数千个潜在服务实例。将数据存储在监控存储中之后,可以看到 AS_Administrator 组的成员,以及 SQL Server sysadmin 和 dbo 角色的所有成员。AS_Observers 组的成员属于 ASMonitoringDBReader 组,并且可以通过监控数据库上的公共视图读取监控数据。跟踪数据易受无意或有针对性暴露的威胁,但您可以采取措施来降低风险。

事件收集服务 有助于确保监控数据的安全。此服务从 Windows 事件跟踪 (ETW) 会话中收集事件,然后将这些事件写入监控数据库。只有 事件收集服务 启动的对 ETW 会话具有“写入”权限的应用程序才能将事件写入收集的该会话。默认情况下,事件收集服务 以 NT_AUTHORITY\LOCAL SERVICE 运行。特定于 事件收集服务 (NT SERVICE\AppFabricEventCollectionService) 的 SID 会被添加到 AS_Administrators 组中。这将为其授予访问监控数据库的读写权限,因为 AS_Administrators 是 ASMonitoringDBAdmin 数据库角色的一部分。使用 AppFabric cmdlet 脚本创建监控数据库时,将正确创建并初始化所有这些角色和组。如果您希望以不同用户身份运行事件收集服务,请参阅事件集合安全性以获取有关本步骤的详细信息。

备注

因为 AppFabric 在 IIS 下运行,它可充分利用某些其他功能。IIS 生成标准 Web 服务器访问日志以分析使用情况。与 Windows 服务器集成还意味着 IIS 可以充分使用系统审核,以便更安全地监控资源的使用情况。例如,尝试访问安全文件失败可记录在 Windows Server 事件日志中,并使用用于管理现有服务器的相同工具进行审核。

您可以使用以下方式确保监控存储中数据的安全:

  • **使用不同的监控存储。**通过使用 AppFabric cmdlet 创建存储,并使用“监控数据库配置”页对其进行配置,从而在相同或不同服务器上创建和配置备用监控存储。然后,您可以配置只使用该存储的某些应用程序。这将为特定的应用程序指定一个其他任何应用程序都无法访问的专用监控数据存储。

  • **操作监控功能。**您可以使用由 AppFabric 添加到 IIS Manager 的扩展,以启用和禁用应用程序中所有工作流服务、网站中所有应用程序或服务器上所有网站的监控功能。可以将监控策略定义为较高级别,IIS 和 WAS 层次结构中的所有较低级别将继承该策略设置。

Windows 事件跟踪会话的安全

事件收集服务从 Windows 事件跟踪 (ETW) 会话中收集监控事件,然后将其保存到监控存储中。通过为 IIS 应用程序池标识分配安全权限,您可以控制哪个应用程序将事件写入事件收集服务 ETW 会话。例如,您可能希望允许在低特权标识下运行的应用程序池(例如 MACHINE\MyUser),将事件记录到跟踪会话中。为此,应为 MACHINE\MyUser 分配 TRACELOG_LOG_EVENT 事件权限。您可以使用以下方式分配这些权限:

  • 可使用 EventAccessControl (https://go.microsoft.com/fwlink/?LinkId=179742) Win32 API 更改标识的权限以写入 ETW 会话。

  • 通过使用性能监视器 (PERFMON.EXE),您可以通过为某些标识分配安全权限来控制哪些应用程序可以将事件写入 ETW 会话。例如,如果会话在 SECURE 模式下运行,您可能希望允许 MACHINE\MyUser 标识下运行的应用程序池将事件记录到跟踪会话中。为此,需要在性能监视器的“AppFabric 事件收集器会话”的“安全”选项卡中,允许 MACHINE\MyUser 具有 TRACELOG_LOG_EVENT 权限。

确保无论何时在 AppFabric 事件收集器会话的“安全”设置中修改组和用户权限,首先停止该会话。否则,将导致更改的设置无法保留。

本节内容

  2011-12-05