OpenSSH平滑升级——解决OpenSSH漏洞

一、环境描述

1)操作系统:CentOS 6.5 64位

2)Openssl升级前版本:openssl 0.9.8e

3)Openssl升级后版本:openssl 1.0.1j(源码安装)

4)Openssh升级前版本:openssh-4.3p2-41.el5

5)Openssh升级后版本:openssh_6.7p1(源码安装)

6)连接工具SecureCrt

二、安装Dropbear代替OpenSSH

安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet

1)下载dropbear安装包

https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2

2)检查安装依赖包

rpm -qa zlib* gcc make

3)编译安装dropbear

# tar jxf dropbear-2014.66.tar.bz2

# cd dropbear-2014.66

# ./configure

# make && make install

检查生成的文件是否正确:

4)生成证书

# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key  (注:系统默认是没有/etc/dropbear 目录的需要自行到创建)

# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

5)启动dropbear

# /usr/local/sbin/dropbear -p 2222    //监听2222端口

查看是否启动成功:

三、升级OpenSSL到openssl-1.0.1j,并删除老版本

1)升级前准备

下载openssl-1.0.1j

http://www.openssl.org/source/openssl-1.0.1j.tar.gz

2)删除旧版本

#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps

3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配

(注:这里LZ纠结了很久,如果按照步骤执行./config --prefix=/usr --shared 依然报错: openssl的 header和library版本不匹配,很可能是由于之前安装的Openssl也是源码安装的,而且没有删除干净,需要手工搜索ssl相关的文件

1.执行find / -name ssl

2.将搜索结果中/usr/lib  /usr/lib64  /lib64  /lib等目录下的结果逐一重命名,千万不要乱删除,逐一尝试。这是个笨办法,目前还没有发现啥比较好的办法。)

# ./config --prefix=/usr --shared

# make

# make test

# make install

完毕后查看openssl版本安装是否正确

# openssl version -a

四、升级sshd到OpenSSH-6.7并删除老版本ssh

1)升级前准备

查看是否缺包

# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"

如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。

yum -y install gcc* make perl pam pam-devel

2)下载openssh-6.7p1.tar.gz

http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz

备份ssh :

# mv /etc/ssh /etc/ssh.bak

# openssl version -a

3)编译安装新版本openssh

# tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1

# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords

# make

先卸载完旧版本的openssh,再make install

# rpm -qa | grep openssh

# rpm -e `rpm -qa | grep openssh`

Openssh-askpass是用于图形界面下输入口令的,用不着可以不装

# make install

4)查看是否升级到新版本

5)复制启动脚本到/etc/init.d

# cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd

加入开机自启

# chkconfig --add sshd

6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。

四、删除dropbear。

终端软件里再重新打开一个标签,

在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。

在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:

ssh 192.168.0.1 2222 (192.168.0.1为需要连接的服务器ip)

删除dropbear安装的文件,并杀掉进程

# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*

时间: 2024-10-03 15:01:45

OpenSSH平滑升级——解决OpenSSH漏洞的相关文章

openssh平滑升级到6.7操作步骤

平滑升级openssh至6.7 一.环境描述 1)操作系统:CentOS 5.5 64位 2)Openssl升级前版本:openssl 0.9.8e 3)Openssl升级后版本:openssl 1.0.1j(源码安装) 4)Openssh升级前版本:openssh-4.3p2-41.el5 5)Openssh升级后版本:openssh_6.7p1(源码安装) 6)连接工具xshell 4 二.安装Dropbear代替OpenSSH 安装dropbear只是为了在升级失败sshd启动不起来时,依

openssh平滑升级到6.1操作步骤

一.环境描述 1)操作系统:CentOS 5.5 64位 2)Openssh版本:openssh-4.3p2-41.el5 3)Openssh升级后版本:OpenSSH_6.1p1(源码安装) 4)连接工具xshell 4 二.安装Dropbear代替OpenSSH 1)下载dropbear安装包 https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2 2)检查安装依赖包 yum install zlib* gcc m

CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击

对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenSSH的方法. 一.服务器漏洞说明 二.环境描述 1)操作系统:CentOS 6.x系列 64位 2)修补前后 使用源码安装的方式 3)连接工具SecureCrt.XShell 三.升级 最好先多开几个root登录的shell窗口万一升级失败可以回退回来,或者安装dropbear只是为了在升级失败ss

Openssh Openssl升级

安装软件以及原脚本.已经上传在附件里了.http://down.51cto.com/data/2228703 因为公司服务器及网络环境要进行安全审计.公司请绿盟的安全人员来对服务器做了一下安全监测,发现服务器上的openssl和openssh版本太老,存在安全漏洞.所以要对服务器的openssl和openssh进行升级到较新版本:openssh-7.12 openssl-1.0.1p. 升级一定要注意做好老版本的备份,建议不要直接删除老版本的配置以及目录.之前看网上的资料好多直接删除了老版本的目

centos 6.7 openssh 升级到openssh 7.1p

openssh 升级主要解决: OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具.该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听.连接劫持以及其他网络级的攻击.OpenSSH 6.8版本和6.9版本的sshd中存在安全漏洞,该漏洞源于程序为TTY设备分配全局可写权限.本地攻击者可通过写入设备利用该漏洞造成拒绝服务(终端中断). openssh 简介: 1.OpenSSH 是SSH(Secure S

Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-2006-5051)漏洞解决方案

漏洞的名称为Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-2006-5051)及OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478),厂家给出的解决方案很笼统.经过各方查找资料,大致的解决方案是升级到高版本的openssh,目前最新版本是openssh 6.7p1. 下载地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/ 可以根据自己的需要选择下载升级,其实没别要升级到最新版本

RHEL6.5升级安装OPENSSH

openssh的运转需要openssl和zlib的支持,升级openssh最好同步升级openssl和zlib,避免出现不匹配的现象,此文只升级openssl和openssh. 1.安装telnet服务 # yum -y install telnet-server* # rpm -qa | grep telnet # vi /etc/xinetd.d/telnet 将disable字段改为no # chkconfig --list xinetd xinetd              0:关闭 

Linux服务器升级安装OPENSSH

压缩包见:http://down.51cto.com/data/2227785 上传压缩包到目标服务器: 工具:winscp,flashxp 解压上传的压缩包,使用unzip命令,如果没有此命令使用yum等方式安装,解压过程见下图: 进解压缩后的目录,给升级安装脚本加可执行权限 升级脚本被执行前需要检查当前系统如下几项是否存在 GCC编译器(源码编译需要) Telnet 服务(避免升级SSH因故无法连接而留的后路) Pam-devel (SSH需要用PAM来进行帐号认证) 查看是否安装GCC,正

nginx平滑升级

Nginx的平滑升级 1.查看当前版本 #cd /usr/local/nginx/ #进入Nginx安装目录 # sbin/nginx -V #查看版本 nginx version: nginx/0.7.60 configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module #编译项 得到原来./configure 的编译项