10bet网址
MySQL的安全性
相关的文档10bet官方网站 下载此节选
PDF(美版)- 2.3 mb
PDF (A4)- 2.4 mb


6.4.8使用keyring_okv KMIP插件

请注意

keyring_okvplugin是包含在MySQL企业版中的扩展,这是一个商业产品。要了解更多关于商业产品的信息,请参见https://www.10bet靠谱mysql.com/products/

密钥管理互操作性协议(KMIP)支持密钥管理服务器与其客户端之间的加密密钥通信。的keyring_okvkeyring插件使用KMIP 1.1协议作为KMIP后端的客户端进行安全通信。密匙环材料完全由后端生成,而不是由keyring_okv.该插件适用于这些kmip兼容的产品:

  • Oracle密钥库

  • 金雅拓SafeNet密钥安全设备

  • Townsend联盟密钥管理器

keyring_okv插件支持包含标准MySQL Keyring服务接口的功能。由这些函数执行的密匙环操作可在两个级别访问:

示例(使用SQL接口):

SELECT keyring_key_generate('MyKey', 'AES', 32);选择keyring_key_remove(“MyKey”);

类允许的键值的特征信息keyring_okv第6.4.12节“支持的密匙环密钥类型和长度”

安装keyring_okv,请使用在第6.4.3节,“Keyring插件安装”,以及特定于的配置信息keyring_okv在这里找到。

keyring_okv通用配置

无论哪个KMIP后端keyring_okv插件用于密匙环存储keyring_okv_conf_dir系统变量配置的目录的位置keyring_okv查看其支持文件。默认值为空,因此在插件能够与KMIP后端通信之前,必须将该变量设置为正确配置的目录名称。除非你这么做,keyring_okv在服务器启动期间将无法通信的消息写入错误日志:

插件keyring_okv报告:'要初始化keyring_okv,请将keyring_okv_conf_dir变量指向包含Oracle密钥库配置文件和ssl材料的目录'

keyring_okv_conf_dir变量必须命名一个包含以下项目的目录:

  • okvclient.ora:包含KMIP后端的详细信息的文件keyring_okv通信。

  • ssl:存放与KMIP后端建立安全连接所需的证书和密钥文件的目录。CA.pemcert.pem,key.pem.如果密钥文件有密码保护,则ssl目录可以包含单行文本文件password.txt包含解密密钥文件所需的密码。

这两个okvclient.ora文件和ssl存放证书和密钥文件的目录keyring_okv正常工作。用这些文件填充配置目录的过程取决于所使用的KMIP后端keyring_okv,如其他地方所述。

所使用的配置目录keyring_okv作为其支持文件的位置应该有一个限制模式,并且只有用于运行MySQL服务器的帐户才能访问。例如,在Unix和类Unix系统上,使用/usr/local/mysql/mysql-keyring-okv目录下,执行以下命令(以)创建目录,并设置其模式和归属:

CD /usr/local/mysql mkdir mysql-keyring-okv chmod 750 mysql-keyring-okv chmod 750 mysql-keyring-okv chmod 750

为了在服务器启动过程中可用,keyring_okv必须使用——early-plugin-load选择。同时,设置keyring_okv_conf_dir告诉系统变量keyring_okv在哪里找到它的配置目录。例如,在服务器中使用这些行my.cnf文件,调整所以根据需要为您的平台设置后缀和目录位置:

(mysqld) early-plugin-load = keyring_okv。所以keyring_okv_conf_dir = / usr /地方/ mysql / mysql-keyring-okv

有关keyring_okv_conf_dir,请参阅第6.4.18节,“密匙环系统变量”

配置Oracle密钥库的keyring_okv

这里的讨论假设您熟悉Oracle密钥库。一些相关信息来源:

在Oracle Key Vault术语中,使用Oracle Key Vault存储和检索安全对象的客户端称为端点。要与Oracle密钥库通信,必须注册为端点,并通过下载和安装端点支持文件进行注册。

下面的程序简要地总结了设置的过程keyring_okv用于Oracle密钥库:

  1. 创建配置目录keyring_okv插件使用。

  2. 向Oracle Key Vault注册端点以获得注册令牌。

  3. 使用注册令牌获取okvclient.jar客户端软件下载。

  4. 安装客户端软件以填充keyring_okv包含Oracle密钥库支持文件的配置目录。

