【问题标题】:Security in Appfabric cachingAppfabric 缓存中的安全性
【发布时间】:2011-06-05 12:01:02
【问题描述】:

我们正在设计一个带有 Appfabric 缓存的系统。我们想知道安全性。

拥有缓存项的服务器如何知道对该项的请求来自缓存集群中的另一台服务器或授权服务器?

我们担心的是:任何可以访问 Appfabric 缓存端口的人都可以从缓存中读取项目吗?

【问题讨论】:

    标签: security caching appfabric


    【解决方案1】:

    不,访问端口不足以读取缓存项。

    AppFabric 缓存通过 net.tcp 在内部使用 WCF 通信。因此,默认情况下 Windows 安全性处于启用状态。当您的客户端代码访问缓存时,这会导致传递进程标识。在缓存集群上检查身份,如果您没有授予该身份的缓存访问权限,则请求被拒绝(您认为这很奇怪“暂时失败。请稍后重试”)。

    通常会创建一个特殊帐户来运行您的进程/应用程序池。您可以使用缓存管理 Windows PowerShell 授予访问权限:

    PS C:\Windows\system32> Grant-CacheAllowedClientAccount YOURDOMAIN\ProcessAccount
    

    要检查访问权限,请使用以下命令:

    PS C:\Windows\system32> Get-CacheAllowedClientAccounts
    Administrators
    NETWORKSERVICE
    IIS APPPOOL\ASP.NET v4.0
    YOURDOMAIN\ProcessAccount
    

    希望这会有所帮助。

    【讨论】:

    • 很好,如何授予用户权限:IIS APPPOOL\ASP.NET v4.0 ?你写的是哪个用户名?
    • Grant-CacheAllowedClientAccount "IIS APPPOOL\ASP.NET v4.0"。或者,您可以发出不带参数的命令,它会询问您可以在不带引号的情况下写入的帐户名称。
    • 这将保护连接,但不保护缓存的内容。
    • 在我的情况下,当我申请(大写字母)Grant-CacheAllowedClientAccount NETWORKSERVICE 然后做了 Stop-CacheCluster 和 Start-CacheCluster
    • 如果是开发环境,您可能需要授予 iis 用户权限?(IIS_IUSRS)
    【解决方案2】:

    可以配置 appfabric 缓存来加密和验证来自客户端的连接。

    但是,我们使用加密算法将敏感数据存储在缓存和后端 SQL 中。这样,我们可以确保存储在两个系统中的所有数据都是安全的。

    【讨论】:

      猜你喜欢
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 2012-01-02
      • 1970-01-01
      相关资源
      最近更新 更多