升级openssl和openssh

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

升级前环境

~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
~]# rpm -qa | grep openssl
openssl-1.0.1e-15.el6.x86_64
~]# uname -r
2.6.32-431.el6.x86_64
~]# rpm -qa |grep zlib
zlib-1.2.3-29.el6.x86_64
zlib-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 unspecified
platform: linux-x86_64
options: 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_ASM
OPENSSLDIR: "/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 -V
OpenSSH_7.4p1, OpenSSL 1.0.2j 26 Sep 2016
修改配置文件,并检验升级是否成功
~]# vim /usr/local/myssh/ssh/sshd_config

修改如下配置项:

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

升级openssh漏洞的更多相关文章

  1. Centos 6.5升级openssh漏洞

    CentOS 6.5下openssh升级 在有的企业中每年都会安全扫描,因为实现远程连接比较重要,如果openssh版本过低,就要对其升级,本文主要讲述openssh升级的步骤. openssh升级主 ...

  2. redhat6.4升级openssh至6.7

    1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...

  3. CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门

    最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...

  4. linux升级openssh到7.9

    客户linux主机ssh存在高危漏洞,需要进行升级修复. linux联网后,直接命令行: [root@gw ~]# yum update openssl -y 此命令只是小版本的升级,比如将opens ...

  5. centos升级openssh版本

    似乎升级就是简单的安装ssh包就行了,没进行其他修改,虚拟机24个中高低漏洞解决 安装最新包: 1.下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por ...

  6. CentOS 升级 openSSH

    openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: a. OpenSSH 远程代码执行漏洞(CVE-2016-10009) b.  OpenSSH aut ...

  7. 升级openssh踩得坑

    升级背景: 项目中使用的系统为CentOS6.8,经过漏洞扫描后发现openssh高危漏洞,具体描述如下:OpenSSH 7.2p2之前版本, sshd/ session.c/ do_setup_en ...

  8. centos6升级openssh至7.9

    1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /root/ssh_updateyum install -y telnet-serveryum install -y xinetd ...

  9. 解决服务器openssh漏洞

    解决服务器openssh漏洞 发表于 2019 年 11 月 27 日   1. 检查升级 下载7.4p1 ,链接如下 http://www.openssh.com/portable.html 2.安 ...

随机推荐

  1. iOS App转让、转移、迁移(App transfer) -- 仅需四步

    当需要将某个 App 出售给其他开发人员,或想要将其移至其他 App Store Connect 组织,则您需要转让该 App.您无需将 App 从 App Store 下架,即可将其所有权转让给另一 ...

  2. ["Visual Studio快捷键" ,"Vs","IDEA快捷键"]

    描述说明 描述 说明 ↑ 方向键.上 ↓ 方向键.下 ← 方向键.左 → 方向键.右 快捷键大比拼 描述 Visual Studio 快捷键 IDEA快捷键 VisualStudio学名 IDEA学名 ...

  3. dotnet core 3.0 swagger 显示枚举描述

    上一篇net core 2.2 swagger的枚举描述,core 3.0 需要升级swagger到5.0rc版,配置需要做些修改,swaager启用了OpenApi标准,之前的枚举描述方法也失效了. ...

  4. 🐯 php项目中类的自动加载

    主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现 将函数注册到SPL __autoload函数队列中.如果该队列中的函数尚未激活,则激 ...

  5. Java之布尔运算

    对于布尔类型boolean,永远只有true和false两个值. 布尔运算是一种关系运算,包括以下几类 比较运算符:>,>=,<,<=,==,!= 与运算 && ...

  6. linux 使用 Python 画图工具matplotlib 提示display 错误

    import matplotlib.pyplot as plt Traceback (most recent call last): File "<stdin>", l ...

  7. 第N个丑数

    #include <bits/stdc++.h> using namespace std; #define ll long long /* 把只包含质因子2.3和5的数称作丑数(Ugly ...

  8. PHP设计模式 - 命令模式

    命令模式:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”.但在某些场合,比如要对行为进行“记录.撤销/重做.事务”等处理,这种无法抵御变化的紧耦合是不合适的.在这种情况下,如何将“ ...

  9. Windows10下QT5.13.2安装mingw64/MYSQL8.0驱动

    开始之前,先将编译器的路径添加到系统环境变量. 我的QT所以sql驱动是在下面这个目录中(大家在自己Qt的安装目录找到对应的文件夹就行,下面的路径也是如此), E:\qt\5.13.2\mingw73 ...

  10. HTML登录注册页面简单实现

    github:传送门 , 码云: 传送门 效果参考: 登录页面,注册页面 使用了bootstrap,jQuery. 后端使用的CGI处理表单,存入MySQL数据库.(之后更新) 登录页面源码 < ...