[HCS]管控面EICommon-region-master管理节点root账号频繁被锁

举报
农夫山泉 发表于 2025/04/03 16:34:35 2025/04/03
【摘要】 【HCS】sudo脚本没有配置免密导致节点root账号频繁被锁定位方法及过程

涉及版本:HCS850

1、问题描述:登录管控面管理节点EICommon-region-master,切换root账号发现频繁被锁,需要等锁定时间结束才可以输入密码

21.JPG

2、两个排查方向:远程客户端定时重连时密码错误;节点本地有定时任务无正确密码导致

   使用lastb命令查看近期的客户端登录时间和ip,都是用户自己操作,无任何异常

  然后怀疑是本地服务导致,OS同事给了sudo脚本导致账号被锁的排查指导进行排查

3、首先确认root用户被锁是否因为sudo调用导致

观察/var/log/secure日志,搜索"conversation failed",确认开头是sudo调用,同时也可以看出调用时间

22.JPG

4、创建定位工具:创建/usr/bin/sudo.a,内容如下

#!/bin/sh
TRACE=""
PID=$$
LOGFILE="/testout.log"

while true
do
    CMDLINE=$(cat /proc/$PID/cmdline | tr '\000' ' ')
    PP=$(grep PPid /proc/$PID/status | awk '{ print $2; }')
    TRACE="${TRACE}${INDENT}($PID) ${CMDLINE}\n"
    if [ "$PID" == "1" ]; then
            break
    fi
    PID=$PP
    INDENT="  ${INDENT}"
done

echo "-- $(date +%T.%N) ----------------------------" >> "$LOGFILE"
echo -en "$TRACE" >> "$LOGFILE"

/usr/bin/sudo.b "$@"

5、使sudo自动调用走入上一步的自定义脚本,同时记录日志默认在/testout.log

touch /testout.log;
chmod a+rw /testout.log; # 给所有用户赋w权限确保日志正常记录
chmod 777 /usr/bin/sudo.a;
mv /usr/bin/sudo /usr/bin/sudo.b; mv /usr/bin/sudo.a /usr/bin/sudo; 
# 2次mv后sudo实际会调用以下脚本,先记录调用关系,随即在脚本末尾调用sudo.b二进制执行原有命令

6、检查sudo功能是否正常,/testout.log是否能正常记录日志

7、等待下一次的sudo失败,在secure日志中确认调用失败的时间点(sudo.b开头表示从脚本调用过来,可以在日志中查到)

24.JPG

8、在/testout.log中用对应时间点寻找到被调用的sudo命令。

以上图的第一次失败时间19:35:39为例,可见该时间点共有4个不同的sudo调用,仅有1次失败,说明4个调用中有一个存在问题

24-1.JPG

24-2.JPG

24-3.JPG

24-4.JPG

9、在配置文件/etc/sudoers、/etc/sudoers.d/*下面确认对应执行的命令是否正确配置

如上例,需要依次确认 chage XX / curl XXX / df XX / write_pid.sh四个命令

常见的2种问题,以curl调用举例:

        ①未正确配置,sudoers配置文件中未配置curl命令

        ②文件不存在,正确配置了NOPASSWD调用,但是curl文件(/bin/curl)不存在(多见于产品自研脚本)

cat /etc/sudoers.d/* 下面配置,发现只有第三个脚本pod_health_check.sh没有配置NOPASSWD

25-3.JPG

25-2.JPG

25-4.JPG

定位脚本到找到华为研发工程师确认丢失配置修复即可

10、打开/testout.log日志,即可查询到从1号进程到sudo的完整的调用关系,确认是哪个进程调用的对应sudo命令

11、环境恢复

cd /usr/bin;
rm sudo;
mv sudo.b sudo;
rm /testout.log; # 删除日志
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。