使用 ACL 保护 WCF 配置文件

Posted

技术标签:

【中文标题】使用 ACL 保护 WCF 配置文件【英文标题】:WCF configuration file's protection with ACL 【发布时间】:2016-08-17 20:49:36 【问题描述】:

在this MSDN 关于 WCF 配置架构的文章中有一条警告说:

您应该使用适当的访问控制列表 (ACL) 保护应用程序配置文件 (app.config) 中的 WCF 配置部分,以防止任何潜在的安全威胁。例如,您应该确保只有适当的人才能访问或修改应用程序绑定的安全设置,或服务配置文件的服务模型部分。

这正是我的 WCF 服务所需要的,但我找不到太多关于如何实现此类保护的信息。

有人可以提供任何示例,说明如何使用访问控制列表 (ACL) 保护 WCF 配置文件的部分,或者向我提供有关此主题的更多信息吗?

提前致谢。

【问题讨论】:

【参考方案1】:

这句话可能是关于加密 WCF 配置部分(但不是整个 system.ServiceModel 部分组)和控制 ACL 到密钥容器。

MSDN + Some blog post + Somewhat related *** discussion

从不同的文章看来,这种方法是特定于 IIS 的,但您可以在没有 IIS 的情况下执行相同的操作。基本上,您使用RsaProtectedConfigurationProvider 加密部分并指定Key name,这是在机器级密钥存储中定义的。


ACL 是控制安全对象权限的默认 Windows 系统。每个文件都是一个安全对象,app.config 也是。每个文件都有一个 ACL。当您在文件属性中打开安全选项卡时 - 它是 ACL 的 GUI。

您可以使用多种方式进行修改:

默认文件属性窗口(安全选项卡)。 icacls工具 PowerShell 命令 Active Directory 策略(如果您拥有并控制域)

【讨论】:

感谢您的回答,@aershov!我现在的问题是:为什么警告指的是“保护 WCF 配置部分”?如何仅保护文件中的一个部分而不是整个安全对象/文件? 是的,我误解了你的问题并更新了我的答案。

以上是关于使用 ACL 保护 WCF 配置文件的主要内容,如果未能解决你的问题,请参考以下文章

[转]使用代码去描述WCF配置文件

没有配置文件的 WCF 配置

Cisco基础:配置标准ACL配置扩展ACL配置标准命名ACL配置扩展命名ACL

WCF入门教程四[WCF的配置文件]

WCF中配置文件解析

wcf 配置文件与代码配置的优缺点