在使用AD 不的2层客户端/服务器遗留应用程序(SQL Server 2008 R2)中,我想基于x.509 PKI证书添加用户身份验证和授权,而不必使用IPSec或类似的。
客户端可以使用现有的STS / WS-trust服务在联系SQL Server之前获取已签名的SAML令牌。
从我到目前为止发现的SQL Server的SSL选项不支持相互(双向)身份验证。一种想法是让自定义.NET存储过程执行身份验证(或SAML令牌验证),之后用户当前的SQL Server登录“启用”,但肯定必须有更好的选项。
实现这一目标的好方法是什么?
答案 0 :(得分:3)
您可以使用stunnel创建经过身份验证的SSL端点,然后使用Windows身份验证或基于SSL协议的内置SQL Server身份验证。
答案 1 :(得分:1)
我见过几个试图将证书改装到旧客户端/服务器的项目。一种方法是在服务器上安装负责SSL身份验证的服务(此服务与SQL Server之间的通信未加密)。
根据你有多少时间,这个解决方案有两个极端。
在最简单的情况下,SSL服务仅检查客户端证书是否有效并由受信任的CA颁发。在更复杂的情况下,SSL服务还将客户端证书映射到帐户并在SQL Server上启动SQL登录(可选择定期更改密码)。