在 lsof -i 中发现未知的 ssh 连接,我的服务器是否已被入侵?

在 lsof -i 中发现未知的 ssh 连接,我的服务器是否已被入侵?

我有一个运行 Ubuntu 14.04 的 Digital Ocean droplet。我用它在公共服务器上运行快速的 node.js 测试。我刚刚通过 SSH 登录并查看$ lsof -i我正在使用的端口。在列表底部我注意到:

sshd    30952 root    3u  IPv4 66978103      0t0  TCP xxx.xxx.xxx.xxx:ssh->120.52.72.81:7810 (ESTABLISHED)
sshd    30953 sshd    3u  IPv4 66978103      0t0  TCP xxx.xxx.xxx.xxx:ssh->120.52.72.81:7810 (ESTABLISHED)

我没想到这些 ssh 连接(应该只有我才会这样!)所以我查了一下 IP 地址,发现它似乎在中国。那么我现在该怎么做才能检查这些 ssh 连接是否是恶意的,如果是,他们可能对服务器做了什么。我宁愿不删除它,但如果它已被入侵(因为他们有 root 访问权限,我猜它已被入侵!)那么也许这是最简单的做法。

更新:自从写下上述内容以来,我有 2 个不同的 SSH 连接,所以我推测它确实受到了损害。

sshd    31009 root    3u  IPv4 66979206      0t0  TCP xxx.xxx.xxx.xxx:ssh->221.194.44.218:50829 (ESTABLISHED)
sshd    31010 sshd    3u  IPv4 66979206      0t0  TCP xxx.xxx.xxx.xxx:ssh->221.194.44.218:50829 (ESTABLISHED)

如果有人可以建议一个合理的方法来检查妥协/清理它/看看发生了什么,那将会很有助于我学习(我真是个新手!)。

更新 2:这似乎不是妥协的迹象,而是暴力登录尝试的迹象 - 请参阅来自的评论@bodgit@ultrajohn以下。

答案1

不,这不是妥协的证据。

互联网上的任何服务器都可能经常遭到暴力破解 SSH 和其他类型登录的尝试。这些类型的攻击是自动的,没有针对性。通常攻击的目的是安装一个机器人,该机器人可用于发送垃圾邮件或发起更多攻击。这些攻击通常基于字典。

显然,如果某个攻击者要尝试随机用户名和密码,他们首先会建立与您的 SSH 服务器的连接。这就是您在 lsof 中看到的内容(在 netstat 中也会看到)。

如果您想要检查是否存在泄露,请查看 wtmp(键入 who),并查看系统日志。系统日志中的审计记录(如“为用户 james 打开了会话”)会提供一些线索。

您还可以查找您不认识的用户,并检查流量和连接(该命令netstat -nvlp很方便),以查看您的服务器是否正在运行意外的进程,例如发送电子邮件或发起与其他服务的连接。

相关内容