升级背景:

  项目中使用的系统为CentOS6.8,经过漏洞扫描后发现openssh高危漏洞,具体描述如下:OpenSSH 7.2p2之前版本, sshd/ session.c/ do_setup_env函数存在安全漏洞, 启用了UseLogin功能且PAM配置为读取用户主目录内的 .pam_environment文件后, 本地用户通过触发/bin/login程序构造的环境, 可提升其权限。

  很复杂……,话不多说,直接升级到7.4p1版本。

升级过程:

-------升级前的准备:

1.上传软件包(openssl-1.0.2k.tar.gz     openssh-7.4p1.tar.gz)

2.安装telnet服务,防止升级出现问题。

  #yum -y install telnet-server*

3.关闭防火墙,防止telnet无法连接:service iptables stop && chkconfig iptables off

  #vi /etc/xinetd.d/telnet  将其中disable字段的yes改为no以启用telnet服务

  #mv /etc/securetty /etc/securetty.old    #允许root用户通过telnet登录

  #service xinetd start                     #启动telnet服务

  #chkconfig xinetd on        #避免升级过程中服务器意外重启后无法远程登录系统

4.安装编译所需工具包      yum -y install gcc pam-devel zlib-devel

-------升级openssl

#############备份当前ssl#############

#find / -name openssl

将上条命令找到的文件备份,命令格式如下

#mv  文件名  文件名.old(根据实际结果操作)

备份如下两个库文件,因系统内部分工具(如yum、wget等)依赖此库

#cp  /usr/lib64/libcrypto.so.10  /usr/lib64/libcrypto.so.10.old

#cp  /usr/lib64/libssl.so.10  /usr/lib64/libssl.so.10.old

############卸载当前ssl##############

#rpm -qa | grep openssl         ###查询当前ssl版本

#rpm -e --nodeps 上条命令查询结果粘贴到此处

############解压安装新版本ssl#########

#tar -zxvf openssl-1.0.2k.tar.gz

#cd openssl-1.0.2k

#./config --prefix=/usr --openssldir=/etc/ssl --shared zlib

#make && make test && make install

#openssl version -a  ##查看是否升级成功

--------升级openssh

############备份当前ssh#############

#mv /etc/ssh /etc/ssh.old

############卸载当前ssh#############

#rpm -qa | grep openssh(查询结果如下,不一定与实际环境相同)

#openssh-clients-5.3p1-111.el6.x86_64

#openssh-server-5.3p1-111.el6.x86_64

#openssh-5.3p1-111.el6.x86_64

#openssh-askpass-5.3p1-111.el6.x86_64

卸载命令如下:

#rpm -e --nodeps openssh-5.3p1-111.el6.x86_64

#rpm -e --nodeps openssh-server-5.3p1-111.el6.x86_64

#rpm -e --nodeps openssh-clients-5.3p1-111.el6.x86_64

#rpm -e --nodeps openssh-askpass-5.3p1-111.el6.x86_64

#rpm -qa | grep openssh   ###查询是否成功

############安装前环境配置############

#install  -v -m700 -d /var/lib/sshd

#chown  -v root:sys /var/lib/sshd

############解压安装新版本ssh#########

#tar -zxvf openssh-7.4p1.tar.gz

#cd openssh-7.4p1

#./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords  --with-pam  --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd

#make && make install

####安装后环境配置(在编译目录执行)####

#echo 'X11Forwarding yes' >> /etc/ssh/sshd_config

#echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

#cp -p contrib/redhat/sshd.init /etc/init.d/sshd

#chmod +x /etc/init.d/sshd

#chkconfig  --add  sshd

#chkconfig  sshd  on

#chkconfig  --list  sshd

#service sshd restart(如果失败可用telnet连接启动服务)

###############安装成功后操作##############

#yum remove telnet-server* -y

#mv /etc/securetty.old /etc/securetty

#chkconfig  xinetd off

#service xinetd stop

#service iptables start

#chkconfig iptables on

注意:一定要卸载telnet,这个东西太危险……

踩到的坑:

  升级途中遇到两个坑都是因为 /usr/lib64/libcrypto.so.10 这个文件,由于没有备份这个文件(心急了,运维还是要稳……),导致重启后系统起不来,很慌……(重启是因为升级了内核),在启动页面按ESC发现卡在缺少这个文件报错的环境,这个时候用上了运维基础操作(单用户模式),进入单用户模式后从别的机器中拷贝这个文件后重启正常。

