使用MS SQL集群作为后台数据库

概览

Password Manager Pro可以使用MS SQL集群作为后台数据库。为了提供高级别的安全,PMP只能使用SSL连接到MS SQL集群,所以配置MS SQL集群作为后台数据库的步骤也和使用MS SQL不一样。

使用独立的MS SQL Server的时候,生成SQL server全称域名的SSL证书,然后导入到本地个人计算机证书存储库中。在SQL server配置管理器中,列出匹配SQL server名称的证书。但是,MS SQL集群的配置是不一样的。

在In the case of SQL server集群中,你要生成集群实例全称域名的SSL证书,然后将证书安装到所有集群的节点中。例如:集群中2个节点名称为test1.yourcompany.com和test2.yourcompany.com,集群的名称为pmpcluster。这样的话,你要获取pmpcluster.yourcompany.com的证书,并安装到2个节点中。

重要提示:建议你先在测试环境中验证以下步骤。PMP下载地址


配置MS SQL集群后台数据库步骤汇总

  1. 在SQL Server中启用SSL加密:创建SSL证书并安装到Windows证书库中。
    • 创建证书并由第三方机构(CA)签名
    • 或使用自签名证书
  2. 在所有SQL Server节点主机上安装证书。
  3. 在PMP中安装CA根证书/服务器证书。
  4. 在所有节点上启用SSL加密。
  5. 执行ChangeDB.bat批处理。

在SQL Server上启用SSL加密

创建证书并安装到Windows证书库(在运行SQL server的服务器上)

在PMP连接SQL Server之前,要在SQL Server上启用SSL加密。你可以生成证书由CA签名自签名。

选项1:生成证书由CA签名

使用openssl生成证书需要2步:

  • 生成私钥
  • 生成证书

各步命令如下:

生成私钥

openssl genrsa -des3 -out server.key 2048

生成证书请求

使用服务器私钥创建证书请求。按提示输入密钥密码,常用名称,主机名或IP地址:

openssl req -new -key server.key -out server.csr

在常用名称中,要使用SQL Server集群实例的全称域名

  • 为生成的证书签名,你要提交给第三方CA机构,主要的CA有Verisign (http://verisign.com)、 Thawte (http://www.thawte.com)、RapidSSL (http://www.rapidssl.com)。选择一个CA进入其网站,提交csr。CA或许收取签名费。
  • 一般要等几天,CA会给你签名的SSL证书根证书.cer文件。
  • 服务器证书要安装到所有运行SQL Server的节点。CA根证书要安装到PMP服务器。

使用MMC在所有运行SQL Server的节点上安装证书

  • 在运行SQL Server的服务器上打开开始菜单 >>> 运行,输入MMC打开MMC控制台。
  • 在控制台菜单,点击文件,选择添加/删除管理单元。在可用的管理单元中选中找到证书。点击添加按钮。在弹出的窗口中选择计算机帐户
  • 在下一步窗口中选择本地计算机(运行次控制台的计算机),最后确定。
  • 在MMC控制台窗口中,右击证书 >> 个人,点击所有任务 >> 导入
  • 浏览到证书文件并导入。

在PMP服务器安装CA根证书

  • 复制CA根证书文件到<PMP安装目录>/bin文件夹中。
  • <PMP安装目录>/bin目录执行以下命令:
    importCert.bat <CA根证书文件名>
  • 这样就把根证书安装到PMP证书库中了。

选项2:创建自签名证书

要使用自签名证书,执行以下步骤:在一个运行SQL Server的节点上

使用工具makecert.exe创建证书,并安装到节点。
  • 在该节点执行以下命令:

    makecert.exe -r -pe -n "CN=pmpcluster.yourcompany.com" -b 01/01/2011 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange pmpcluster.yourcompany.com.cer

    在这个命令中,CN处输入SQL Server集群实例的全称域名。例如该例子中的pmpcluster.yourcompany.com

  • 这个命令将在你本地存储中安装自签名证书。文件名称为pmpcluster.yourcompany.com.cer
导出自签名的.pfx文件
  • 在运行SQL Server的服务器上打开开始菜单 >>> 运行,输入MMC打开MMC控制台。
  • 在控制台菜单,点击文件,选择添加/删除管理单元。在可用的管理单元中选中找到证书。点击添加按钮。在弹出的窗口中选择计算机帐户
  • 在MMC控制台窗口中,选择证书 >> 个人 >> 证书
  • 找到上面创建的自签名证书,右键导出为.pfx文件。
在所有节点上导入自签名.pfx文件
  • 在运行SQL Server的服务器上打开开始菜单 >>> 运行,输入MMC打开MMC控制台。
  • 在控制台菜单,点击文件,选择添加/删除管理单元。在可用的管理单元中选中找到证书。点击添加按钮。在弹出的窗口中选择计算机帐户
  • 在MMC控制台窗口中,选择证书 >> 个人 >> 证书
  • 右击,点击所有任务 >> 导入
  • 浏览找到.pfx文件并安装
在PMP中安装服务器证书
  • 复制服务器证书(.cer)到<PMP安装目录>/bin
  • <PMP安装目录&/bin执行命令:
    importCert.bat <服务器证书名称>
  • 这样就把根证书安装到PMP证书库中了。

在所有节点上启用SSL加密

以下注册表项指定了SQL Server加密连接使用的证书:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate

该项通过“指纹”识别每一个服务器证书。

上面创建证书的指纹值要复制到该注册表项中。

重要说明:下面是如何正确复制证书指纹值的方法:

  • 要删除指纹值中的Unicode字符。首先把复制的指纹复制到记事本中。
  • 选择另存为一个文件,编码选择ANSI,会出现下面的提示,点击确定。

  • 然后重新打开刚刚保存的文件,删除其中的“?”号。
  • 删除字符间的所有空格。
  • 然后把处理好的值设置到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\Certificate属性。

执行ChangeDB.bat

完成以上步骤后,执行PMP的ChangeDB.bat,参考使用MS SQL Server作为后台数据库的说明,配置SQL Server集群的信息。

版权所有 ©2016, 卓豪(北京)技术有限公司,保留一切权利。

顶部