AWSnetworkingACL /安全组和RDS访问

只是想澄清我正在创build的一个新的亚马逊设置的一些设置。 我遵循了一些指南,一切都显得有效和安全,如果有人对安全性有一些了解,可以快速浏览一下,我真的很感激。

我的目标是对EC2实例进行HTTP和HTTPS访问,并且只对通过IP限制的特定EC2实例进行SSH访问。

networkingACLconfiguration为只能访问SSH,HTTP(S)。

Inbound: SSH - Source 0.0.0.0/0 - Allow HTTP - Source 0.0.0.0/0 - Allow HTTPS - Source 0.0.0.0/0 - Allow ALL - Source 0.0.0.0/0 - Deny Outbound: ALL - Destination 0.0.0.0/0 - Allow 

“HTTP”安全组,适用于所有基于Web的pipe理EC2服务器。

 Inbound HTTP - Source 0.0.0.0/0 HTTPS - Source 0.0.0.0/0 Outbound ALL - Destination 0.0.0.0/0 

应用于pipe理EC2服务器的“SSH”安全组。

 Inbound SSH - Source MYIP/32 Outbound ALL - Destination 0.0.0.0/0 

“DB”安全组,适用于RDS,公共辅助function设置为禁用。

 Inbound MySQL - Source 174.20.0.0/20 (VPC CIDR) Outbound ALL - Destination 0.0.0.0/0 

如果我需要直接访问MySQL,那么计划就是通过pipe理EC2服务器创build一个SSH隧道。 工作正常。

鉴于在上面的configuration,我应该只能够通过端口22,80和443访问我的设置。为什么如果我在我的本地计算机上执行以下操作:

 mysql -h db-instance.abcdef12345.eu-west-1.rds.amazonaws.com -unicksuser -p 

它连接并要求我input密码吗?

我实际上不能用正确的细节访问服务器,只是觉得这个应该是不可访问的,甚至从来没有要求input密码。

mysql -p给出的响应最初不是一个certificate到服务器的IP连接的有效testing。

MySQL的客户端/服务器协议使用挑战/响应模式,所以密码永远不会真正发送到服务器,并且提示不来自服务器。

相反,客户端在连接到服务器之前会在本地提示您input密码,事实上,在validation服务器是否存在之前,它会提示您。

 $ mysql -p -h lol.psych.example.com 

对目标主机名使用这个或任何无意义的值来说明这是真实的。 密码提示立即出现。