使用以下步骤进行配置keyring_okv和甲骨文密钥库合作。此描述仅总结了如何与Oracle密钥库交互。详情请浏览Oracle密钥库请访问Oracle密钥库管理员指南。

  1. 创建包含Oracle密钥库支持文件的配置目录,并确保keyring_okv_conf_dirSystem变量设置为该目录的名称(有关详细信息,请参见keyring_okv通用配置).

  2. 以具有“系统管理员”角色的用户登录Oracle密钥库管理控制台。

  3. 选择Endpoints选项卡到达Endpoints页面。在端点页面上,单击Add。

  4. 提供所需的端点信息并单击Register。端点类型应为Other。成功注册将产生注册令牌。

  5. 从Oracle密钥库服务器注销。

  6. 再次连接到Oracle密钥库服务器,这次不登录。使用端点注册令牌注册并请求okvclient.jar软件下载。将此文件保存到系统中。

  7. 安装okvclient.jar使用以下命令(必须使用JDK 1.4或更高版本):

    Java -jar okvclient.jardir_name(- v)

    后的目录名- d选项是安装解压缩文件的位置。的- v选项,如果给定,则会生成在命令失败时可能有用的日志信息。

    当命令要求提供Oracle Key Vault端点密码时,不要提供密码。请按“Enter”。(结果是,当端点连接到Oracle密钥库时不需要密码。)

  8. 上述命令产生一个okvclient.ora文件,该文件应该位于目录下的此位置- d选项。java jar命令:

    install_dir / conf / okvclient.ora

    文件内容包括如下所示的行:

    服务器=host_ipport_numSTANDBY_SERVER =host_ipport_num

    keyring_okv的主机上运行的服务器进行通信服务器变量并回落到STANDBY_SERVER如果失败了:

    • 服务器变量的设置okvclient.oraFile是必选项。

    • STANDBY_SERVER变量的设置okvclient.oraFile是可选的。

  9. 进入Oracle Key Vault安装目录,运行以下命令测试安装情况:

    okvutil / bin / okvutil列表

    输出应该看起来像这样:

    唯一ID类型标识符255AB8DE-C97F-482C-E053-0100007F28B9对称密钥- 264BF6E0-A20E-7C42-E053-0100007FB29C对称密钥-

    对于一个新的Oracle密钥库服务器(一个没有任何密钥的服务器),输出看起来像这样,表明密钥库中没有密钥:

    未发现任何物品
  10. 使用此命令提取ssl目录中包含来自okvclient.jar文件:

    Jar xf okvclient.jar SSL
  11. 复制Oracle密钥库支持文件okvclient.ora文件和ssl目录)放入配置目录。

  12. (可选)如果希望对密钥文件进行密码保护,请使用密码保护keyring_okv密钥文件

完成上述操作后,请重新启动MySQL服务器。它加载keyring_okv插件和keyring_okv使用配置目录下的文件与Oracle密钥库通信。

为金雅拓SafeNet KeySecure Appliance配置keyring_okv

金雅拓SafeNet KeySecure Appliance使用KMIP协议(版本1.1或1.2)。的keyring_okvkeyring插件(支持KMIP 1.1)可以使用KeySecure作为其KMIP后端来存储keyring。

使用以下步骤进行配置keyring_okv和KeySecure一起工作。该描述仅总结了如何与KeySecure交互。详细信息请参见文档中的“添加KMIP服务器”一节KeySecure用户指南

  1. 创建包含KeySecure支持文件的配置目录,并确保keyring_okv_conf_dirSystem变量设置为该目录的名称(有关详细信息,请参见keyring_okv通用配置).

  2. 在配置目录下,创建名为ssl用于存储所需的SSL证书和密钥文件。

  3. 在配置目录下,创建一个名为okvclient.ora.它应该有以下格式:

    服务器=host_ipport_numSTANDBY_SERVER =host_ipport_num

    例如,如果KeySecure运行在主机198.51.100.20上,监听端口9002,则okvclient.ora文件看起来像这样:

    服务器= 198.51.100.20:9002 STANDBY_SERVER = 198.51.100.20:9002
  4. 以具有证书颁发机构访问凭据的管理员身份连接到KeySecure管理控制台。

  5. 进入“Security >> Local CA”,创建一个本地证书颁发机构。

  6. 进入“可信CA列表”。选择Default并单击Properties。然后选择Edit for Trusted Certificate Authority List并添加刚刚创建的CA。

  7. 下载CA并将其保存到ssl目录作为文件命名CA.pem

  8. 导航到Security >> Certificate Requests并创建一个证书。然后你可以下载一个压缩文件焦油包含证书的PEM文件。

  9. 从下载的文件中提取PEM文件。例如,如果文件名为csr_w_pk_pkcs8.gz,使用以下命令解压并解包:

    Tar ZXVF csr_w_pk_pkcs8.gz

    提取操作产生两个文件:certificate_request.pemprivate_key_pkcs8.pem

  10. 使用这个openssl命令解密私钥,并创建一个名为key.pem

    Openssl pkcs8 -in private_key_pkcs8Pem -out key.pem
  11. 复制key.pem归档到ssl目录中。

  12. 将证书请求复制进来certificate_request.pem放到剪贴板上。

  13. 导航到“安全>>本地ca”。选择您之前创建的同一个CA(您下载以创建CA.pem文件),并单击“签名请求”。从剪贴板粘贴“证书请求”,选择证书目的为“客户端”(密匙环是KeySecure的客户端),单击“签名请求”。结果是在新页面中使用所选CA签名的证书。

  14. 将签名的证书复制到剪贴板,然后将剪贴板内容保存为名为cert.pemssl目录中。

  15. (可选)如果希望对密钥文件进行密码保护,请使用密码保护keyring_okv密钥文件

完成上述操作后,请重新启动MySQL服务器。它加载keyring_okv插件和keyring_okv使用其配置目录中的文件与KeySecure通信。

为Townsend联盟密钥管理器配置keyring_okv

Townsend联盟密钥管理器使用KMIP协议。的keyring_okvkeyring插件可以使用Alliance Key Manager作为keyring存储的KMIP后端。有关其他信息,请参见MySQL联盟密钥管理器

密码保护keyring_okv密钥文件

您可以选择使用密码保护密钥文件,并提供一个包含密码的文件,以便对密钥文件进行解密。为此,请将位置更改为ssl目录并执行以下步骤:

  1. 加密key.pem关键文件。例如,使用这样的命令,并在提示处输入加密密码:

    $> openssl rsa -des3 -in keyPem -out key.pem.new Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
  2. 将加密密码保存在单行文本文件中,文件名为password.txtssl目录中。

  3. 验证加密的密钥文件可以使用以下命令解密。解密后的文件应该显示在控制台上:

    $> openssl rsa -in key.pem.new -passin file:password.txt
  4. 去掉原来的key.pem文件和重命名key.pem.newkey.pem

  5. 修改new的所有权和访问方式key.pem文件和password.txt文件中的其他文件具有相同的限制ssl目录中。