本文主要是介绍centos7 之 openssl-1.1.1v+openssh-9.4p1 升级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、前言
据有关部门通报,OpenSSH ssh-agent 组件存在远程代码 执行漏洞(CVE-2023-38408)。此漏洞允许远程攻击者在 OpenSSH 上执行任意命令。
OpenSSH 是使用 SSH 透过计算机网络加密通信的实现。 它是取代由 SSH Communications Securit 所提供商用版本的 开放源代码方案,是远程管理和数据传输的重要工具,能够 为用户提供安全的远程访问和文件传输功能。目前 OpenSSH 是 OpenBSD 的子项目。
一、漏洞影响范围: 5.5 < OpenSSH ≤ 9.3p1
二、漏洞修复建议: 对于 OpenSSH,官方已发布修复该漏洞的最新版本 Ope nSSH 9.3p2;对于 OpenBSD,官方已经发布受影响版本的对 应补丁。建议受影响的用户及时更新升级,详细信息如下: https://www.openssh.com/releasenotes.html https://www.openbsd.org/errata.html
鉴于该漏洞影响范围较大,潜在危害程度较高,各单位 要及时通知相关用户,在确保安全的前提下及时修补漏洞, 消除安全隐患,提高安全防范能力。
二、环境准备
1.系统信息
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2.文件准备
openssl-1.1.1v.tar.gz
openssh-9.4p1-1.el7.x86_64.rpm
openssh-askpass-9.4p1-1.el7.x86_64.rpm
openssh-askpass-gnome-9.4p1-1.el7.x86_64.rpm
openssh-clients-9.4p1-1.el7.x86_64.rpm
openssh-debuginfo-9.4p1-1.el7.x86_64.rpm
openssh-server-9.4p1-1.el7.x86_64.rpm
3.查看原环境版本
[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
4.注意事项
4.1 其中 openssh-9.4p1 的升级依赖于 openssl-1.1.1 版本以上,故需要先升级 openssl 之后再进行 openssh 升级
4.2 升级之前请安装好相关预防措施,如安装好 telnet 和 vsftp 服务,可参考:centos6.5 升级openssl1.1.1g、openssh8.6p1小记
三、openssl 升级
3.1 备份当前版本的 openssl
[root@localhost ~]# mv /usr/bin/openssl /usr/bin/openssl_bak
[root@localhost ~]# mv /usr/include/openssl /usr/include/openssl_bak # 若有则备份,若无则忽略
[root@localhost ~]# mv /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.1.0.1e_bak # 重命名之后会发现无法使用 yum 和 rpm 命令了,若是有外网条件的,后面需要下载之前忘记下载的依赖或者软件,重命名回来使用 yum 就可以了,无外网条件就通过 ftp 上传 rpm 包进行安装(其实这几个过程更新 openssl 并不会导致无法登录 ssh 以及 ssh 进行文件传输,会导致的可能是其他误操作或者在更新 openssh 的时候)
[root@localhost ~]# mv /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10_bak
[root@localhost ~]# mv /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10_bak
3.2 卸载当前版本的 openssl
[root@localhost ~]# rpm -qa |grep openssl
openssl-1.0.2k-24.el7_9.x86_64
[root@localhost ~]# rpm -e openssl-1.0.2k-24.el7_9.x86_64 --nodeps
3.3 安装新版本的 openssl
[root@localhost opt]# tar -zxvf openssl-1.1.1v.tar.gz
[root@localhost opt]# cd openssl-1.1.1v
[root@localhost openssl-1.1.1v]# ./config --prefix=/usr/local/openssl shared
[root@localhost openssl-1.1.1v]# make
[root@localhost openssl-1.1.1v]# make test
[root@localhost openssl-1.1.1v]# make install
3.4 链接与配置
#(1)设置软链接
[root@localhost openssl-1.1.1v]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@localhost openssl-1.1.1v]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
[root@localhost openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libssl.so.1.0.0 /usr/lib64/libssl.so
ln: failed to create symbolic link ‘/usr/lib64/libssl.so’: File exists
[root@localhost openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
[root@localhost openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
#(2)将 OpenSSL 的动态链接库地址写入动态链接装入器(dynamic loader)
[root@localhost openssl-1.1.1v]# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
#(3)重新加载动态链接库
[root@localhost openssl-1.1.1v]# ldconfig -v
3.5 查看升级后 openssl 版本
[root@localhost openssl-1.1.1v]# openssl version -a
OpenSSL 1.1.1v 1 Aug 2023
built on: Thu Aug 24 02:09:41 2023 UTC
platform: linux-x86_64
options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/openssl/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
Seeding source: os-specific
四、openssh 升级
4.1 卸载旧版本的 openssh
[root@localhost ~]# rpm -e --nodeps `rpm -qa | grep openssh`
4.2 安装相关依赖
[root@localhost opt]# yum install -y libICE libSM libX11 libXt atk cairo gtk2
4.3 安装新版本 openssh
[root@localhost opt]# rpm -ivh ./openssh-*.rpm
error: Failed dependencies:libcrypto.so.1.1()(64bit) is needed by openssh-9.4p1-1.el7.x86_64libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by openssh-9.4p1-1.el7.x86_64libcrypto.so.1.1()(64bit) is needed by openssh-clients-9.4p1-1.el7.x86_64libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by openssh-clients-9.4p1-1.el7.x86_64libcrypto.so.1.1()(64bit) is needed by openssh-server-9.4p1-1.el7.x86_64libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) is needed by openssh-server-9.4p1-1.el7.x86_64
[root@localhost opt]# yum install -y perl-Crypt-SMIME.x86_64
这篇关于centos7 之 openssl-1.1.1v+openssh-9.4p1 升级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!