我正在恢复遭到黑客攻击的服务器,但有一件事我无法修复:
当我通过 ssh(或 scp)连接到服务器时,无论我输入什么密码,它都会让我登录。我不太了解 ssh 协议,但我很确定它不应该这样做。
我已经检查了 sshd_config 文件,唯一的更改是我所做的更改(据我所记得)。
我的另一个想法是,/etc/passwd 文件中可能存在一些问题,我遗漏了。有人见过这种情况吗?
答案1
这听起来就像是您的服务器上有一个修改过的 SSH 二进制文件集,如果安装了任何后门,我建议运行 rkhunter 和/或 chkrootkit,如果发现任何后门,我建议阅读它们并清理它们。
如果攻击者留下任何痕迹,还要检查您的根帐户历史记录以查看发生了什么。
您还可以通过包管理器(rpm/apt-get 或任何第三方包管理器)重新安装 SSH 包(或任何其他可利用的包),用默认二进制文件替换二进制文件,重新运行 rkhunter 并查看是否仍然有匹配项。
最后,您可以检查哪些软件包的文件被修改了,以基于 RPM 的系统为例:
以下命令将列出 RPM 包的所有更改:
rpm -qa | xargs rpm --verify --nomtime | less
如果验证失败,它会显示哪个部分失败了:
c %config configuration file
d %doc documentation file
g %ghost file (i.e. the file contents are not included in the package payload).
l %license license file.
r %readme readme file.
S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
以上内容摘自 RPM 手册 -http://www.rpm.org/max-rpm/s1-rpm-verify-output.html
另一个解决方案是备份您的数据并在时间允许时重新安装系统,因为看起来您现在处于困境中。