OpenSSH升级至最新版本9.8

1、漏洞解决方案

漏洞详情
OpenSSH 是 Secure Shell(SSH)协议的免费实现,主要用于安全地远程登录和执行命令,提供了加密的通信通道,以防止敏感信息在网络上被窃听或篡改。
据官方描述,在 OpenSSH 服务器中的信号处理程序中存在条件竞争漏洞,未经身份验证的远程攻击者可利用该漏洞在基于 glibc 的 Linux 系统上以 root 身份执行任意代码。
2024 年 7 月 1 日, OpenSSH 官方发布安全通告,披露 CVE-2024-6387 OpenSSH Server 远程代码执行漏洞。
影响范围
OpenSSH < 4.4p1(未更新历史漏洞 CVE-2006-5051、CVE2008-4109 的补丁)8.5p1 <= OpenSSH < 9.8p1
安全建议
官方已发布修复方案,受影响的用户建议更新至安全版 本。下载链接:https://www.openssh.com/releasenotes.html

2、openssh漏洞:

修复方式:

本次采用升级到openssh最新版本,修复问题。

2.1 安装vnc软件

        为了防止升级过程中出现故障,先启用vnc确保有第二种方式能够登录服务器
        安装vnc软件:
        yum install vnc*

        安装完成后,启动vpn
        vncserver【运行该命令,第一次会让你输入密码,弱密码忘记,可以用vncpasswd修改密码】

        

        通过vnvviewer客户端,验证服务能够登录

        

2.2.安装openssh

        2.2.1确认当前的ssh版本

        [root@]# ssh -V
        OpenSSH_8.8p1, OpenSSL 1.0.2k-fips 26 Jan 2017

        2.2.2 安装编译所需的工具包(已有可忽略)

        yum -y install gcc pam-devel rpm-build zlib-devel

        2.2.3安装openssl (要求>= 1.1.1 )
        下载openssl: openssl-1.1.1w.tar.gz
        https://www.openssl.org/source/old/1.1.1/index.html

        ①备份当前openssl
        [root@]# find / -name openssl
        /usr/bin/openssl
        /usr/lib64/openssl
        #cp -r /usr/lib64/openssl /usr/lib64/openssl.old102
        #cp /usr/bin/openssl /usr/bin/openssl.old102

        ②卸载当前openssl
        yum remove openssl

        ③安装openssl
        tar -xzvf openssl-1.1.1w.tar.gz
        cd openssl-1.1.1w/
        ./config --prefix=/usr
        make
        make test #执行这一步结果为pass继续
        make install


        查看升级后的openssl版本
        [root@]# openssl version
        OpenSSL 1.1.1w 11 Sep 2023

        2.2.4 安装openssh 9.8p1
        下载最新的openssh版本,并上传到服务器。


        ①备份原ssh系统相关配置文件

        cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak88p
        cp /etc/pam.d/sshd /etc/pam.d/sshd.bak88p
        cp /usr/bin/ssh /usr/bin/sshbak
        cp /usr/sbin/sshd /usr/sbin/sshdbak

        ②卸载原来的openssh
        rpm -e --nodeps `rpm -qa | grep openssh`
        rpm -qa | grep openssh
        ③安装新openssh
        tar -zxvf openssh-9.8p1.tar.gz
        cd openssh-9.8p1


        ./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-pam --with-ssl-dir=/usr/local/ssl

        make && make install

        

        调整文件权限:
        chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
        再次执行make install

        [root@ ~/openssh-9.8p1]# ssh -V
        OpenSSH_9.8p1, OpenSSL 1.1.1w 11 Sep 2023
        至此 openssh升级完成
        ④安装新修改ssh的配置文件,并重启
        拷贝新生成的sshd
        cp -a /root/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd(根据文件实际存储路径选择)
        chmod u+x /etc/init.d/sshd
        回拷备份配置文件
        cp /etc/ssh/sshd_config.bak88p /etc/ssh/sshd_config
        cp /etc/pam.d/sshd.bak88p /etc/pam.d/sshd

        vi /etc/ssh/sshd_config添加如下内容:
        Ciphers aes256-ctr,aes192-ctr,aes128-ctr
        MACs hmac-sha1
        KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256 

        PermitRootLogin yes
        PasswordAuthentication yes
        UsePAM yes

        添加ssh到开机启动项,重启sshd服务
        chkconfig --add sshd
        chkconfig sshd on
        systemctl restart sshd
        [root@]# ssh -V
        taOpenSSH_9.8p1, OpenSSL 1.1.1w 11 Sep 2023

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值