openEuler openSSL 3.0.12 升级 3.5.7
背景
OpenSSL 版本 3.5.x 最低兼容的 OpenSSH 10.0p1,所以除了升级openSSL、还需升级openSSH(这里装的 10.3p1),安装前先下载2个安装包,传至服务器,然后再执行安装步骤;
dnf 下载依赖(忽略)
dnf download --resolve --destdir ~/downloads cmake
参考 OpenEuler24升级openssh到9.9版本:https://blog.csdn.net/qq_26408545/article/details/147935556?spm=1001.2014.3001.5502
一 安装 openSSL
1、安装编译依赖
这里升级至 3.5.7[LTS]
openssl version
# 安装c++编译库
dnf install -y gcc gcc-c++ make perl
# 验证 gcc 是否可用
gcc -v
2 、安装 openssl
访问:https://openssl-library.org/source/ 下载,并上传至:/usr/local下
执行解压
cd /usr/local
tar -xzvf openssl-3.5.7.tar.gz
cd openssl-3.5.7
执行编译并安装(大概需要5分钟)
# 指定安装到 /usr下,shared :启用全局共享(必须),enable-legacy:启用不安全算法(必须)
# enable-mdc2:启用的算法(必须,缺失会造成dnf命令不可用), no-fuzzx相关参数:是跳过相关测试
./config --prefix=/usr shared enable-legacy enable-ssl3 enable-ssl3-method enable-mdc2 enable-md2 no-fuzz-afl no-fuzz-libfuzzer
# 安装
make && make install
# 查看版本
openssl version
# 检查dnf 可用
dnf
注意:若未配置enable-mdc2参数,dnf 命令会报错误
3、依赖 libssl/libcrypto 的进程 / 服务必须重启
本次为小版本不兼容升级不要重启ssh;执行会失败,切记此时不要重启电脑;
3.1 扩展(可忽略)
所有正在运行、依赖 libssl/libcrypto 的进程 / 服务必须重启,否则进程还在内存里用旧的漏洞库,漏洞等于没修
快速判断哪些进程还在用旧库(openEuler 直接执行)
运行下面查看
# 查到带 (deleted) 的 libssl/libcrypto 就是仍在跑旧漏洞库
dnf install -y lsof
lsof | grep -E 'libssl|libcrypto' | grep deleted
# 必重启:sshd(SSH 服务);不重启 sshd 扫描依然报 OpenSSL 漏洞
systemctl restart sshd
systemctl restart nginx
systemctl restart httpd
systemctl restart mysqld mariadb postgresql
#中间件 / Java / 应用
# Tomcat、SpringBoot、Redis、FTP、VPN、消息队列、自研加密程序,全部要重启。
systemctl restart redis
systemctl restart spirngboot应用服务名
二 安装 openSSH
访问:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/ ,点击下载:openssh-10.3p1.tar.gz 并上传至:/usr/local下
1、安装依赖
dnf install gcc zlib-devel pam-devel libselinux-devel
2、安装openSSH
解压
cd /usr/local
tar -xzvf openssh-10.3p1.tar.gz
cd openssh-10.3p1
安装
# 编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ipaddr-display --with-4in6 --with-selinux
# 安装
make -j 4 && make install
注意:安装可能会失败:如下图
则修改配置文件
# 编辑配置文件
vi /etc/ssh/sshd_config
注释掉 3行:如下
# GSSAPIAuthentication yes
# GSSAPICleanupCredentials no
# GSSAPIKexAlgorithms gss-group14-sha256-,gss-group16-sha512-,gss-curve25519-sha256-
# 然后:esc + :wq 保存修改,并再次执行安装命令
make -j 4 && make install
3、 验证并重启ssh
# 检查版本
sshd -V
# 重新授予私钥只读权限
chmod 600 /etc/ssh/*_key
# 重启 服务
systemctl restart sshd
# 查看服务状态
systemctl status sshd

三 测试重启电脑
因为ssl 软件为基础软件,建议重启电脑
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)