Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

这篇具有很好参考价值的文章主要介绍了Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

##@TOC

1. 情况说明:

近期甲方系统漏洞扫描,发现服务器存在一些漏洞如下:OpenSSH安全漏洞(CVE-2021-41617),OpenSSH命令注入漏洞(CVE-2020-15778),OpenSSH安全漏洞(CVE-2017-15906),OpenSSH安全漏洞(CVE-2019-6111),OpenSSH欺骗安全漏洞(CVE-2019-6110),OpenSSH欺骗安全漏洞(CVE-2019-6109),OpenSSH访问限制绕过漏洞(CVE-2018-20685),OpenSSH用户枚举漏洞(CVE-2018-15919),OpenSSH信息泄露漏洞(CVE-2020-14145),OpenSSH安全漏洞(CVE-2016-20012)。

相关漏洞还提供了参考解决方案:

漏洞 参考措施
OpenSSH安全漏洞(CVE-2021-41617) 厂商补丁:建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法; http://www.openssh.com/security.html
OpenSSH命令注入漏洞(CVE-2020-15778) 厂商补丁:目前暂未发布修复措施解决此安全问题,建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法;http://www.openssh.com/ 临时缓解措施:可以禁用scp,改用rsync等缓解风险(可能会导致小文件机器内拷贝变慢)
OpenSSH安全漏洞(CVE-2017-15906) 厂商补丁:目前厂商已发布升级补丁以修复漏洞,补丁获取链接:https://www.openssh.com/txt/release-7.6
OpenSSH安全漏洞(CVE-2019-6111) 厂商补丁:目前厂商已发布升级补丁以修复漏洞,详情请关注厂商主页:https://www.openssh.com/
OpenSSH欺骗安全漏洞(CVE-2019-6110) 厂商补丁:OpenSSH 目前厂商已发布了升级补丁以修复这个安全问题,请到厂商的主页下载:https://www.openssh.com/ 参考:https://vigilance.fr/vulnerability/OpenSSH-scp-PuTTY-PSCP-spoofing-via-Scp-Client-ANSI-Codes-stderr-File-Hidding-28262
OpenSSH欺骗安全漏洞(CVE-2019-6109) 厂商补丁:OpenSSH 目前厂商已发布了升级补丁以修复这个安全问题,请到厂商的主页下载:https://www.openssh.com/ 参考:https://vigilance.fr/vulnerability/OpenSSH-scp-PuTTY-PSCP-spoofing-via-Scp-Client-ANSI-Codes-stderr-File-Hidding-28261
OpenSSH访问限制绕过漏洞(CVE-2018-20685) 厂商补丁:OpenSSH 目前厂商已发布了升级补丁以修复这个安全问题,请到厂商的主页下载: https://www.openssh.com/ https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2 https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/scp.c.diff?r1=1.197&r2=1.198&f=h
OpenSSH用户枚举漏洞(CVE-2018-15919) 修复版本:openssh > 7.8版本 厂商升级:OpenSSH 请用户关注OpenBSD官方发布的补丁修复漏洞: https://www.openssh.com/ https://www.openssh.com/portable.html
OpenSSH信息泄露漏洞(CVE-2020-14145) 厂商补丁:OpenBSD 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本。 http://www.openbsd.org/security.html
OpenSSH安全漏洞(CVE-2016-20012) 厂商补丁:目前厂商暂未发布修复补丁,请及时关注厂商最新公告。

2. 查看相关软件版本、漏洞说明

查看服务器系统版本。

$ cat /proc/version
>> Linux version 4.4.0-19041-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #488-Microsoft Mon Sep 01 13:43:00 PST 2020

备注:本机测试采用的是Win10商店的Ubuntu。甲方服务器系统版本是 Linux 3.10.0 RedHat 4.8.5 。亲测,两种系统均可以按照如下流程,成功升级OpenSSH_8.8p1

查看OpenSSH版本。

$ ssh -V
>> OpenSSH_7.4p1, OpenSSL 1.0.2k-fips   21 Jun 2017

查看漏洞详情

在这个链接结尾加上漏洞编号,可以查看官方漏洞说明和解决方案。https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE--*
查了不少链接和博客,发现好多漏洞只影响低版本的OpenSSH,在高版本的OpenSSH上已经修复了,所以后续内容暂且关注如何离线升级 OpenSSH 至 OpenSSH 8.8p1

---- CVE-2021-41617
安全版本:OpenSSH >= 8.8
修复建议:升级到OpenSSH最新安全版本
---- CVE-2020-15778
影响:无 - 不再被视为漏洞。 解决方法:目前没有。
禁用scp,使用 rsync 缓解风险
或者 升级到OpenSSH 8.3p1之后的版本
---- CVE-2019-6111
对于稳定发行版(stretch),这些问题已在版本 1: 7.4p1-10+deb9u5 中修复。
我们建议您升级您的 openssh 软件包。
---- CVE-2019-6110
---- CVE-2019-6109
对于稳定发行版(stretch),这些问题已在版本 1: 7.4p1-10+deb9u5 中修复。
我们建议您升级您的 openssh 软件包。
…………

3. 下载相关软件包

升级OpenSSH的过程需要依赖ZLIBPerlOpenSSL,升级OpenSSL可能会报错,可能还需要依赖PAM。所以先要离线下载这些依赖对应的包:zlib-1.2.12.tar.gzperl-5.16.1.tar.gzLinux-PAM-1.3.1.tar.xzopenssl-1.1.1p.tar.gzopenssh-8.8p1.tar.gz。(安装顺序)
源码包下载地址:

zlib-1.2.12.tar.gz:

zlib:http://www.zlib.net/
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

perl-5.16.1.tar.gz:

perl: http://www.cpan.org/src/5.0/
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

Linux-PAM-1.3.1.tar.xz:

PAM: https://www.linuxfromscratch.org/blfs/view/9.0/postlfs/linux-pam.html
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

openssl-1.1.1p.tar.gz:

OpenSSL: https://www.openssl.org/source/
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

openssh-8.8p1.tar.gz:

OpenSSH: http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8

**注意:**

建议按照如下顺序安装,否则 可能因缺少依赖报错
建议将上述安装包放到 /home/apps 路径下,并且以 root 用户进行升级操作。

4. 安装/升级 zlib

$ tar -xzvf zlib-1.2.12.tar.gz
$ cd zlib-1.2.12
$ ./configure --prefix=/usr/local/zlib
$ make && make install

5. 安装/升级 Perl

$ tar -xzf perl-5.16.1.tar.gz
$ cd perl-5.16.1
$ ./Configure -de
$ make && make install
# 如下命令查看是否安装成功,查看perl版本
$ perl -v

6. 安装pam-devel

$ sudo tar -xf Linux-PAM-1.3.1.tar.xz
$ cd Linux-PAM-1.3.1
$ ./configure 
$ make && make install

7. 安装/升级 openssl

$ openssl version -a
$ tar -zxvf openssl-1.1.1p.tar.gz
$ cd openssl-1.1.1p
$ ./config --prefix=/usr/local/ssl -d shared
## make
## make test
## make install
$ make && make install
$ echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
$ ldconfig -v

8. 安装/升级 openssh

$ tar -zxvf openssh-8.8p1.tar.gz
$ cd openssh-8.8p1
$ sudo ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
## ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
$ sudo make clean && sudo make && sudo make install

# sshd_config 文件 修改
$ echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
$ echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
$ echo 'PasswordAuthentication 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

# 【这几句我在自己测试的时候并不需要执行】
# OpenSSH安装后环境配置:在openssh编译目录, 执行如下命令: 
# install -v -m755 contrib/ssh-copy-id /usr/bin
# install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
# install -v -m755 -d /usr/share/doc/openssh-****
# install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-****

# 验证是否升级成功
$ ssh -V  
>> OpenSSH_8.8p1, OpenSSL 1.1.1p  21 Jun 2022

# 重启sshd服务  
$ systemctl restart sshd.service
# 或者
$ systemctl restart sshd

验证是否升级成功
Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8
注意重启sshd服务的命令运行之后,需要重新远程连接服务器。

9. 可能的报错 及 解决办法

1. configure: error: *** zlib.h missing - please install first or check config.log ***

原因是缺少 zlib ,或者 zlib安装未成功
解决方案: 重新按照 步骤 4. 安装/升级 zlib

$ tar zxf zlib***.tar.gz
$ cd zlib-***/
$ ./configure
$ make test
$ make install
$ make clean
$ ./configure --shared
$ make test
$ make install
$ cp zutil.h /usr/local/include/
$ cp zutil.c /usr/local/include/

2. 若报错bin/openssl: relocation error: bin/openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

解决方案:

  1. 在/etc/ld.so.conf.d/libc.conf 文件中添加一行 /usr/lib
  2. 运行 ldconfig 命令
$ echo '/usr/lib ' >> /etc/ld.so.conf.d/libc.conf
$ ldconfig

3. 若报错 configure: error: PAM headers not found

原因是缺少PAM,或者 pam安装失败
解决方案:

  1. 联网安装 yum -y install pam-devel
  2. 离线安装 pam-devel , 参考 步骤6. 安装pam-devel
$ echo '/usr/lib ' >> /etc/ld.so.conf.d/libc.conf
$ ldconfig

4. make && make install出现recipe for target ‘install-binPROGRAMS’ failed

原因:权限不足
解决方法:

  1. cd … 到上层目录,或更上层,例如/usr/目录
  2. 给存放代码/包的目录加权限,以/usr/apps/目录为例:
$ cd /usr/
$ sudo chmod -R 777 /usr/apps/

5. 运行make命令的时候报错:Makefile:638: recipe for target ‘xxxxxxx’ failed make: *** [xxxxxx] Error 1

原因:./configure之后,由于运行make时候的权限或者其他原因,导致了make或make install 失败,需要重新操作。
解决方案:文章来源地址https://www.toymoban.com/news/detail-444200.html

  1. 执行 make clean 清除上一次生成的可执行文件,再次执行 make 等命令,大概率可以解决
$ make clean
$ sudo make && sudo make install 

