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

我有一个运行Ubuntu 14.04的数字海洋液滴。 我用它在公共可用的服务器上运行快速的node.jstesting。 我刚刚通过SSHlogin,做$ 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连接是否是恶意的,如果是这样的话,他们可能对服务器做了什么。 我宁愿不核弹它,但如果它已经被攻破(因为他们有根访问,我认为它已经!),那么也许这是最简单的事情。

更新 :由于写了上面的内容,我有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) 

如果任何人都可以提出一个合理的方法来检查妥协/清理这个/看到发生了什么,这将是伟大的帮助我学习(我是这样一个n00b!)。

更新2 :看起来,这不是妥协的迹象,而是蛮力login尝试的迹象 – 请参阅下面的@bodgit和@ultrajohn的评论。

不,这不是妥协的证据。

互联网上的任何服务器都可能会经常尝试暴力破解SSH和其他types的login。 这些types的攻击是自动的,而不是针对性的。 通常攻击的目标是安装一个bot,可以用来发送垃圾邮件或发起更多的攻击。 攻击通常是基于字典的。

显然,如果一些攻击者想要尝试一个随机的用户名和密码,他们将通过与SSH服务器build立连接开始。 这就是你在lsof中看到的(也将在netstat中看到)。

如果你想检查妥协,看看wtmp(键入谁),并看看系统日志。 系统日志中的审计logging(如“为用户詹姆斯打开的会话”)将会有所提示。

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