数万次失败/拒绝的SSH登录尝试

最近我和几个朋友想出了一个应用的主意。为了方便开发,我们在一台Ubuntu Server 12.04上设置了LAMP。这台服务器放在我家里。我们设置了3个用户账户。虽然我对Linux还不太熟悉,但是我在自己的电脑上使用Ubuntu也有一些经验。
今天我在玩SSH并查看日志(我需要学会如何阅读这些信息来了解服务器的运行情况,对吧?)时,看到了一件奇怪的事情。
在/var/log/auth.log和/var/log/auth.log.1中,我看到了一堆针对'root'和一些我不熟悉的用户名的登录失败尝试。我仔细查看了它们,据我所见,除了系统上的实际用户外,没有其他用户通过认证。很多列出的IP地址似乎来自俄罗斯。
目前,这台服务器上只有一个原始的Ubuntu Server和LAMP,但即使如此,使用以下命令:
sudo grep -i fail /var/log/auth.log | wc -l

我得到了3412个结果。这对于一个自4月8日以来一直运行的服务器来说似乎过多了。更糟糕的是,对auth.log.1运行上述命令返回了23075个(!!!)结果。
很明显有人试图入侵这台服务器。虽然里面没有任何有价值的东西,但一旦我们在应用程序上取得进展,我们就不希望我们的知识产权被盗窃。
我应该担心吗?我能做些什么呢?
编辑:
我在这里找到了一些非常有用的信息,这使我能够运行一个脚本,将所有无效密码和无效用户尝试登录的情况进行拆分和排序。对于通过谷歌搜索到这里的人可能会有所帮助!

1不要直接将您的计算机暴露在互联网上。无论是SSH还是HTTP,僵尸网络都会不断尝试入侵任何开放端口。您需要为您的计算机和网络设置防火墙。 - dobey
谢谢。我会这样做,并让谷歌成为我的朋友。你有什么建议,或者能指点我一下吗? - Raichu
而且,那个假账号存在吗? - enedil
不,他们都没有。看起来无论是谁(或者是什么机器人)试图登录,都使用像“babu”和“ashrae”这样的用户名。奇怪而具体。还有一些root登录尝试,但我相信Ubuntu禁用了该账户,而选择使用sudo。 - Raichu
@dobey 一般来说,我同意你的观点,但有时候你想要随时随地访问你的电脑...所以你不得不忍痛采取行动。请查看我的回答以了解对策。 - Rmano
@Rmano 这就是OpenVPN的用途。通过你的路由器打开一个端口,建立VPN连接,可以访问本地网络上的所有内容,而不会将一切暴露给外界。 - dobey
@dobey 嗯,这就是我所做的事情——我的OpenVPN本身就是sshd。它是唯一开放的端口,然后我使用-L和-R端口重定向在各处进行连接,使用公钥/私钥对…… OpenVPN本质上比sshd更安全吗?不过,我会有时间研究一下OpenVPN的,谢谢你提醒我。 - Rmano
可能是如何加固SSH服务器?的重复问题。 - LiveWireBT
1个回答

这种情况对我来说也经常发生。有很多脚本小子试图对你的SSH服务器进行暴力攻击。
到目前为止,我的解决方案是安装DenyHosts,但似乎在14.04版本中将不再受支持;下一个最佳解决方案似乎是Fail2Ban。链接和更多信息请参考Ubuntu Trusty Tahr中的denyhosts软件包被删除:是暂时还是永久性的? 在那个答案中,bodhi.zazen指向了这个非常推荐的页面:https://web.archive.org/web/20190828185822/http://bodhizazen.com/Tutorials/SSH_security

太好了,我会将其标记为已解决!谢谢你提供的信息,我会查看一下。 - Raichu
防火墙怎么样?对于ssh来说帮助不大,但在服务器上很重要。 - Seth
@Seth 嗯,如果你有一个服务器,你不能阻止传入的连接。至少,在你想提供的服务上是不行的。所以安全性很重要;bodhi.zazen关于加固服务器的文章值得一读。 - Rmano