小编das*_*tra的帖子

安全地连接到 MySQL - MySQL 的 SSL 与 Stunnel 与 SSH 隧道

我们有一个连接到 MySQL 服务器的 PHP 应用程序,我们希望保护 Web 和应用程序服务器与数据库之间的连接。

在高峰时段,Web 服务器与数据库建立数百个并发连接,并执行大量小型读取和写入。我知道这不是最佳选择,并且正在努力减少与此并行的数据库连接数。

我们目前没有打开与数据库的持久连接,虽然我们打算在将来启用它,但我想独立于它实现它。

硬件方面 - MySQL 服务器和 Web 服务器一样非常笨重(16 核)。他们是专用服务器。

然后,我的问题围绕着保护和加密与数据库服务器的连接的最高效方法。

到目前为止,我的研究表明,主要的性能开销是设置 SSL 连接 - 一旦连接 SSL,性能损失很小。这是我对每种保护连接的方法的了解:

  1. MySQL SSL 证书 - 就像普通 SSL 一样工作。可以使用客户端证书来防止未经授权的连接。与我们现有的设置没有持久连接。仍然必须让 MySQL 侦听防火墙上的开放端口。
  2. 窒息。设置端口到端口的 ssl 隧道。不必重新配置 MySQL。可以关闭正常的 MySQL 监听端口,防止恶意的 MySQL 连接尝试。不支持持久连接。未知的性能命中。
  3. SSH 隧道。在客户端和服务器之间创建 SSH 隧道。不必重新配置 MySQL。可以关闭正常的 MySQL 监听端口,防止恶意的 MySQL 连接尝试。支持持久连接,但有时会掉线。未知的性能命中。

这是我所能得到的。我知道基准测试的局限性 - 根据我运行它们的经验,很难模拟真实世界的流量。我希望有人根据他们自己保护 MySQL 的经验提出一些建议?

谢谢

mysql ssl ssh-tunnel stunnel

16
推荐指数
1
解决办法
6735
查看次数

标签 统计

mysql ×1

ssh-tunnel ×1

ssl ×1

stunnel ×1