具有动态IP的Amazon EC2安全组入站规则


13

我正在寻找有关EC2安全组潜在问题的澄清。

我正在设置一个安全组来连接到Linux实例。我已经为HTTP和HTTPS访问创建了“随处可见”规则。

对于我的SSH规则,亚马逊教程说我应该将入站访问限制为我的公共IP地址

  1. 如果您的公共IP地址是动态的,我不知道如何安全或可行?

  2. 我的IP地址是动态的,那么当我的ISP更改我的公共IP并且无法再通过SSH进入我的实例时,会发生什么?

链接到我正在使用的设置指南:http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html(“创建安全组”的步骤7 '对我来说似乎是有问题的)

Answers:


6

如果您的公共IP地址是动态的,我不知道如何安全或可行?

如果您发现自己的IP不会经常更改,或者仅需要短时间访问,则此解决方案可能会起作用。由于SSH不会暴露在您提供的CIDR之外的流量中,因此增加了一层额外的安全性。

如果特定的CIDR无法正常工作,您可以尝试ISP可能使用的更多板载CIDR范围,这仍将限制来自很大一部分Internet的访问,这是安全性的胜利。

当我的ISP更改我的公共IP并且我无法再通过SSH进入实例时,会发生什么?

您可以登录到AWS控制台,或使用CLI即时更新安全组规则。

您可以编写一个直接与CLI交互的脚本。就像检查Port 22 rule当前IP并在不一样的情况下更新IP 一样简单。当然,运行这样的脚本可能会引发更多的安全问题:)

IP防火墙是保护SSH的最佳方法吗?

虽然在可行的情况下将ssh流量限制为仅受信任的IP源是很好的做法,但使ssh安全的原因是使用私钥和合理的配置。

要考虑的关键项目:

  • 向您的SSH私钥添加密码
  • 禁用SSH的密码验证
  • 禁用root登录SSH
  • 审核所有用户帐户的SSH公钥

您还可以做一些事情来摆脱暴力攻击带来的“噪音”:

  • 在更高的端口上运行ssh
  • 使用诸如fail2ban之类的软件,它将动态记录许多失败的尝试并在指定的时间段内阻止IP范围

4

可以通过IP地址限制对SSH服务器的访问,但SSH并不依赖于它的安全性。如果禁用密码登录(PasswordAUthentication no)并仅使用私钥身份验证,那么没有您的私钥就无法进入。它是安全的。

因此,换句话说,您不必担心防火墙规则。


1
您确实需要担心对本地计算机的针对性攻击才能获取密钥文件,但是如果您没有运行处理医疗保健/信用卡/政府数据的东西,则发生这种情况的机会可能很小。
ceejayoz

3

您可以将CIDR范围添加到安全组,该范围代表ISP可以分配给您的所有IP的超集。

或者,或者使用AWS API动态更新您的安全组。



0

您可以使用aws_ipadd命令轻松更新和管理AWS安全组规则,并在端口更改时将带有端口的公共IP列入白名单。

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.