openssh 低版本漏扫后漏洞问题修复方法说明:

问题说明:
        centos系统,openssh版本过低,有一些中高的漏洞需要通过升级openssh版本才能够进行解决,所以编写该方法进行说明:
该方法主要是适用于离线安装的场景,相关的安装包已经打包好,下面操作不在考虑安装包获取方法的说明
漏洞说明:
       CNCVE-201715906 OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞,解决方法:升级到OpenSSH 8.5p1。
       CNCVE-201815919 OpenSSH 7.8及之前版本,auth-gss2.c文件存在安全漏洞,解决方法 升级到OpenSSH 8.5p1。
CNCVE-201715906 OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞,解决方法升级到OpenSSH 8.5p1。
相关安装包和依赖包的获取链接:
    https://wws.lanzoui.com/b0260uoyh
    密码:aq66
备用路径:

链接:https://pan.baidu.com/s/1x9UZC5fhfooxopTeYfWHPQ

密码:3zwn  
一、操作方法:
1) 安装telnet-server,避免openssh升级过程中,有异常,无法进行正常使用:

rpm -ivh telnet-server-0.17-66.el7.x86_64.rpm
useradd test
echo test | passwd --stdin test
systemctl start telnet.socket
systemctl stop firewalld

说明:
telnet不能够允许使用root用户登录,所以需要添加用户,方便后续登录使用,后续如果升级完毕后,可以进行删除
firewalld可以临时进行关闭,就不用在通过firewall-cmd 来临时添加方向策略了,可以升级完毕后,在开启。

2) 安装gcc程序,方便后续编译安装依赖包,已经将gcc的rpm包和所有的依赖包都放在gcc的目录中,所以cd进入到gcc的目录下,执行如下命令:

rpm -ivh *.rpm
安装zlib程序依赖,进入到相关目录下执行:
 tar -xf zlib-1.2.11.tar.gz
 cd zlib-1.2.11
 ./configure --prefix=/usr/local/zlib
 make && make install
安装perl-5依赖程序:
tar -xf perl-5.16.1.tar.gz
cd perl-5.16.1
./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
make && make install
安装openssl 1.1.1k依赖程序:
tar -xf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v

升级openssh为8.5p1版本
tar -xf openssh-8.5p1.tar.gz
cd openssh-8.5p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make &&make install

修改相关的ssh配置文件,进行配置文件和执行文件的替换的替换:
echo 'PermitRootLogin yes' >> /usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >> /usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >> /usr/local/openssh/etc/sshd_config

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
cp /usr/local/openssh/etc/ssh_host_dsa_key.pub /etc/ssh/
cp /usr/local/openssh/etc/ssh_host_dsa_key /etc/ssh/
8)大功告成,重启sshd服务,查看是否替换成功

systemctl restart sshd
ssh -V

9)sshd无法restart或者start失败的方法的解决方法:

mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
systemctl daemon-reload
cp openssh-8.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
systemctl start sshd
systemctl status sshd
systemctl daemon-reload
10)设置sshd开机启动:

chkconfig --add sshd  
chkconfig --list sshd
11) 试试是不是可以正常访问:

12) 卸载telnet-server,删除添加的用户名和密码,启动firewalld

rpm -qa |grep telnet
rpm -e telnet-server-0.17-66.el7.x86_64
rpm -qa |grep telnet

userdel test

systemctl start firewalld
13) 卸载gcc和之前安装的依赖包

rpm -evh cpp-4.8.5-44.el7.x86_64
rpm -evh gcc-4.8.5-44.el7.x86_64
rpm -evh glibc-devel-2.17-323.el7_9.x86_64
rpm -evh glibc-headers-2.17-323.el7_9.x86_64
rpm -evh kernel-headers-3.10.0-1160.21.1.el7.x86_64
rpm -evh libmpc-1.0.1-3.el7.x86_64
rpm -evh mpfr-3.1.1-4.el7.x86_64

13)升级参考链接:
https://blog.csdn.net/Angel_asp/article/details/109508477
https://blog.csdn.net/qq_34965596/article/details/115287891
https://blog.csdn.net/Angel_asp/article/details/109508477

14)scp 漏洞的威力真的好大(相关链接):
https://www.cnblogs.com/hcrk/p/13495626.html (漏洞复现参考)
https://mp.weixin.qq.com/s?__biz=MzI4NjE2NjgxMQ==&mid=2650243015&idx=1&sn=a4b2ed65471dc122a60145b8c13071d8&scene=21#wechat_redirect(漏洞说明详解)

漏洞说明:

CNCVE-202015778 OpenSSH 8.5p1及之前版本中的scp的scp.c文件存在命令注入漏洞。厂商未给出解决方法,建议是禁用scp,改用rsync
该漏洞,需要知道要登陆主机的用户名和密码(都知道用户名,密码啦,为啥还要利用这个漏洞呢,查询资料说,是因为没有登录权限,不知道怎么构造没有登录权限还能够scp传输东西的这种场景进行测试)
修复方法:卸载openssh-clients
rpm -qa |grep openssh-clients
yum remove openssh-clients-7.4p1-21.el7.x86_64
测试 scp 是否被禁止
scp
-bash: /usr/bin/scp: 没有那个文件或目录