参考链接

  • CVE-2019-6111 常见漏洞和暴露
  • CVE-CVE-2020-15778
  • OpenSSH scp、PuTTY PSCP 的漏洞:通过 Scp Client ANSI Codes File Hidding 进行欺骗
  • CVS log for src/usr.bin/ssh/progressmeter.c
  • Redhat 6 OpenSSH 升级步骤


到了这里,关于Linux Redhat 服务器 OpenSSH 漏洞修复 or 升级 OpenSSH 8.8的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 蓝易云:Linux系统sshd命令 – openssh服务器守护进程

    sshd是Linux系统中的一个守护进程,它提供了远程登录服务和安全的文件传输功能。以下是sshd的详细教程。 1. 安装openssh-server 在Debian/Ubuntu上安装openssh-server命令如下: sudo apt-get update sudo apt-get install openssh-server 在CentOS/RHEL上安装openssh-server命令如下: sudo yum update sudo yum install

    2024年02月16日
    浏览(10)
  • 服务器——SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复办法

    服务器——SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复办法

    前言 :近期某台Windows Server服务器的远程连接端口(3389)被扫出了 SSL/TLS协议信息泄露漏洞(CVE-2016-2183) ,尝试了网上很多复制来复制去的 \\\"解决方法\\\" ,直接导致堡垒机连不上服务器,每次连不上服务器又得去找服务器提供方,真的非常麻烦,在此不得不吐槽一下某些不负责任的复制粘

    2024年02月03日
    浏览(6)
  • Centos7服务器同步网络发现漏洞与修复手册(每周更新3次)

    期望通过每一次分享,让技术的门槛变低,落地更容易。 —— around 作者公司有8台云服务器,本地有2台物理服务器,并且都联网了。云服务器的安全防护到期了,公司也不太想续费了,遂自己从代码上添加了一系列软件防护,但漏洞是一直再出,谁也无法保障是永远安全,

    2024年02月04日
    浏览(21)
  • linux的低版本中openssh三大漏洞的分析及修复方法

    linux的低版本中openssh三大漏洞的分析及修复方法

    linux较低版本中openssh的漏洞有很多. 一:漏洞分析 最近进行linux系统安全加固分析,进行漏洞扫描扫描分析,不扫不知道,一扫吓一跳,linux系统服务器的 OPENSSH存在3大安全漏洞,祥如下: 1:OpenSSH GSSAPI 处理远端代码执行漏洞 漏洞分类 守护进程类 危险级别 高 影响平台Ope

    2024年02月04日
    浏览(5)
  • Linux Centos7内网服务器离线升级openssh9.3

    Linux Centos7内网服务器离线升级openssh9.3

    内网服务器需要升级openssh,被折磨了一整天,觉得有必要记录一下,不然对不起这差点崩溃的一天,主要的几个难点就是不能yum一键安装,需要自己找到对应的依赖版本然后通过堡垒机上传到内网,还有就是服务器很干净,什么都没有,需要离线安装的包太多,又不知道依赖

    2024年02月16日
    浏览(9)
  • RedHat 服务器安装NGINX

    参照官方文档:nginx: Linux packages 按顺序操作: 安装前提:  设置yum仓库(执行命令的时候会自动新建文件): 粘贴下面的内容保存退出:  安装nginx:  查看版本: 编辑nginx配置: 启动nginx命令:

    2024年02月07日
    浏览(6)
  • redhat 7中配置与管理WEB服务器

    redhat 7中配置与管理WEB服务器

    某公司新购一台服务器,服务器上已安装Linux操作系统,现要求将服务器配置成Apache服务器,IP地址为:192.168.1.100,给公司员工提供基本Web服务。具体要求如下: a.设置主目录的路径为/home/www/web. b.添加index.html文件作为默认文档。 1、配置网络环境,设置服务器模式为NAT模式,

    2024年02月09日
    浏览(5)
  • 【OpenSSH】Windows系统使用OpenSSH搭建SFTP服务器

    【OpenSSH】Windows系统使用OpenSSH搭建SFTP服务器

    Windows Server 2019 OpenSSH-Win64(下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases) windows设置-账户-其他用户 本地用户和组 - 用户,新建用户,如SFTP,设置用户名和密码 这一步非常重要,否则用户登录上来就可以对计算机所有磁盘和目录进行操作。因此,必须要限制用户访问

    2024年04月14日
    浏览(9)
  • 麒麟/Linux/centOS服务器等保测评漏洞整改方法

    麒麟/Linux/centOS服务器等保测评漏洞整改方法

    要求项 a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换; 结果记录 1、登录用户需要输入用户名和口令进行身份鉴别; 2、所有用户的用户名和UID均唯一; 3、查看etc/login.defs有如下配置:PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PA

    2024年02月21日
    浏览(8)
  • CentOS安装Whisper | RedHat安装Whisper | 服务器上安装Whisper

    CentOS 7.9 系统默认安装的Python版本有两个,如果输入python -V我们看到的是python2的版本信息,如果我们输入python3 -V我们看到的是python3的版本信息。 由于whisper要求使用的是python版本是在3.8到3.11之间的版本。 CentOS 7.9自带的python版本是不符合的,我们需要卸载它或者升级它。 如

    2024年02月09日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包