我现在吓坏了一点.我正在SSH连接到我最近委托的远程服务器.我是以root身份做这件事的.我已经安装了fail2ban并且在日志中有大量禁用的IP.
我最后一次登录时注意到我的终端真的很滞,然后我的网络连接断了.当我在大约5分钟后重新购买它后,我重新登录到服务器并做了一个’谁’并意识到有两个root用户登录.我想如果我的连接终止,那么从上一个会话开始的过程就是停在服务器上?
当我第一次断开连接时,连接以“写入失败:断开管道”结束.我用另一个root杀了bash会话.我对ssh安全性了解不多,但会话会被劫持吗?有没有办法检查这个?我需要继续通过ssh登录我应该采取什么预防措施?如果我以某种方式通过代理到达我的服务器(就像一个中间人攻击的人)他们可以劫持我的ssh会话吗?
解决方法
根登录可能是曾经是你的悬空
shell会话.您的服务器也可能正在使用所有尝试登录的dDOS.
锁定SSH.不允许root登录,并且那些试图暴力破坏此计算机的请求将立即失败(占用的资源更少).以普通用户身份登录并通过sudo提升权限,这是您应该进行的练习.还要将SSH登录限制为客户端IP列表,以便令人讨厌的计算机甚至无法登录.
使用SSH密钥代替密码进行用户登录.它们更易于处理,并且可以自己进行密码保护,以防您不小心将私钥泄露到错误的位置(让您有时间更换它们并使旧的无效).正如@EEAA在评论中提到的那样,如果您希望限制客户端仅使用密钥而不是密码和密钥,则还必须禁用基于密码的身份验证.
如果蒙古部族继续打击你的城墙,可能会将SSH移动到另一个高端口(1024以下,如@AustinBurke指出 – 以便使用特权端口)而不是22.这将减少该端口上的流量,如果这样对你来说是一个问题(大多数机器人不是很优雅,所以他们只会尝试22).它不会阻止尝试端口22或甚至扫描您的机器以查看SSH上正在侦听的端口,并且在大多数情况下是不必要的不便.但它可能有所帮助.
其他人可能能够提供更多提示,但这些是面向公众的SSH服务器的非常通用的安全措施.