我有一个ec2实例,我安装了mysql。服务器侦听来自任何ip(bind-address = 0.0.0.0)的连接。
我已经设置了mysql安全组,只有我的webapp实例可以远程连接到mysql数据库。 为此,我在我的实例中添加了一个webapp-sg安全组(webapp-sg限制为http,https和ssh) 然后对于我的mysql实例,我只是使用webapp-sg组作为“源”。我已经证实了这一点 1.我无法从外部ec2实例远程登录 2.在ec2实例中,我必须在一个具有安全组= webapp-sg
的ec2实例上但是,webapp实例和mysql数据库之间的流量仍然是明文。有什么影响? (我看到许多推荐上述设置的文章)。 人们为此使用“Mysql over ssl” - 我怀疑这会对性能产生影响吗? 或者aws vpc解决了这个问题吗?
答案 0 :(得分:3)
简答:这是推荐的操作方式。去吧。
更长:这取决于。取决于您的应用所需的安全级别,以及您愿意花费的工作量,复杂性,可用性和维护。 理论上,建议任何机器间流量都应加密,特别是在公共云等多租户环境中 - AWS花了很多精力使他们的基本安全组提供可靠的安全组。 see 'Network Security' chapter
这会使窃听或数据包欺骗变得非常不可能。 如果你是现实的,黑客可以使用你的网络应用程序错误和漏洞作为主要攻击媒介的机会更大(按数量级)。
也可能是安全组错误配置的可能性。 Dome9和Newvem等专用服务可能有助于获取洞察力并管理您的安全配置。 (披露 - 我是Dome9的联合创始人)
最后,VPC。 虽然在架构上与EC2没有太大区别,但建议使用它,因为它带来了更多的配置能力,并且第二种方法可以实施您的策略(网络ACL)。 这可能会带来一些复杂性和更多维护,但可以减少错误配置效果。