方案:对 Microsoft SQL Server 进行身份验证

本节中的信息仅适用于 Kaspersky Security Center 使用 Microsoft SQL Server 作为数据库管理系统的配置。

为了保护 Kaspersky Security Center 传输到或传输自数据库的数据以及数据库中存储的数据免受未经授权的访问,必须加密 Kaspersky Security Center 与 SQL Server 之间的通信。提供安全通信的最可靠方法是在同一设备上安装 Kaspersky Security Center 和 SQL Server,并对这两个应用程序使用共享内存机制。在所有其他情况下,建议使用 SSL 或 TLS 证书对 SQL Server 实例进行身份验证。您可以使用来自可信证书颁发机构 (CA) 的证书或自签名证书。建议您使用来自可信 CA 的证书,因为自签名证书仅提供有限保护。

SQL Server 身份验证分阶段进行:

  1. 根据证书要求,为 SQL Server 生成自签名 SSL 或 TLS 证书

    如果您已经有 SQL Server 证书,请跳过此步骤。

    SSL 证书仅适用于 2016 (13.x) 之前的 SQL Server 版本。在 SQL Server 2016 (13.x) 及更高版本中,使用 TLS 证书。

    例如,要生成 TLS 证书,请在 PowerShell 中输入以下命令:

    New-SelfSignedCertificate -DnsName SQL_HOST_NAME -CertStoreLocation cert:\LocalMachine -KeySpec KeyExchange

    在命令中,对于 SQL_HOST_NAME,如果主机包含在域中,则必须键入 SQL Server 主机名;如果主机不包含在域中,则必须键入主机的完全限定域名 (FQDN)。在管理服务器安装向导中必须指定相同名称(主机名或 FQDN)作为 SQL Server 实例名称。

  2. 在 SQL Server 实例上添加证书

    此阶段的说明取决于运行 SQL Server 的平台。有关详细信息,请参阅官方文档:

    要在故障转移集群上使用证书,必须在故障转移集群的每个节点上安装证书。有关详细信息,请参阅 Microsoft 文档

  3. 分配服务账户权限

    确保运行 SQL Server 服务所使用的服务账户具有完全控制权限以访问私钥。有关详细信息,请参阅 Microsoft 文档

  4. 将证书添加到 Kaspersky Security Center 的受信任证书列表中

    在管理服务器设备上,将证书添加到受信任证书列表中。有关详细信息,请参阅 Microsoft 文档

  5. 在 SQL Server 实例与 Kaspersky Security Center 之间启用加密连接

    在管理服务器设备上,为环境变量 KLDBADO_UseEncryption 设置值 1。例如,在 Windows Server 2012 R2 中,可以通过在“系统属性”窗口的“高级”选项卡上单击“环境变量”来更改环境变量。添加一个新变量,将其命名为 KLDBADO_UseEncryption,然后设置值 1

  6. 使用 TLS 1.2 协议的其他配置

    如果使用 TLS 1.2 协议,则另外执行以下操作:

    • 确保已安装的 SQL Server 版本是 64 位应用程序。
    • 在管理服务器设备上安装 Microsoft OLE DB 驱动程序。有关详细信息,请参阅 Microsoft 文档
    • 在管理服务器设备上,为环境变量 KLDBADO_UseMSOLEDBSQL 设置值 1。例如,在 Windows Server 2012 R2 中,可以通过在“系统属性”窗口的“高级”选项卡上单击“环境变量”来更改环境变量。添加一个新变量,将其命名为 KLDBADO_UseMSOLEDBSQL,然后设置值 1

      如果 OLE DB 驱动程序版本为 19 或更高版本,还需设置值 MSOLEDBSQL19 为环境变量 KLDBADO_ProviderName

  7. 在 SQL Server 命名实例上启用 TCP/IP 协议

    如果使用 SQL Server 命名实例,则另外启用 TCP/IP 协议并为 SQL Server 数据库引擎分配一个 TCP/IP 端口号。在管理服务器安装向导中配置 SQL Server 连接时,在“SQL Server 实例名称”字段中指定 SQL Server 主机名和端口号。

页顶