前阵子saltstack出现的漏洞我这边检查了一下确实也在影响范围内(2019.2.1版本),虽说没有对公网开放端口,但是存在总是有隐患。查了下官网最新的年份版本时2.5版本,决定就升级到这个版本了。

当前使用的salt-master是使用pip安装的,所以直接用pip升级。但是为了保险起见先在跟当前master一模一样的备份环境升级下,没问题再升级生产(事实证明这种决定很明智)。

升级命令:pip install salt==2019.2.5 --upgrade 升级的时候由于疏忽漏了 --upgrade,这直接导致也把salt依赖的各种包都更新了(这是后来意识到的),但是结果很正常,本以为没啥影响,就直接启动服务,此实竟然报错了:

看着报错开始以为是编码出了问题,然后就按着这个思路去查,始终没解决。后来意识到没加upgrade会导致依赖包被更新,然后就对比了下生产环境的依赖包和这个测试环境依赖包的版本,然后将测试环境依赖包恢复到跟生产一样。重新启动验证,居然好了。

最终发现是由于msgpack包导致。修复好后认真升级生产环境,这次非常注意的加了 upgrade,升级后服务正常,验证漏洞已经修复成功。

真是粗心大意要不得呀,本来一分钟完成的事儿,少加了一个参数多折腾了半天。