【发布时间】:2011-01-25 23:14:18
【问题描述】:
我有一位安全顾问要求我们实施与 mySQL 的加密连接。他担心当我们连接时,数据库的用户名和密码会以明文形式发送。
mysql 服务器与脚本在同一网络上,但不是同一台物理机器。所以凭据不会被外部传递,除非服务器已经被入侵,否则应该没问题。
我说 SSL 是不是有点矫枉过正?
【问题讨论】:
-
或者网络被攻破了;这可能比破坏网络服务器或数据库机器更容易。
我有一位安全顾问要求我们实施与 mySQL 的加密连接。他担心当我们连接时,数据库的用户名和密码会以明文形式发送。
mysql 服务器与脚本在同一网络上,但不是同一台物理机器。所以凭据不会被外部传递,除非服务器已经被入侵,否则应该没问题。
我说 SSL 是不是有点矫枉过正?
【问题讨论】:
如果您需要实施此安全措施,我会设置一个加密的 SSH 隧道。在网络服务器上:
ssh -L 3306:localhost:3306 -N someuser@mysql.server.address
然后在您的 Web 应用中连接到 127.0.0.1 上的 MySQL,它将通过加密的 SSH 隧道转发到远程 MySQL 服务器。
【讨论】:
只要网络不受影响,应该没问题。这并不一定意味着 web 或 db 服务器。
您信任所有有权访问网络的人吗? (我们不知道您的网络设置的详细信息,但据我们所知,它是由呼叫中心的廉价工作人员共享的,他们带来了他们没有意识到包含病毒的 U 盘)
考虑到正在处理的任何数据的重要性,您是否足够信任他们?
即使你这样做了,除非实施它会产生明显的性能损失,否则实施更多的安全性是一件坏事。
【讨论】: