gpt4 book ai didi

amazon-web-services - 使用自签名证书验证复制从属服务器上的主机身份

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:24 26 4
gpt4 key购买 nike

AWS EC2 上的 MySQL 5.7 Ubuntu 16.04

我已经使用自签名证书通过 ssl 设置了复制。我可以使用带有 ssl-mode=VERIFY_IDENTITY 的 mysql 客户端从从属连接到主。复制也在 ssl 上工作,直到我尝试启用 MASTER_SSL_VERIFY_SERVER_CERT 以启用主机名验证。

启用后,从站不再能够向主站进行身份验证并收到 io 错误 2026,这只是一个通用的 ssl 连接失败错误。日志没有任何帮助,ssldump 也没有帮助,它只是显示在握手甚至开始之前连接被中止。

根据文档:

To activate host name identity verification, add the MASTER_SSL_VERIFY_SERVER_CERT option.

For a replication connection, specifying MASTER_SSL_VERIFY_SERVER_CERT=1 corresponds to setting --ssl-mode=VERIFY_IDENTITY

还有

Host name identity verification does not work with self-signed certificates.

https://dev.mysql.com/doc/refman/5.7/en/replication-solutions-encrypted-connections.html

那么如何在使用自签名证书进行复制期间启用主机名验证?文档似乎表明这是不可能的,但为什么我能够通过客户端使用 ssl-mode=VERIFY_IDENTITY 进行连接?

谢谢。

最佳答案

解决方案是将 MASTER_SSL_CA、MASTER_SSL_CERT 和 MASTER_SSL_KEY 添加到我的 CHANGE MASTER TO 语句中,以手动指向 ca、证书和 key ,而不是信任 mysql 从配置中读取它们。

据我所知,这意味着 mysql 文档是错误的。

他们说可以在 my.cnf 的 [client] 部分设置路径,但显然不是这样,至少对我而言是这样。无论出于何种原因,[client] 部分确实被 mysql 客户端使用,但在复制时被忽略。

我相信我也误解​​了自签名证书。 MASTER_SSL_VERIFY_SERVER_CERT 确实有效,因为我实际上没有自签名证书,我有自己的 CA 签名的证书。 CA 证书本身是自签名的,但这与看起来自签名的主/从证书不同。

最后,我完全误解了 MASTER_SSL_VERIFY_SERVER_CERT 的目的。事实证明我根本不需要它,因为我的个人 CA 无论如何只为这个域签署证书,所以通过检查服务器证书的通用名称是否与请求的域匹配没有任何好处。它总是会的。只有在使用为许多域签署证书的可信证书颁发机构时,验证才会有帮助。然后您需要验证证书是否属于您请求的域,否则您将容易受到中间人攻击。

希望这些信息对其他人有帮助。

关于amazon-web-services - 使用自签名证书验证复制从属服务器上的主机身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53214592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com