自我反省:

  基础的运维说简单其实很简单,说难其实也很难。简单的是技术,难的是心态。生活中也是这样,做什么都要全力以赴,切不可觉得无所谓,常在河边走,哪有不湿鞋……

升级openssh踩得坑的更多相关文章

  1. 升级OPENSSH踩过的坑

    安装三个必要依赖包yum install gcc zlib-devel openssl-devel上传安装包,创建一个/tmp目录下,然后解压,将/etc/ssh/目录移动到本地解压安装包,进入安装目 ...

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

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

  3. CentOS 升级 openSSH

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

  4. CentOS 升级 openSSH+ sh脚本自动运维

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

  5. 从零开始学 Java - Spring 支持 CORS 请求踩的坑

    谁没掉进过几个大坑 记得好久之前,总能时不时在某个地方看到一些标语,往往都是上面一个伟人的头像,然后不管是不是他说的话,下面总是有看起来很政治正确且没卵用的屁话,我活到目前为止,最令我笑的肚子痛得是下 ...

  6. redhat6.4升级openssh至6.7

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

  7. 升级OpenSSH详细步骤

    由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本.网上搜罗数个文章,都多多少少有点疏漏.加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿.所以综合一下前辈们 ...

  8. centos升级openssh的两种方式

    此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址:  http://mirror.internode.on. ...

  9. webuploader插件,我踩得坑

    我在目前的公司做的项目要么是原生写法去做项目,要么就是vue+webpack做项目,但是vue这部分只是用了模板template,vue其他的都没用. 有一个项目需要做上传图片的功能,老大扔给我一个插 ...

随机推荐

  1. bzoj 3105: [cqoi2013]新Nim游戏【线性基+贪心】

    nim游戏的先手必胜条件是所有堆的火柴个数异或和为0,也就是找一个剩下火柴堆数没有异或和为0的子集的方案,且这个方案保证剩下的火柴个数总和最大 然后我就不会了,其实我到现在也不知道拟阵是个什么玩意-- ...

  2. bzoj 3779: 重组病毒【LCT+线段树维护dfs序】

    %.8lf会WA!!%.8lf会WA!!%.8lf会WA!!要%.10lf!! 和4817有点像,但是更复杂. 首先对于操作一"在编号为x的计算机中植入病毒的一个新变种,在植入一个新变种时, ...

  3. ROS学习笔记六:xxx.launch文件详解

    每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令.当系统中的节点数量不断增加时,每个节点一个终端的模式会变得非常麻烦.那么有没有一种方式可以一次性启动所有节点呢?答案当然是肯 ...

  4. _bzoj1208 [HNOI2004]宠物收养所【Splay】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1208 以后在空间限制允许的情况下我绝对不纠结内存占用问题啦!就因为不舍得用long long ...

  5. 51nod 1098 最小方差

    #include <iostream> #include <cstdio> #include <algorithm> using namespace std; ty ...

  6. Hadoop集群搭建及MapReduce应用

    一.Hadoop集群的搭建与配置 1.节点准备 集群规划: 主机名 IP 安装的软件 运行的进程 weekend 01 192.168.1.60 jdk.hadoop NameNode.DFSZKFa ...

  7. android开发学习——关于activity 和 fragment在toolbar上设置menu菜单

    在做一个项目,用的是Android Studio 系统的抽屉源码,但是随着页面的跳转,toolbar的title需要改变,toolbar上的menu菜单也需要改变,在网上找了好久,也尝试了很多,推荐给 ...

  8. .NET框架概述

    .NET战略目标: 任何时候(when),任何地方(where),使用任何工具(what)都能通过.NET的服务获得网络上的任何信息. .NET优势: 1.提供了一个面向对象的编程环境,完全支持面向对 ...

  9. PHP使用Session遇到的一个Permission denied Notice解决办法

    搜索 session.save_path 在这里你有两个选择,一个是像我一样用; 把这一行注释掉,另一个选择就是修改一个 nobody 用户可以操作的目录,也就是说有读写权限的目录,我也查了下这个默认 ...

  10. CF916C Jamie and Interesting Graph

    思路:构造 实现: #include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n ...