漏洞描述:
OpenSSL 是 OpenSSL团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSL 安全漏洞(CNNVD-202207-242、CVE-2022-2274)情况的报送。成功利用此漏洞的攻击者,成功利用此漏洞的攻击者,可造成目标机器内存损坏,进而在目标机器远程执行代码。OpenSSL 3.0.4版本受漏洞影响。
危害影响:
成功利用此漏洞的攻击者,可造成目标机器内存损坏,进而在目标机器远程执行代码。OpenSSL 3.0.4版本受漏洞影响。
影响版本:
OpenSSL版本号 == 3.0.4
使用OpenSSL1.1.1/1.0.2 的用户不受到该漏洞影响。
可以使用openssl version以及ssh -V 命令来查询当前openssl版本。
修复建议:
目前,OpenSSL官方已发布新版本修复了漏洞,请用户及时确认是否受到漏洞影响,尽快采取修补措施。官方链接如下:
升级步骤:
1、为避免升级过程中网络中断或升级失败,导致ssh连接不上服务器,在服务器上提前安装并启用telnet服务,ssh方式连接不上服务器时可以用telnet方式连接服务器。
Telnet服务安装启用步骤:
2、下载升级所需安装包并上传服务器
1)openssl-3.0.5
https://www.openssl.org/source/openssl-3.0.5.tar.gz
2)openssh-9.0p1.tar.gz
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
3)zlib-1.2.11.tar.gz
https://www.zlib.net/fossils/zlib-1.2.11.tar.gz
3、安装zlib
tar xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make && make install
4、安装openssl
#备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
#安装openssl
tar xvf openssl-3.0.5.tar.gz
cd openssl-3.0.5
./config --prefix=/usr/local/openssl shared zlib
#此步一定要加上shared 和zlib 参数,要不在安装openssh的时候就无法找到安装路径
make && make install
#因为上一步openssl安装的位置是 /usr/local/openssl 需要将创建软链接到系统位置
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#将openssl 的lib 库添加到系统,或者直接使用vi编辑生成该文件
echo "/usr/local/openssl/lib64" > /etc/ld.so.conf.d/openssl.conf
#使新添加的lib被系统找到
ldconfig
#查看openssl版本,如果能正常显示openssl最新的版本,证明安装成功
openssl version -a
5、安装openssh
#备份原openssh文件
mv /etc/init.d/ssh /etc/init.d/ssh.old
cp -r /etc/ssh /etc/ssh.old
#openssh
tar xvf openssh-9.0p1.tar.gz
cd openssh-9.0p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd #需要指定openssl的安装路径
make && make install
#查看并确认当前SSH的版本。
ssh -V
sshd -V
#还原ssh配置及启动程序
cd /etc/ssh
mv sshd_config sshd_config.default
cp ../ssh.old/sshd_config ./
mv /etc/init.d/ssh.old /etc/init.d/ssh
#取消注销指定服务
systemctl unmask ssh
#重启服务
systemctl restart sshd
#查看ssh端口是否正常启动监听并进行ssh登陆验证测试
netstat -lntp |grep ssh
版权归原作者 david_89 所有, 如有侵权,请联系我们删除。