升级openssh踩得坑
升级背景:
项目中使用的系统为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踩得坑的更多相关文章
- 升级OPENSSH踩过的坑
安装三个必要依赖包yum install gcc zlib-devel openssl-devel上传安装包,创建一个/tmp目录下,然后解压,将/etc/ssh/目录移动到本地解压安装包,进入安装目 ...
- CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门
最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...
- CentOS 升级 openSSH
openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: a. OpenSSH 远程代码执行漏洞(CVE-2016-10009) b. OpenSSH aut ...
- CentOS 升级 openSSH+ sh脚本自动运维
升级前后对比 openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: OpenSSH 远程代码执行漏洞(CVE-2016-10009) OpenSSH au ...
- 从零开始学 Java - Spring 支持 CORS 请求踩的坑
谁没掉进过几个大坑 记得好久之前,总能时不时在某个地方看到一些标语,往往都是上面一个伟人的头像,然后不管是不是他说的话,下面总是有看起来很政治正确且没卵用的屁话,我活到目前为止,最令我笑的肚子痛得是下 ...
- redhat6.4升级openssh至6.7
1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...
- 升级OpenSSH详细步骤
由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本.网上搜罗数个文章,都多多少少有点疏漏.加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿.所以综合一下前辈们 ...
- centos升级openssh的两种方式
此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址: http://mirror.internode.on. ...
- webuploader插件,我踩得坑
我在目前的公司做的项目要么是原生写法去做项目,要么就是vue+webpack做项目,但是vue这部分只是用了模板template,vue其他的都没用. 有一个项目需要做上传图片的功能,老大扔给我一个插 ...
随机推荐
- bzoj 4720: [Noip2016]换教室【期望dp】
状压dp,设f[i][j][0/1]为前i个时间段换了j间教室的期望体力消耗,转移很好想(但是写起来好长= =) #include<iostream> #include<cstdio ...
- 作为一个程序员,你了解 win 上有哪些必装的软件吗
关于 win 的一些基础必知内容之前已经分享过,没有看过的可以戳此处→Windows 使用之那些你还不知道操作 新系统安装的第一个软件 Google Chrome 毫无疑问,作为程序员应该是首选的浏览 ...
- [USACO 2011 Nov Gold] Above the Median【逆序对】
传送门:http://www.usaco.org/index.php?page=viewproblem2&cpid=91 这一题我很快的想出了,把>= x的值改为1,< x的改为- ...
- ACM_平面、空间分割问题(递推dp)
折线分割平面 Time Limit: 2000/1000ms (Java/Others) Problem Description: 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要 ...
- LD_LIBRARY_PATH与-L的关系以及延伸
最近跟同学讨论c++在编译时g++ -L.. 和LD_LIBRARY_PATH的问题,今天在做一个东西的时候发现,我对这两个东西的理解是错误的,经过一番研究,写下我对这些东西的想法,如果有不对的地方, ...
- sed简单脚本练习
sed脚本的执行顺序可以简记为:Read,Execute,Print,Repeat(读取,执行,打印,重复)简称REPR 分析脚本的执行顺序: l 读取一行到模式空间(sed内部的一个临时缓存,用于存 ...
- 如何使用mysqldump命令导入导出数据库下的数据或表结构(远程or本地都适合)
不多说,直接上干货! https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Installation-Guide/ ...
- jacaScript数组
1.var arr=['1','2','3'] typeof arr (判断数组类型) print(arr)打印数组内容 2.arr[100]='x', 数组中间自动添加,alert(arr. ...
- 安装CentOS--设置网络_2
(1)虽然CentOS 7已经可以联网,但是在日常的运维工作中,我们是需要手动给Linux系统设置IP地址的.输入如下命令. # vi /etc/sysconfig/network-scripts/i ...
- AJPFX理解反射及反射的应用
怎么理解反射,反射的应用 反射就是把Java类中的各种成分映射成相应的Java类. 一般情况下我们要解决某个问题,先找到相关的类,创建该类的对象,然后通过该对象调用对应的方 ...