从本地主机通过 sshd 到随机本地主机端口的不明 ssh 连接

从本地主机通过 sshd 到随机本地主机端口的不明 ssh 连接

我试图找出为什么我的安全日志文件中有一些奇怪的连接。类似这样的事情:

Apr 23 11:35:43 li192-61 sshd[11651]: Did not receive identification string from 127.0.0.1
Apr 23 11:35:49 li192-61 sshd[11661]: Connection closed by UNKNOWN

我有许多这样的连接,每分钟都有。所以我使用命令netstatnetstat -ta --numeric-ports --program | grep 22获取更多信息。我得到了这个(我删除了我自己的 ssh 连接):

tcp        0      0 localhost:56145             localhost:22             TIME_WAIT   -

接下来我尝试找出哪一个正在使用这个端口,因此我使用了它lsof -i :22,但除了我自己的连接之外什么也没得到。

再次启动netstat命令后,我得到了以下信息:

tcp        0      0 localhost:45979             localhost:22             TIME_WAIT   -  

一个新端口正通过端口 22 用作从本地主机的远程目的地。每分钟都是同样的事情。

我现在没有其他想法。所以我的问题是:

有没有办法获取所有使用 ssh 连接的进程或获取所有尝试连接到特定端口(例如:45979)的进程?

感谢您的时间 !

答案1

这里有一篇帖子这表明当有两个竞争的 sshd 进程尝试绑定到同一个端口时就会发生这种情况。

您可能需要获取本地控制台,然后运行service sshd stop并检查ps -ef | grep sshd是否存在任何不受服务包装器控制的恶意 sshd 服务器。

答案2

如果你看一下 netstat 标头:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

您将看到高“随机”端口是本地地址。建立传出连接的程序需要一个端口来接收来自远程服务器的响应。它为此接收一个高范围内的端口。

您看到的是从本地应用程序/脚本到本地主机的 SSH 连接。

但是由于某种原因,连接似乎无法建立。应用程序无法正确验证自身身份。

因此,您要找的不是连接到端口 45979 的应用程序,而是连接到本地主机上的端口 22 的应用程序。最有可能的只是ssh localhost

检查建立连接的时间,然后检查这些时间的 cron 计划和/或 cron 日志。

答案3

将所有这些虚假连接尝试的进程 ID 与您自己使用的进程 ID 关联起来;您自己的连接的进程 ID 不应改变。

如果确实如此,某些设置会导致你的连接一次又一次地重新连接(这在 SSH 中是可能的,而不会丢失连接)

相关内容