博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
升级openssh漏洞
阅读量:5106 次
发布时间:2019-06-13

本文共 3238 字,大约阅读时间需要 10 分钟。

升级openssl和openssh

最近接收到客户的漏洞提醒,openssl和openssh的漏洞,解决办法就只有升级。

升级前环境

~]# ssh -VOpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013~]# rpm -qa | grep opensslopenssl-1.0.1e-15.el6.x86_64~]# uname -r2.6.32-431.el6.x86_64~]# rpm -qa |grep zlibzlib-1.2.3-29.el6.x86_64zlib-devel-1.2.3-29.el6.x86_64

升级前后:

升级前 升级后
Openssl Openssl_1.0.1e-fips openssl-1.0.2j
Openssh Openssh_5.3p1 Openssh-6.9p1

升级前准备

为了防止升级openssh过程中出现问题,ssh连接断开,需要保证连接不能断开,此处使用telnet连接,也可安装别的dropbear等

telnet只允许普通用户登陆

~]# yum install telnet_server telnet -y~]# vim /etc/xinetd.d/telnet将disable项由yes改成no~]# service xinetd restart重启后即可连接

操作过程

一、安装zlib

源码安装openssh、openssl,为了避免zlib库文件版本过低,同时编译安装zlib库

~]# tar xf zlib-1.2.7.tar.gz~]# cd zlib-1.2.7~]# ./configure --shared...Checking for return value of vsnprintf()... Yes.Checking for attribute(visibility) support... Yes.**Looking for a four-byte integer type... Found.** //这个是由于zlib并非使用的标准autotools,没有考虑交叉编译的情况,这个错误是执行测试程序导致的,用于检测32bit整型是int还是long还是别的,该错误无关紧要,可以忽略~]# make && make test~]# make install

二、安装openssl

由于openssh依赖于openssl库,所以在安装openssh前要先安装openssl库

~]# tar xf openssl-1.0.2j.tar.gz~]# cd openssl-1.0.2j~]# ./config shared //默认安装路径(/usr/local/ssl)~]# make && make test  //测试没报错,继续往下执行~]# make install备份及软链接命令:~]# mv /usr/bin/openssl{,_bak}~]# mv /usr/include/openssl{,_bak}~]# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl~]# ln -s /usr/local/ssl/include/openssl /usr/include/openssl搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件,让刚安装的openssl动态链接库为系统所共享。~]# sed -i '1 i /usr/local/ssl/lib' /etc/ld.so.conf  //在文件行首添加新安装的openssl~]# ldconfig //加载查看版本:~]# openssl version -a**OpenSSL 1.0.2j  26 Sep 2016**built on: reproducible build, date unspecifiedplatform: linux-x86_64options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASMOPENSSLDIR: "/usr/local/ssl"

三、安装openssh

更新openssh前,为了防止ssh连接断开,最好先telnet进服务器,防止意外发生

~]# mkdir /usr/local/myssh/ssh -p  //安装在自己新建的目录里~]# tar xf openssh-7.4p1.tar.gz~]# cd openssh-7.4p1~]# ./configure --prefix=/usr/local/myssh --sysconfdir=/usr/local/myssh/ssh --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/myempty --with-privsep-user=sshd --with-zlib --with-ssl-engine --with-md5-passwords --disable-etc-default-login~]# make && make install备份及软链接命令:~]# mv /etc/init.d/sshd{,_bak}~]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd   //拷贝启动脚本~]# chmod u+x /etc/init.d/sshd~]# mv /usr/sbin/sshd{,_bak}~]# ln -s /usr/local/myssh/sbin/sshd /usr/sbin/sshd //sshd命令~]# mv /usr/bin/ssh-keygen{,_bak}~]# ln -s /usr/local/myssh/bin/ssh-keygen /usr/bin/ssh-keygen //老的ssh-keygen默认没有-A参数,如果不链接,就会有提示信息“ssh-keygen: illegal option -- A”~]# mv /usr/bin/ssh{,_bak}~]# mv /usr/local/myssh/查看版本:~]# ssh -VOpenSSH_7.4p1, OpenSSL 1.0.2j  26 Sep 2016
修改配置文件,并检验升级是否成功
~]# vim /usr/local/myssh/ssh/sshd_config

修改如下配置项:

  • PermitRootLogin yes //允许root用户登陆

转载于:https://www.cnblogs.com/dance-walter/p/9047041.html

你可能感兴趣的文章
入手腾龙SP AF90mm MACRO
查看>>
python学习4 常用内置模块
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
ResolveUrl的用法
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>
css3之transform-origin
查看>>
[转]JavaScript快速检测浏览器对CSS3特性的支持
查看>>
Master选举原理
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
小别离
查看>>
微信小程序-发起 HTTPS 请求
查看>>
WPF动画设置1(转)
查看>>
基于node/mongo的App Docker化测试环境搭建
查看>>
java web 中base64传输的坑
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
Activiti入门 -- 环境搭建和核心API简介
查看>>