我们有一个集群,其中有一个前端节点,可以接纳普通用户和 LDAP 用户。两天前,ssh 出现了奇怪的行为:
- 这LDAP 用户无法使用密码登录前端节点
- 但是,LDAP 用户如果他们在authorized_keys中设置了ssh-key,则可以登录
- 普通用户(没有 LDAP、/etc/passwd)可以无问题登录
- 使用同一 LDAP 服务器的其他服务正常运行
所以,我认为问题出在前端节点。LDAP 似乎可以正常工作,使用getent [passwd|shadow]
命令我们可以获取所有用户。
同时,当我们从此节点登录到其他节点时,ssh 显示警告/错误。但它仍然允许 ssh:
[root@frontnode ~]# ssh othernode
/etc/ssh/ssh_config line 50: Unsupported option "GSSAPIAuthentication"
[root@othernode ~]#
另外,当我重新启动 ssh 守护进程时,我们还会出现与 GSSAPI 相关的错误:
[root@frontnode ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: /etc/ssh/sshd_config line 81: Unsupported option GSSAPIAuthentication
/etc/ssh/sshd_config line 83: Unsupported option GSSAPICleanupCredentials
/etc/ssh/sshd_config line 97: Unsupported option UsePAM
[ OK ]
没有人更改 ssh 配置,也没有更改 sshd 配置。到目前为止一切正常。我们不知道问题出在哪里。
登录节点是 Scientific Linux 版本 6.2(基于 redhat)
答案1
看起来 sshd 或一些库在前端节点上发生了改变。
该UsePAM
选项允许您使用 LDAP 存储的密码登录。
故障排除步骤
- 您应该检查您的
/var/log/yum.log
包裹是否有任何变化。 - 您是否在那里运行配置管理系统?确保没有人输入新的 sshd 二进制文件。
- 使用 chrootkit 或 rkhunter 检查 rootkit。
清理
既然您已经确定存在 rootkit,您需要确保每个人都更改密码,并建议他们也更改其他网站上的密码。
清理的最安全方法是重新安装并从发生这种情况之前的备份中恢复。你永远无法真正知道一些看似无害的文件是否被修改,并在清理后再次感染。