您的位置:首页 > 运维架构

升级OpenSSH7.2p1到OpenSSH7.6P1,升级openssl

2017-10-13 15:46 531 查看

缘由

OpenSSH 远程权限提升漏洞(CVE-2016-10010)

OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325)

OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)

OpenSSH 允许多次 KEXINIT 导致拒绝服务漏洞(CVE-2016-8858)

OpenSSH 远程代码执行漏洞(CVE-2016-10009)

OpenSSH 本地信息泄露漏洞(CVE-2016-10011)

OpenSSH 安全限制绕过漏洞(CVE-2016-10012)

OpenSSL SSLv2协议”Drown”漏洞(CVE-2016-0800)

OpenSSL “SSL-Death-Alert” 拒绝服务漏洞(CVE-2016-8610)

1、开通Telnet

Yum安装telnet-server 及 telnet服务即可

yum install -y telnet-server* telnet


启用telnet服务

vi /etc/xinetd.d/telnet


将其中的 disable 字段的yes 改为no

> mv /etc/securetty /etc/securetty.old
#此作用是允许root用户通过telnet登录,网上也有其它办法可以实现,也可以不修改,使用其它用户登录后再 su - root

> service xinetd restart
#通过重启xinetd重启telnet服务

> chkconfig xinetd on
#使xinetd服务开机自启动,避免升级过和中意外导致无法登入系统

最后我们需要测试一下telnet服务是否正常启动。

2、升级OpenSSL

注:openssh7.6p1依赖的openssl的版本为>1.0.1e 并且 < 1.1.0。我们当前安装的是1.0.2h

上传openssl-1.0.2h.tar.gz到/usr/local/src/

> tar zxvf openssl-1.0.2h.tar.gz
#解压

> cd openssl-1.0.2h


> ./config shared zlib
#一定要加上shared 参数,要不在安装openssh的时候就无法找到

> make


> make install


备份原来的openssl

> mv /usr/bin/openssl /usr/bin/openssl.bak


> mv /usr/include/openssl /usr/include/openssl.bak


因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置

> ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl


> ln -s /usr/local/ssl/include/openssl /usr/include/openssl


将openssl 的lib 库添加到系统

> echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf


> ldconfig
#使新添加的lib 被系统找到

查看openssl版本

> openssl version -a


至此opensll 已经成功升级到1.0.2h

3、升级OpenSSH

到目前为上发现在的openssh的漏洞都是openssh7.4以前的版本。我们当前升级的是openssh7.6p1

上传openssh-7.6p1.tar.gz 到 /usr/local/src/

> tar zxvf openssh-7.6p1.tar.gz
#解压

> cd openssh-7.6p1


> ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib  --without-openssl-header-check --with-ssl-dir=/usr/local/ssl  --with-privsep-path=/var/lib/sshd
#需要指定openssl的安装路径

> make


> make install


> echo 'X11Forwarding yes' >> /etc/ssh/ssh_config
#允许SSH的X转发

> echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
#设置SSH允许root用户登录

> cp -p contrib/redhat/sshd.init /etc/init.d/sshd
#复制SSH的启动脚本

> chmod +x /etc/init.d/sshd
#添加执行权限

> chkconfig --add sshd
#添加到系统服务

> chkconfig sshd on
#开启sshd的开机运行

> service sshd restart
#重启SSHD,重启时有可能会断开ssh的连接,所以重启前一定要确认telnet可以连通,如果不能确保,出问题你只能去机房喽。

至此openssh的升级算是完成

> ssh -V
#可查看当前SSH的版本。

4、升级Nginx

升级openssl后依赖原来版本openssl的Nginx会无法使用,需要重新配置一下Nginx。

5、关闭Telnet 及善后

> chkconfig xinetd off
#关闭xinetd的开机启动

> service xinetd stop
#关闭xinetd服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  openssl openssh linux