我有一个使用 OpenSSH 设置为 SFTP 服务器的 EC2 实例。它仅允许通过 TCP 端口 22(通过 EC2 安全组限制)在白名单 IP 上进行连接。我经常有客户尝试从他们未被列入白名单的其他 IP 进行连接。我想跟踪这些尝试的连接及其来源 IP,以便帮助他们找出他们的 IP 地址。
是否可以从服务器查看这些 IP 地址?我还可以看到连接尝试并获取 SFTP 用户名吗?
答案1
AWS 有一个功能叫做VPC 流日志捕获进入 VPC 或特定子网或特定网络接口的所有流量。您可以设置 VPC 流日志,然后这些日志将填充到 AWS CloudWatch。它提供了非常详细的日志信息,您可以从中过滤查询。查看更多AWS VPC 流日志
答案2
如果您想查看丢弃的流量,则需要使用在 EC2 实例上运行的防火墙(而不是 AWS 基础设施)来执行白名单。(您的服务器无法记录/查看未收到的流量)。
您可能想要研究一下 Fail2Ban 之类的东西。
提醒一下,有些僵尸网络会尝试使用弱用户名和密码通过 SSH 连接到您的 IP(尤其是在 EC2 上)。如果您试图追踪每一次失败的登录尝试或连接尝试,那么您只会让自己发疯。一个盒子一天可能会收到数百次这样的攻击;我警告过您了。