下面是一组在创建和部署持久性服务时使用的安全指南。
- 锁定对持久性数据库的访问,并执行数据库审核,以查看是否有任何访问冲突,同时防止恶意用户修改或删除服务实例的序列化形式。
- 使用 MaxConcurrentSessions 和 MaxConcurrentInstances 属性控制活动实例上下文使用的最大缓存大小。这样可防止恶意用户用大量实例激活消息溢满持久性服务,进而占用服务器上的所有可用内存。
- 实现持久性重播检测机制,以防止用户在服务实例信息得到持久保存且宿主解决方案被回收后进行重播攻击,或防止攻击者向网络场中的其他节点重播消息。请按照Replay Attacks中介绍的 WCF 安全最佳做法操作。
- 使用 WCF 扩展点实现实例特定的访问控制机制,以防止恶意用户使用属于有效用户的上下文发送消息,从而模拟有效用户。
- 使用 EncryptandSign 或 HTTPS 传输协议,以防止恶意用户读取在客户端和服务之间所传递的机密性上下文标头或 Cookie 信息。
- 使用 ACL 保护所有配置文件,并可选择对 connectionStrings 元素中保存的连接字符串进行加密,以防止恶意用户发现您在连接到数据库时所使用的连接字符串。
- 了解在使用上下文绑定进行会话传输时,标识在会话的生存期内是可变的。
另请参见
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。