现象分析:
- 升级 OpenSSL 至 OpenSSL-1.1.1g-12.el8_3 后,服务器主动拒绝了所有的 22 端口连接请求,无法正常通过 SSH 连接服务器。
- 重启服务器后,服务器正常运行,但无法正常对外通讯。
过程:
2021-01-27 21:47 升级 OpenSSL
2021-01-28 13:47 重启服务器后问题出现
2021-01-28 14:05:00 无法解决问题,提交工单
2021-01-28 14:46:45 实例进入救援模式,腾讯云工程师介入,对实例登机排查
2021-01-28 16:09:15 确认为升级 OpenSSL 导致的异常
2021-01-28 16:17:00 按常规方法修改 ld.so.conf 配置无效,尝试定位升级所修改的配置文件
2021-01-28 20:08:15 dump 拷贝数据,进行临时业务迁移
2021-01-28 22:10:39 尝试修改和覆盖正常的配置文件来修复
2021-01-28 22:30:39 故障服务器数据镜像共享,转交服务商研究解决方案
2021-01-29 16:48:21 问题解决
解决流程:
使用 VNC 登录,进入 linux 单用户模式。
① VNC 本地无法登陆,单用户下看 /var/log/secure 日志报错
/usr/sbin/sshd: relocation error: /usr/sbin/sshd: symbol EVP_KDF_ctrl version OPENSSL_1_1_1b
查看 /etc/ld.so.conf 未见有 /usr/local/lib64 相关写入
History 查看有自编译 openssl 情况;
检查 ls –al /lib64/libcrypto.so.1.1 和 ls -al /lib64/libssl.so.1.1 软链接指向正常,文件正常,权限正常
和正常机器对比后删除自定义写入的路径信息信息;
执行 /sbin/ldconfig 后重启还是相同报错;
②使用 ldconfig -p | grep ssl
查看当前系统搜索的动态库路径中还是有自编译 openssl 的路径。
查看 include ld.so.conf.d/*.conf 路径 在 zopenssl.conf 中有相关路径写入
清理路径后 再执行 /sbin/ldconfig 命令;
使用 ldconfig -p | grep ssl 查看无自编译的路径;
重启后恢复;
【CentOS8 后续方案】
参考文档:https://cloud.tencent.com/developer/article/1759453
直接使用 yum 升级即可
CentOS 8:
openssl-1.1.1g-12.el8_3 或更新版本
参考链接:https://access.redhat.com/errata/RHSA-2020:5476
腾讯云 MSS 服务团队为此进行了专项修复分析,用户升级 openssl 到相应安全版本即可。更新方式可以参考如下命令:
yum makecache
yum install openssl -y //升级当前 openssl 版本
rpm -qa openssl //查看 openssl 版本,是否为安全版本
支持使用 Tab 键浏览评论操作;进入回复状态后,按 Esc 可以取消回复并返回原位置。
评论