首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么对mysql服务器使用ssh隧道?

问为什么对mysql服务器使用ssh隧道?
EN

Server Fault用户
提问于 2010-03-29 13:18:57
回答 4查看 1.1K关注 0票数 2

我让ubuntu服务器充当我的php网站的lamp服务器。

安装mysql服务器并为本地主机端口打开。

我已经读过如何通过ssh隧道到我的mysql服务器。

但我不明白为什么这样做比直接为internet端口打开mysql服务器要好。

因为在任何一种情况下,黑客都可以强行使用端口获取密码。对于公众开放的mysql端口(3306)或使用隧道的ssh (22)。

那么,为什么对mysql (和许多其他服务器应用程序)使用ssh隧道更好呢?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2010-03-29 13:28:51

如果您使用SSH隧道,那么您的SSH和MySQL密码在通信过程中都是加密的--以及所有通过隧道的数据。如果您没有使用SSH隧道,也没有使用MySQL的SSL支持,则不存在加密,恶意第三方可能使用数据包嗅探或其他恶意手段窃听您的通信。

另外,如果您正在使用SSH隧道,那么如果远程机器的SSH键发生了更改,您将被警告。这在标准MySQL中不会发生,这意味着攻击者可以使用IP欺骗或中间进攻的人来破坏/干扰/窃听您的通信。

有关更多信息,请参见:

票数 6
EN

Server Fault用户

发布于 2010-03-29 15:09:01

但我不明白为什么这样做比直接为internet端口打开mysql服务器要好。因为在任何一种情况下,黑客都可能强行使用端口获取密码。

简单的答案是,有一种信任SSH的文化能够比MySQL更好地实现安全性。SSH方法的支持者可能会认为MySQL的密码交换协议在过去已经被破坏,所以最好依赖SSH。

不过你是对的。SSH密码几乎和MySQL密码一样容易强制使用。

幸运的是,SSH支持许多身份验证方法,密码只是其中之一。对于面向互联网的主机,我看到sys管理员完全禁用了密码认证,而是选择了更强大的方法,比如公钥身份验证。有关公钥身份验证的更多信息,请参见RSAAuthentication in sshd_config(5)和ssh-keygen(1)。

希望这能有所帮助!

票数 5
EN

Server Fault用户

发布于 2010-03-29 14:20:59

除非您有充分的理由,否则我不会将SSH隧道用于应用程序流量。如果应用程序运行在与数据库相同的服务器上,您可能应该使用MySQL套接字并禁用MySQL的网络。如果服务器直接在Internet上运行,则尤其如此。

如果您有多个服务器,则可以在MySQL中本机使用SSL加密传输中的通信量。

我怀疑您指的是在较大环境中使用SSH隧道进行客户端连接的开发人员。通常,这是因为防火墙访问不是直接授予MySQL的,而是允许SSH访问的,在这种情况下,SSH将在不增加MySQL占用空间的情况下启用工作。

使用SSL进行安全连接的MySQL

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/127283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档