近日,国家信息安全漏洞共享平台(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
为防止出现:error: OpenSSL version header not found.
执行下面操作:
vi /etc/ld.so.conf
增加下面这行
/usr/local/ssl/lib
保存后执行
ldconfig
接下来编译安装openssh,步骤和上面Centos6中的操作一样。
3. 安装完毕进行测试:
[[email protected] ~]# ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.2l 25 May 2017
在客户端用xhell登陆
以上显示OpenSSH_7.5p1已经升级成功。