自签名证书由安装或升级过程生成,设置为365天后过期。在使用默认证书运行MySQL Enterprise Service Manager版本超过一年的情况下,您必须生成新的证书。如果不生成新的证书,MySQL Enterprise Service Manager和存储库之间的SSL连接将失败。本节介绍如何生成这些证书。
这些说明将指导您完成MySQL Enterprise Monitor安装SSL证书的安装过程。
所有证书和密钥都存储在Tomcat密钥库中。使用实例查看存储在keystore中的证书。
keytool keystoreINSTALL_ROOT美元/apache-tomcat/conf/keystore -list -v . sh
有关使用keytool
,请参阅Java Keytool.
使用实例生成证书并将其添加到默认的密钥库中,运行以下命令:
INSTALL_ROOT美元/java/bin/keytool -genkey -keyalg RSA -sigalg SHA256withRSA -keystore . shINSTALL_ROOT美元/apache-tomcat/conf/keystore -alias tomcat -validity 365 -keysize 2048
生成2048位的RSA私钥和证书。这与MySQL Enterprise Monitor安装程序使用的命令相同。
当提示输入密钥密码时,如果您输入了密码,而不是按enter键接受默认密码,那么还必须在Tomcat配置文件中添加新密码,server.xml
.
要为MySQL企业服务管理器安装SSL证书,您必须使用Javakeytool
将证书导入密钥存储库。
使用实例导入证书。
Keytool -import -trustcacerts -alias mycertificate -file cert.pem -keystore keystore
如果要导入受密码保护的现有证书,则必须将其转换为Java keytool能够理解的格式。必须使用openSSL工具和以下命令将X509格式的证书转换为pkcs12格式的证书:
openssl pkcs12 -export -in [path-to-x509Cert] -inkey [path-to-cert-private-key] -out [path-to-cert-to-import-for-keystore] -name tomcat
证书名称必须设置为tomcat,或者与密钥生成步骤中使用的名称匹配。
使用实例导入转换后的证书文件。
INSTALL_ROOT美元/java/bin/keytool -importkeystore -srckeystore [path-to-cert-to-import-for-keystore] -srcstoretype pkcs12 -destkeystore . path-to-cert-to-import-for-keystoreINSTALL_ROOT美元/apache-tomcat/conf/keystore -deststoretype JKS -srcalias tomcat -destalias tomcat . sh
如果要使用同名证书替换已有证书,必须先删除已有证书,再导入新证书。
例如,如果替换名为tomcat
,这是MySQL Enterprise Monitor中的默认值,您必须运行keytool-delete -name -tomcat
在执行import命令之前。
重新启动服务管理器。有关停止和启动服务管理器的详细信息,请参见的说明Unix/Mac OS X而且微软视窗系统.
有关SSL和MySQL服务器的信息,请参见制作SSL和RSA证书和密钥.
要为Agent配置与ssl相关的选项,可以在中放入以下值
:INSTALL_ROOT美元
/etc/bootstrap.properties
表7.1 Agent SSL配置选项
参数 | 描述 | 删除 |
---|---|---|
|
值: True或False(默认)。 验证代理连接到的服务管理器的主机名是否与SSL证书中的主机名匹配。 |
|
|
值:True(默认)或False。 如果设置为 |
|
|
值: True或False(默认)。 若要支持自签名证书、商业证书或CA证书已导入到密钥存储库,则设置为true。 |
3.0.20 |
|
值:字符串 包含CA证书的keystore路径,如果
|
|
|
值:字符串 CA密钥库的密码,如果 |
一个例子bootstrap.properties
SSL认证部分:
ssl-verify-hostname=false ssl-allow-self-signed-certs=true ssl-ca-keystore-path=file:///Applications/mysql/enterprise/agent/etc/mykeystore ssl-ca-keystore-password=password123
要将PEM格式的CA证书导入Agent上新的keystore中,请执行以下步骤:
$INSTALL_ROOT/java/bin/keytool -import -file /path/to/ca。. pem -alias CA_ALIAS -keystore $INSTALL_ROOT/etc/cacerts . pem -alias CA_ALIAS -keystore $INSTALL_ROOT/etc/cacerts . pem
该工具使用证书详细信息进行响应。例如:
输入密钥存储库密码:(密钥存储库需要至少6个字符的密码)重新输入新密码:老板:CN = serverName.com, O = MySQL AB,圣=乌普萨拉,C = SE发行人:O = MySQL AB, L =乌普萨拉,圣=乌普萨拉,C = SE序列号:100002有效起始日期:2010年1月29日12:56:49 CET(中央东部东京),直到星期五:2015年1月28日12:56:49 CET(中央东部东京)结婚证书指纹:MD5: E5: FB: 56:76:78: B1:0C: D7: B0:80:9F: 65:06:3E: 48:3E SHA1: 87:59:80:28: CE: 15: EF: 7 e: F1:75:4B: 76:77:5E: 64: EA: B7:1D: D1:18 SHA256:F4:0B:79:52:CF:F3:A1:A4:7F:B2:D7:C1:65:60:F0:80:93:87:D2:68:9A:A1: 84:F4:06:6E:8E:CF:C1:F6:1B:52签名算法名称:MD5withRSA版本:1信任此证书?[no]: (type yes + enter)证书被添加到keystore
您必须编辑ssl-ca - *
中的配置值bootstrap.properties
因此,要使用路径到密钥库和密码。
LDAP的SSL配置是在Java VM级别上配置的。也就是说,它是在与MySQL Enterprise Monitor安装捆绑在一起的Java VM的密钥库中配置的。
MySQL企业服务管理器附带的JVM不支持AES256密码。这可以防止您使用实现该密码的LDAP服务器。
要连接到实现AES256密码的LDAP服务器,必须下载并安装Java加密扩展(JCE)无限强度权限策略文件包中。此包可从以下网站获得:Java密码扩展.
本节描述的步骤假设您的LDAP服务器已经正确配置,并且您有一个根CA证书,该证书用于生成LDAP服务器的证书。
要为LDAP和MySQL企业服务管理器启用SSL,您必须执行以下操作:
如果需要,请将LDAP服务器的根CA证书从PEM格式转换为DER格式。如果CA证书已经为DER格式,请继续执行下一步。
Openssl x509 -in cacert。pem -inform pem -out ~/cacert.der -outform DER
将DER格式的CA证书导入到MySQL Enterprise Service Manager Java密钥库中。运行以下命令
箱子
MySQL企业服务管理器的Java安装目录:Keytool -import -trustcacerts -alias ldapssl -file ~/cacert.der -keystore lib/security/cacerts . keystore -file ~/cacert.der
用以下命令重新启动MySQL企业服务管理器:
mysql /企业/监控/ mysqlmonitorctl.sh重启