openssh kex.c拒绝服务漏洞漏洞(CVE-2016-8858)处理

本文详细介绍了OpenSSH Kex.c存在的拒绝服务漏洞(CVE-2016-8858),影响OpenSSH 6.8至7.3版本。攻击者可通过发送大量重复KEXINIT请求消耗服务器内存,导致DoS攻击。修复方案包括升级到OpenSSH 9.3p1,并提供了升级过程及处理SSH连接问题的建议,如重新生成host key、调整算法等。
摘要由CSDN通过智能技术生成

一、漏洞描述

在这里插入图片描述

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 6.x版本和7.x至7.3版本中的kex.c文件的kex_input_kexinit()函数存在内存耗尽问题,造成拒绝服务漏洞。远程攻击者/未经认证的客户端可通过发送许多重复的KEXINIT请求利用该漏洞,使服务器上每个连接的内存分配增加至384MB,使服务器的内存耗尽,造成拒绝服务攻击。注意:第三方报告称不将OpenSSH upstream视为安全漏洞。

在这里插入图片描述

影响产品:OpenSSH 6.8-7.3

危险级别:高危险

CVE编号:CVE-2016-8858
CNCVE编号:CNCVE-20168858
国家漏洞库编号:CNNVD-201610-679
CNVD编号:CNVD-2016-09674

更多参看:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8858

二、修复处理

官方建议用户对源代码进行升级和编译。代码修复链接如下:http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/kex.c#rev1.127

补丁下载:http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/kex.c

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本案例处理措施:替换后openssh 7.9p1后重新编译,如下所示:

yum -y install wget make automake gcc* perl pam pam-devel zlib zlib-devel tcp_wrappers-devel     #基础环境
mkdir -p /home/software && cd /home/software      #创建下载目录
rpm -qa | grep openssh*         #卸载

openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
#执行卸载
rpm -e openssl-1.0.1e-57.el6.x86_64
rpm -e openssl-devel-1.0.1e-57.el6.x86_64
------------------

下载
wget http://www.openssl.org/source/openssl-fips-2.0.5.tar.gz
tar -zxvf openssl-fips-2.0.5
cd openssl-fips-2.0.5
./config
make && make install


#wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz
tar -zvxf OpenSSL_1_1_1d.tar.gz
cd openssl-OpenSSL_1_1_1d
./config shared zlib --prefix=/usr/local/openssl-1.1.1-pre8 --openssldir=/usr/local/openssl-1.1.1-pre8/ssl
make 
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
find / -name openssl
ln -s /usr/local/openssl-1.1.1-pre8/bin/openssl /usr/bin/openssl
ln -s /usr/local/lib64 /usr/local/ssl/lib
vi /etc/ld.so.conf
---------
/usr/local/lib64
/usr/local/ssl/lib
---------  :wq  #保存
ldconfig
openssl version -a


#ssh重新编译
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz #下载7.9版本
wget http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/kex.c
mv /etc/ssh/ /etc/ssh.bak   #备份
tar zxf openssh-7.9p1.tar.gz && cd openssh-8.0p1  #解压
#./configure \
  --prefix=/usr \
  --sysconfdir=/etc/ss
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值