从公共 Wifi 连接到 AWS EC2-VPC 很困难

从公共 Wifi 连接到 AWS EC2-VPC 很困难

我在 AWS VPC(免费层)上运行了一个 EC2 实例,我在其上运行着一个网站。

我还使用 RDS MySQL DB 实例来满足我的数据库需求,并设置了安全组以允许以下操作:

EC2 安全组 - 入站:

  • 允许通过端口 80 访问所有 HTTP 流量
  • 允许通过端口 22 访问来自我通常使用的 2 个 IP 地址的 SSH 流量
  • 允许通过端口 3306 访问所有 MySQL 流量

EC2 安全组 - 出站:

  • 允许访问所有端口的所有流量

RDS 安全组 - 入站:

  • 允许通过端口 3306 从我的 EC2 安全组访问 MySQL 流量

RDS 安全组 - 出站:

  • 允许访问所有端口的所有流量

通常,当我位于安全组中提到的 2 个 IP 之外时,我会在默认安全组中为 EC2 实例创建一个新的入站规则,该规则允许从我当前所在的 IP 通过端口 22 进行 SSH 访问。

今天,出于某种奇怪的原因,我无法通过 SSH 连接到 EC2 实例。我试图从我所在的咖啡馆的公共 WiFi 连接。尝试了各种方法 - PuTTY、Sublime SFTP、Filezilla。没有用。

我真的很想知道两件事:

  1. 我做错了什么?如何避免在 AWS 中不断处理安全组?
  2. 我现在无法连接的原因是什么?

重要提示:EC2 实例已启动,可通过 HTTP 通过端口 80 进行访问 - 这意味着我可以访问我设置的站点的 URL,一切正常。清除缓存 - 仍可完美加载。

答案1

通过限制 ssh 可达性,你心中的想法是正确的 - 但是你可能做得太过了。

你可以将 SSH 规则开放到任何地方(0.0.0.0),但要有一定的限制以提供一定的安全性

保护 SSH 安全的几个好技巧:

  1. 更改默认 SSH 端口- 这将赶走所有在端口 22 上徘徊在互联网上的扫描仪机器人。这绝不是一种安全措施,而只是一种减少扫描仪滥用的工具。
  2. 仅允许公钥认证- 这将首先阻止任何暴力破解尝试
  3. 添加两步验证- 如果您确实希望从没有私钥的“访客”计算机进行连接,则需要任何启用密码的用户提供额外的代码。

这是一个很好的开始,它可以消除对 SSH 的基本威胁,同时允许适当的可用性。

相关内容