netstat 建立是否意味着有人通过 ssh 进入我的机器

netstat 建立是否意味着有人通过 ssh 进入我的机器

我运行了命令netstat -lat

我得到了这个输出...

...
tcp        0      0 my.machine.ip.add:ssh       116.31.116.48:43270     ESTABLISHED
tcp        0      0 my.machine.ip.add:ssh       my.home.ip.add:55732    ESTABLISHED
...

我查了一下 IP,它绝对不应该访问我的机器。那么这是否ESTABLISHED意味着他们正在尝试连接? (我确实在我的 auth.log 中看到来自该地址的许多失败尝试)或者这是否意味着它们已连接?

答案1

“ESTABLISHED”只是表示在TCP层建立了连接;它不会告诉您有关他们是否已通过身份验证的任何信息。一般顺序是:

  1. 建立从客户端(/攻击者)到服务器的 TCP 连接
  2. 客户端尝试进行身份验证
  3. 如果客户端成功进行身份验证,则客户端会通过连接执行某些操作。 TCP 连接保持“已建立”状态,直到断开为止。
  4. 如果客户端无法进行身份验证(通常在 3 次尝试后),服务器将断开连接。

如果有人对您进行密码猜测攻击,并且您碰巧在他们尝试密码时进行了检查,您将看到“已建立”连接。如果它们在尝试之间没有延迟(即,一旦一次连接尝试失败,就重新连接并重试),那么您几乎总是会看到“已建立”连接。

另一方面,如果您看到相同的连接保持一段时间(即相同的远程 IP 和端口号,而不是不断更改端口号),那么要么有人进入,要么他们已经磨蹭了很长时间密码猜测之间。在这种情况下,你应该担心。

但如果您真的想知道发生了什么,请检查日志! (正如 Ipor Sircer 在评论中所说。)除非攻击者已经擦除了它们,否则它们将比仅仅查看 TCP 连接提供更多信息。

另外,由于您受到攻击(这是自动的,因为您的 ssh 暴露在互联网上),请确保您的 ssh 服务是正确锁定!禁用root登录,限制可以登录的用户,确保使用难以猜测的密码,并且(如果可能)禁用密码以支持公钥身份验证。

答案2

ESTABLISHED表示tcp套接字处于已建立状态,即连接当前处于活动状态。

套接字tcp元组是:

(my.machine.ip.add:ssh, 116.31.116.48:43270)

其中本地端点是my.machine.ip.add:ssh,远程端点是116.31.116.48:43270

因此,ssh客户端肯定116.31.116.48已连接到ssh您计算机的服务。

相关内容