OpenSSH和OpenSSL升级之路(可升级openssh-8.6p1,应对CVE-2021-28041漏洞)

本文介绍了在CentOS 7.9.2009上升级OpenSSH和OpenSSL的详细过程,包括检查当前版本、升级前的备份与准备(如安装telnet-server和xinetd)、清理旧文件、下载并编译OpenSSL和OpenSSH,以及解决升级过程中遇到的坑,如防火墙配置、SELinux问题等。
摘要由CSDN通过智能技术生成


前言

升级到Centos 7.9.2009后,又要升级OpenSSH和OpenSSL,进了太多坑后,终于摸索出了一点心得。顺便说下我跳过的坑
1.先升级了OpenSSH再升级了OpenSSL后,ssh -V出来的还是旧版本,导致漏扫不过
2.有些文章给的地方缺字或缺失步骤导致失败,如防火墙启动的系统是要开telnet的23端口的,而且把firewal写成firwall了
3.做了软连接后一直报 /lib64/libssl.so.10: version `libssl.so.10’ not found 错误


2021年5月19日补充:因应对 CVE 2021 28041 的漏洞(CVE-2021-28041 / CNNVD-202103-527的OpenSSH before 安全漏洞),紧急对OpenSSH和OpenSSL进行升级,使用以下命令可升级至OpenSSH 8.6p1, OpenSSL 1.1.1k ,且可以正常登入使用 因本人没有系统学习过红帽系统,对如此升级的后遗症无法确定,请升级前一定做好备份或快照,以防意外发生。

一、检查版本

[root@localhost ~]# cat /etc/redhat-release    #查看系统版本
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# ssh -V  #其中V是大写的
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

两个最新的是OpenSSH8.4, OpenSSL 1.1.1(3.0.0的版本没研究)

二、升级前准备

1.备份文件

[root@localhost ~]# cp -r /etc/pam.d /etc/pam.d.bak
[root@localhost ~]# cp -af  /usr/bin/openssl  /usr/bin/openssl.old
[root@localhost ~]# cp -af  /etc/pki/ca-trust/extracted/openssl  /etc/pki/ca-trust/extracted/openssl.old
[root@localhost ~]# cp -af  /usr/lib64/openssl /usr/lib64/openssl.old
[root@localhost ~]# cp -af  /usr/lib64/libcrypto.so.10  /usr/lib64/libcrypto.so.10.old
[root@localhost ~]# cp -af  /usr/lib64/libssl.so.10  /usr/lib64/libssl.so.10.old 
[root@localhost ~]# cp -arf /etc/ssh/ /etc/ssh_old

2.安装和配置telnet-server以及xinetd(万一失败了telnet也能连接)

使用yum命令报错或提示没有连接上的,先ping下外网通不,这是在线更新的,还有DNS没配置也可能报错,其他问题请自行查找文档

[root@localhost ~]#yum install xinetd telnet-server -y

根据其他文档写的老版本升级上来的需要修改配置文件让root登入,反正我是新装telnet没看到这个

[root@localhost ~]# ll /etc/xinetd.d/telnet
ls: cannot access /etc/xinetd.d/telnet: No such file or directory

如果该文档存在就按如下操作,更改配置使root可以telnet登录,把disable = no改成disable = yes
#修改文件的命令是vi,但有些系统可以用vim来,两个区别是vim功能更强大
#vim xxxxx 打开某个文件,打开后需要编辑的话按i键进入编辑模式,编辑完毕后按ESC键退出编辑模式,直接输入:wq是保持并退出,:q!是不保存并强制退出

[root@localhost ~]# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#   unencrypted username/password pairs for authentication.
service telnet
{
   
    disable = no
    flags       = REUSE
    socket_type = stream       
    wait        = no
    user        = root
    server      = /usr/sbin/in
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值