Appfabric缓存中的安全性

4
我们正在设计一个使用Appfabric缓存的系统。我们关心的是安全问题。
缓存项目所在的服务器如何知道来自缓存集群中的另一个服务器或授权服务器的项目请求?
我们担心的是:任何有访问Appfabric缓存端口权限的人都可以读取缓存中的项目吗?
2个回答

8
不,仅访问端口是无法读取缓存项的。
AppFabric Cache在net.tcp上内部使用WCF通信。因此,默认情况下启用Windows安全性。当客户端代码访问缓存时,会传递进程标识。在缓存群集中,将检查该标识,并且如果您没有授予该标识对缓存的访问权限,则请求将被拒绝(您会看到这个奇怪的“存在临时故障,请稍后重试”)。
通常创建一个特殊帐户来运行您的进程/应用程序池。您可以使用Caching Administration 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?您要写哪个用户名? - Davide Piras
Grant-CacheAllowedClientAccount "IIS APPPOOL\ASP.NET v4.0"。或者,您可以不带参数发出命令,它会要求您输入帐户名称,在那里您可以不用引号写入。 - UserControl
1
这将保护连接,但不保护缓存内容。 - Frode Stenstrøm
在我的情况下,当我应用(大写字母)Grant-CacheAllowedClientAccount NETWORKSERVICE并且之后执行Stop-CacheCluster和Start-CacheCluster时它起作用了。 - Kunukn
如果这是一个开发环境,你可能需要授予IIS用户(IIS_IUSRS)权限? - tharo

2

可以配置AppFabric缓存以加密和验证客户端连接。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接