当前位置:首页 » 《关注互联网》 » 正文

OpenSSH 漏洞修复升级最新版本

19 人参与  2024年04月24日 14:40  分类 : 《关注互联网》  评论

点击全文阅读


Centos7系统ssh默认版本一般是OpenSSH7.4左右,低版本是有漏洞的而且是高危漏洞,在软件交付和安全扫描上是过不了关的,一般情况需要升级OpenSSH的最新版本

今天详细说下升级最新版本的处理过程(认真看会发现操作很简单,因为写的操作很详细...)

1、第一步通过telnet-server连接服务器

现在绝大多数服务器的操作连接基本都是走的SSH协议,也就是常用的22端口。在升级OpenSSH的过程中会卸载老版本,安装新版本,也就意味着升级过程中如果出现了问题,你可能会永远连不上你的服务器了,最后只能重装系统(在客户服务器上踩过雷...)

如何避免这个问题呢,就是采用telnet协议(23端口)来连接服务器,这样在SSH升级的过程中失败也不会有影响,重来就完事了 ~

安装telnet-server服务

#telnet服务是由xinetd管理的,需要安装xinetd服务才能启动telnet-serveryum -y install telnet-server xinetd#添加telnet配置文件echo "service telnet{    flags        = REUSE    socket_type    = stream            wait        = no    user        = root    server        = /usr/sbin/in.telnetd    log_on_failure    += USERID    disable        = no}" > /etc/xinetd.d/telnet #启动xinetdsystemctl start xinetd#开机自启xinetd  (开机自启最好加上,升级完成SSH之后。会有重启环节,为防止意外服务最好自启 后续升级完成再关闭就行)systemctl enable xinetd

服务安装完成,创建新用户用来登录telnet

#telnet本身拒绝root用户远程登录,最好用普通用户登录 然后su 到root账户#创建账号useradd test#设置密码passwd  test

用telnet方式连接登录服务器

[root@jinzhi01 ~]# telnet 192.168.0.200Trying 192.168.0.200...Connected to 192.168.0.200.Escape character is '^]'.Kernel 3.10.0-862.el7.x86_64 on an x86_64jinzhi01 login: testPassword: Last login: Sat Dec  2 22:44:45 from jinzhi01[test@jinzhi01 ~]$ su密码:[root@jinzhi01 test]# 

到这里telnet网络连接就安装完成了,安全部分已经得到保障,后续所有操作 都可以在telnet连接下进行(你会发现和SSH协议 除了登录有点区别,操作都是一样的)

2、安装openssl和zlib

升级OpenSSH需要先安装最新版的openssl和zlib


openssl地址icon-default.png?t=N7T8https://www.openssl.org/source/

zlib地址icon-default.png?t=N7T8https://www.zlib.net/OpenSSH: for OpenBSDOpenSSH for OpenBSDicon-default.png?t=N7T8https://www.openssh.com/openbsd.html下载安装包

#进入源码存放目录cd /usr/local/src/#下载openssh最新安装包wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz#下载sslwget https://www.openssl.org/source/openssl-3.2.0.tar.gz --no-check-certificate#下载zlibwget https://www.zlib.net/zlib-1.3.tar.gz

安装zlib

cd /usr/local/src/#解压文件tar zxvf zlib-1.3.tar.gzcd  zlib-1.3#安装前置依赖yum install gcc gcc-c++ make -y #编译安装zlib./configure --prefix=/usr/local/zlibmake && make install

安装openssl

cd /usr/local/src/#解压文件tar zxvf openssl-3.2.0.tar.gzcd openssl-3.2.0#安装相应的前置依赖yum install -y perl-CPAN perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker#--prefix指定编译到的目录,"shared"作用是生成动态链接库(即.so库)./config  --prefix=/usr/local/ssl  --shared#编译安装ssl,这个安装过程很长大概有10分钟左右make && make install#路径写入etc/ld.so.conf  #这里有网友遇到过问题(32位系统兼容问题),命令已修复从lib64改为lib,这样64位和32位置系统都能可以正常使用#echo '/usr/local/ssl/lib64' >> /etc/ld.so.confecho '/usr/local/ssl/lib' >> /etc/ld.so.conf

3、备份并卸载老版本OpenSSH

#备份ssh配置文件cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bakcp -p /usr/sbin/sshd /usr/sbin/sshd.bakcp -p /usr/bin/ssh /usr/bin/ssh.bakcp -p /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bakcp -p /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak#停止ssh服务systemctl stop sshd#备份ssh文件cp -r /etc/ssh /etc/ssh.old #查询原有ssh包并卸载rpm -qa | grep opensshopenssh-7.4p1-23.el7_9.x86_64openssh-clients-7.4p1-23.el7_9.x86_64openssh-server-7.4p1-23.el7_9.x86_64#根据查询结果,卸载原有OpenSSH包yum  remove openssh-7.4p1-23.el7_9.x86_64#再次查看已经没有了rpm -qa | grep openssh

4、升级OpenSSH

cd /usr/local/src/#解压tar zxvf  openssh-9.5p1.tar.gzcd openssh-9.5p1#编译安装openssh 指明zlib路径和ssl路径./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/sslmake && make install #ssh允许root登录、需要密码进行验证echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_configecho 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_configecho 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config#将编译安装的新配置文件   拷贝到原路径下cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_configcp /usr/local/openssh/sbin/sshd /usr/sbin/sshdcp /usr/local/openssh/bin/ssh /usr/bin/sshcp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygencp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub#拷贝启动脚本cp -p contrib/redhat/sshd.init /etc/init.d/sshd#给sshd添加可执行权限chmod +x /etc/init.d/sshd#设置开机自启systemctl enable sshd#重新启动sshd服务systemctl restart sshd#查看sshd服务状态systemctl status sshd#查看ssh版本是否升级成功,可以查看到已经是9.5版本了ssh -VOpenSSH_9.5p1, OpenSSL 3.2.0 23 Nov 2023

到这里升级基本完成了,可以通过reboot重启服务器 用来校验相关的自启服务 ~


点击全文阅读


本文链接:http://zhangshiyu.com/post/99575.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1