近日,国家信息安全漏洞共享平台(CNVD)收录了OpenSSH的多个漏洞(CNVD-2016-12688、CNVD-2016-12687、CNVD-2016-12686、CNVD-2016-12684,对应CVE-2016-10009、CVE-2016-10010、CVE-2016-10011、CVE-2016-10012)。综合利用上述漏洞,***者可执行任意代码,提升权限至root权限,获取本地敏感信息泄露,绕过某些安全限制执行未经授权的操作。


目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

官方网址为 https://www.openssh.com/

官方目前的最新版本为openssh-7.5p1


1. 在Centos6下安装

Centos6下的安装比较简单,直接yum安装依赖包

yum install gcc zlib-devel  openssl openssl-devel wget


把老版本的ssh相关文件备份一下:

cp /etc/ssh/{sshd_config,sshd_config.bak}

cp /usr/sbin/{sshd,sshd.bak}

cp /usr/bin/{ssh,ssh.bak}

cp ~/.ssh/{authorized_keys,authorized_keys.bak}


下载openssh-7.5p1

cd /usr/local/src

wget https://mirrors.syringanetworks.net/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

解压

tar zxvf openssh-7.5p1.tar.gz

cd openssh-7.5p1

编译安装

./configure --sbindir=/usr/sbin/  --bindir=/usr/bin/ --sysconfdir=/etc/ssh/

make && make install


vi /etc/ssh/sshd_config

找到

#PermitRootLogin yes

修改为

PermitRootLogin yes

这里不修改root用户无法登陆,保存后重启sshd

/etc/init.d/sshd restart


当前连接的ssh在测试未完成前千万不要中断,打开另一个终端进行测试,否则一但安装有问题就连不上了。


2. 在Centos5下安装


centos5下安装openssh前需先安装openssl:

先下载openssl

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

解压

tar zxvf openssl-1.0.2l.tar.gz

cd openssl-1.0.2l

编译安装,这里使用共享编译,防止openssh编译时找不到库文件

./config --prefix=/usr/local/ssl --shared

make && make install


为防止编译openssh时出现:error: OpenSSL version header not found.


执行下面操作:

vi /etc/ld.so.conf

增加下面这行

/usr/local/ssl/lib

保存后执行

ldconfig 


接下来编译安装openssh,步骤和上面Centos6中的操作一样。


3. 安装完毕进行测试:

[root@www ~]# ssh -V

OpenSSH_7.5p1, OpenSSL 1.0.2l  25 May 2017


在客户端用xhell登陆

Centos6/Centos5下openssh升级到openssh-7.5p1_第1张图片


以上显示OpenSSH_7.5p1已经升级成功。