天翼插件之log4j漏洞处理
其实这文章写出来,有点是给大家带来欢乐的,因为我也觉得挺搞笑的。。。
话说对于天翼云的云主机,我们是有购买一个叫服务器安全卫士的东西,用来检测主机漏洞的。在没有购买卫士之前,是装免费版阿里的态势感知去保障主机安全,即使后来有卫士了,还是舍不得卸掉阿里的态势感知插件,有两个产品去保障安全,不是更好么?
昨天偶然巡检云控制台的时候,就发现有应用漏洞(阿里的),如下图:
关键词就是“CloudResetPwdUpdateAgent”,而且每台机器都有,很明显不像人为测试装的东西附带的,很可能就是云控制台用于监控的插件之类。
吐槽一:
今天在处理漏洞前,特意用天翼的服务器安全卫士去扫描,竟然搜不出log4j 的漏洞,反而扫出操作系统的安全更新,很奇怪为什么天翼自家安全产品会搜不出这个安全漏洞?
搜了下叫“重置密码”插件。顺便提了工单,就说这玩意引用了log4j的jar包,要怎么处理,果不其然他们回复:是ECS重置密码插件(CloudResetPwdUpdateAgent),目前不存在被故障注入的风险,如果卸载的话可能会影响后期重置密码。
今早上班,看到给过来的参考处理链接:https://www.ctyun.cn/document/10000036/10017987
吐槽二:
老实说,如果单凭给过来的这个链接,能知道怎么处理,我封他是个神!就一个下载log4j安全版本的下载地址,然后建议已知受影响的应用及组件进行升级(那不是废话么),升级肯定知道是替换jar包啦,但有些升级还得重新编译呀。。。
一开始还真的从里面的github地址,下载安装版本下来,然而解压之后不是jar包的形式,于是就叫他发一个清楚明白点的修复教程来,这个:https://www.ctyun.cn/document/10000015/10019436。
针对他发来的链接,过了下修复流程,知道确实要干掉插件安装目录停服务进程,我顺便搜了下该插件的应用场景:https://www.ctyun.cn/document/10000015/10002050
那我就干脆卸掉之后,重装之前,验证下这个应用场景是不是不再好使了,也就是云控制台是不是无法修改ECS密码了。
吐槽三:
首先,文档里面重置密码的图没改,稍稍误导了我,以为云控制台去了错的地方
重置密码肯定要关机啦,我干掉插件后,关机,还真的可以重置密码。工单我就回复他,如果干掉这个插件,云控制台还能对ECS一键重置密码,那还不如不升级log4j。
然后搞笑的地方来了,他说这个虽然设置了新密码能点击“确定”,但是实际上还是没修改前的密码。后来测试过,还真的如他所说,设置的新密码是假的,假的话,文档好歹更新下嘛~~害我以为有下图这个叫安装密码重置插件的提示:
吐槽四:
天翼云的工单系统,有个比较讨厌的地方,只要你提了工单,很快你会收到他们的电话,有很多人打过来跟你确认问题解决了没有,没解决也会打电话跟你说什么继续帮反馈技术之类的,我就想,就那么不相信自己文字表达问题的能力么(反正觉得很多电话打过来都是废话,要不就是客服夹杂很多口音听不清楚的),一个问题处理下来,有时会收到不下10个电话。。。相对阿里的客服,他们能在工单里,用文字能准确描述出问题解决的关键点,基本不需要打电话来确认的,我印象中好像一次都没有。
还有一个工单适合通话时间,我虽然勾选了任何时间,但为啥午休的时候还是连打三次来,明明第一个都直接挂机了,还喋喋不休(这让我联想到,打不死的蟑螂精神)。。。其实怀疑即使勾选了“9~18点”,午休的时间也会打来。。。
继续讲log4j的问题解决。。。
吐槽五:
看回这篇更新重置密码插件的文档:https://www.ctyun.cn/document/10000015/10019436
良心话,写的不清楚,然后我又提工单问了(一天下来,一直跟同一个带口音的大叔聊,他好像挺喜欢跟我聊 = =)
下载下来zip压缩包:CloudResetPwdAgent.zip,解压后里面有两个名字特别像的东西:cloudResetPwdAgent 和 cloudResetPwdUpdateAgent。
我当时看到步骤4的时候,就纳闷只需要跑CloudResetPwdUpdateAgent.Linux 里面的setup.sh 而不需要跑 cloudResetPwdAgent 的 setup.sh 是不是有问题,因为后面检测密码重置插件是否安装成功,是两个服务都要检查的。
service cloudResetPwdAgent status
service cloudResetPwdUpdateAgent status
而且cloudResetPwdAgent 死活都运行不起来的:
至于这个:cloudResetPwdUpdateAgent,装完默认也是没有开起来的,需要restart下:systemctl restart cloudResetPwdUpdateAgent
我当时一开始没有直接工单问他们,反倒是自作聪明试试在:cloudResetPwdAgent也运行 setup.sh,在想文档那么多bug,写少这个估计也正常,才发现如果也运行PwdAgent的setup.sh,最终结果是两个服务都起不来!
最后他们来电说:如果服务CloudResetPwdAgent和CloudResetPwdUpdateAgent的状态均不是“unrecognized service”,表示插件安装成功,否则安装失败。其实从头到尾我都没看到他们说的状态关键字,姑且自己总结如下:
service cloudResetPwdAgent status ——》 没启动(没起来是正常的)
service cloudResetPwdUpdateAgent status ——》 正常
然后再检查下log4j的包没有被引用了:
ls -l /CloudResetPwdUpdateAgent/lib/ ## 修复完该目录应没有log4j的包
ls -l /CloudrResetPwdAgent/lib/ ## 修复完该目录应没有log4j的包
一天下来,心累,搞笑,同时也觉得天翼很不靠谱。。。(人、专业能力、文档编写、云资源服务,各种bug bug bug。。。),当然在这里唯一优点,你会感受到满满的人文关怀(多次会跟你确认,问题都处理好了吗)