【问题标题】:Enforce SSH to mysql强制 SSH 到 mysql
【发布时间】:2015-05-25 11:44:56
【问题描述】:

我在 Amazon Ec2 中设置了一个 linux 服务器,并在 RDS 中设置了一个 mysql 数据库。

使用 (TCP/IP) 或 (TCP/IP with SSH) 从 mysql 工作台连接到 RDS 正常。

我的问题是,如何强制所有到 RDS 的连接都必须通过 linux 服务器?我想强制执行此行为,因为它提供了额外的安全层。

想要强制执行

客户端 -> EC2 Linux 服务器 -> RDS

想要阻止这个

客户端 -> RDS

我的 Ec2 配置

我的 RDS 配置

【问题讨论】:

  • 您有什么理由不简单地更改 RDS 安全组以允许来自 EC2 实例的 IP 地址的连接?因为这是通过 SSH 隧道时 RDS 将看到的地址。
  • 我想完全按照你的建议去做。尝试设置图片中突出显示的部分,但不太确定 1)我应该使用 EC-2 的什么 ip(私有 ip 或公共)....2)端口号应该是什么...... .如果你能提供一些指导会很棒....谢谢。
  • 在玩了一段时间后,通过在源连接设置中设置安全组id作为参数,终于得到了想要的结果。谢谢大家。

标签: mysql linux amazon-ec2


【解决方案1】:

未经测试

试试:

[client]
protocol=tcp
host=<ip address of DB server>

在您的 my.cnf 文件中。主机只能通过 ssh 访问。

【讨论】:

  • 这没有任何意义。问题似乎是关于防止直接连接到服务器。
  • Michael,我假设 OP 的配置使用 unix 套接字直接连接到本地主机,如果没有另外指定,那就是问题所在。您对安全组的建议更安全且不那么骇人听闻。
  • Unix 套接字连接无法通过 RDS 实现,RDS 是 Amazon Web Services 提供的托管 MySQL 服务器服务。 RDS 客户无法访问运行 RDS 实例的主机——唯一可能的访问是通过 TCP。
  • @fiarce 如果在实例中安装了 MySql,您建议在 my.cnf 文件中添加主机或绑定地址属性的方式是正确的。如果您想在 RDS 中添加此类参数,则有 Parameter Group 用于此目的。但参数组不包含主机或绑定地址属性。所以在这种情况下,Michael - sqlbot 对我来说是正确的。
  • 我已经添加了一些与我的服务器设置相关的更多信息,看看它是否对你们有点帮助。
【解决方案2】:

在玩了一段时间后,通过在源连接设置中设置安全组ID作为参数,我终于得到了想要的结果。谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 2014-05-26
    • 1970-01-01
    • 2015-08-28
    • 2011-11-26
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多