版权声明:本文为CSDN博主「井天要开心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43847124/article/details/115420585

openssh 低版本升级到OpenSSH 8.5p1版本的方法相关推荐

  1. linux用iso版本升级,从Ubuntu 18.10版本升级到Ubuntu 19.04版本的方法

    本文介绍从Ubuntu 18.10版本升级到Ubuntu 19.04版本的方法,如果你没有安装Ubuntu系统,也可以下载Ubuntu 19.04 ISO进行全新安装,请看Ubuntu 19.04 B ...

  2. 低版本openssh升级到OpenSSH 8.5p1版本的方法

    openssh 低版本漏扫后漏洞问题修复方法说明: 问题说明: centos系统,openssh版本过低,有一些中高的漏洞需要通过升级openssh版本才能够进行解决,所以编写该方法进行说明: 该方法 ...

  3. macOS系统低版本升级问题处理纪录

    苹果电脑低版本升级踩坑纪录 存在问题 解决方法 存在问题 存在问题1⃣️: App Store无法搜索到可用户升级的系统软件 存在问题2⃣️: 安装时提示应用程序副本已损坏无法安装 解决方法 对于问题 ...

  4. 【npm】node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题)

    [npm]node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题) 问题 原因 解决 这次运行同学给我们的另一个vue项目 ...

  5. 低CUDA算力显卡用上高版本pytorch(ubuntu18.04源码编译特定版本pytorch(v1.10.0))

    低CUDA算力显卡用上高版本pytorch(ubuntu18.04源码编译特定版本pytorch(v1.10.0)) 一 电脑配置 二 正常情况下源码编译步骤 三 我的编译过程及出现的问题 首先 安装 ...

  6. linux firefox 版本升级,在openSUSE Linux下升级firefox至4.0版本的方法

    一.尝试使用Yast的自动升级功能,必须的.上古神器,谁与争锋:运行 Yast Control Center -> software -> Software Management,点击Up ...

  7. linux查看当前ssh版本,Linux查看ssh版本的方法

    ssh是系统的安全外壳协议,已发展了好几个版本,那么你知道你使用的ssh是哪个版本吗?下面小编就教你查看Linux系统中ssh版本的方法,感兴趣的朋友不妨来了解下. 安全Shell(SSH)通过加密的 ...

  8. python更新到什么版本_Linux更新Python版本及修改python默认版本的方法

    linux下更新Python版本并修改默认版本,有需要的朋友可以参考下. 很多情况下拿到的服务器python版本很低,需要自己动手更改默认python版本 1.从官网下载python安装包(这个版本可 ...

  9. sdk数值与android版本,Android SdkVersion的区别及获取版本信息方法

    1.minSdkVersion,targetSdkVersion,maxSdkVersion,compileSdkVersion四个数值之间有什么区别? • minSdkVersion,maxSdkV ...

最新文章

  1. LeetCode实战:Nim 游戏
  2. 理解Bias(偏差),Error(误差),和Variance(方差)的区别和联系?
  3. vc6.0添加注释快捷键
  4. 深入了解帆软报表系统的启动过程三
  5. JS实现点击复制目标内容
  6. 矩阵的逆、伪逆、左右逆
  7. 纯CSS在线气泡提示生成工具 - CSS ARROW PLEASE!
  8. 尚学堂第二章作业题答案
  9. 适用于window平台的java虚拟机_雪豹系统安装说明
  10. android 设置壁纸上下显示不全,默认锁屏壁纸及锁屏壁纸被拉伸显示不全的问题...
  11. 【SSLGZ 2811】2017年10月30日提高组T2 摘Galo
  12. Android中的消息推送
  13. ISCSI服务器搭建与配置
  14. ros:init()
  15. sql中intersect_INTERSECT –谓词中被低估的双向
  16. HTML5 CSS控制Table内外边框、颜色、大小示例
  17. LINUX提权入门手册
  18. Access violation问题
  19. 2018年全球人工智能十大融资事件:最高单轮超150亿
  20. ASEMI整流桥KBPC3510W参数特性,KBPC3510W封装尺寸

热门文章

  1. 关于免费获得WPS会员自动邀请助力的JAVA项目分享
  2. 【机器学习笔记4】逻辑回归模型
  3. This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake
  4. 实现前台表格中相同数据单元格的合并
  5. 关于饭店手续一次性消毒餐具问题的看法
  6. OCR光学字符识别方法汇总
  7. su - username显示could not open session
  8. 知道股票期权制吗?看看历史上的它是怎么一步步成长起来的
  9. finally语句块
  10. 最小二乘公式推导(步骤详细,一看就会)_Polaris_T的博客-CSDN博客_最小二乘法公式