openssh漏洞修复

**

  • 一、升级环境

**
Red-Hat 6.8版本
**

  • 二、 OpenSSH升级准备

**
2.1 升级思路考虑到OpenSSH升级采用远程连接方式升级,为保证升级正常,将采telnet连接来进行升级操作,依次进行OpenSSH原配置文件备份、旧版本OpenSSH删除、安装新版本OpenSSH。
2.2 下载所需的安装包,
此次安装需要安装包如下telnet服务所需的安装包:
telnet-server-0.17-48.el6.x86_64.tar.gz
OpenSSH 升级所需安装包:
openssh-7.5p1.tar.gz
zlib-1.2.11.tar.gz
openssl-1.0.2l.tar.gz
openssl-devel所需安装包:
openssl-devel-1.0.1e-57.el6.x86_64.rpm
OpenSSH 还原所需安装包:
openssh-5.3p1.tar.gz

**

  • 三、SSH级实施步骤

**
3.1 过sftp上传安装包rpm
openssh-7.5p1.tar.gz
zlib-1.2.11.tar.gz
openssl-1.0.2l.tar.gz
telnet-server-0.17-39.el5.x86_64.rpm
openssh-4.3p2-72.el5.x86_64.rpm
openssl-devel-1.0.1e-57.el6.x86_64.rpm

3.2 安装配置telnet
安装telnet-server的RPM包,确认telnet是否安装,telnet rpm已经安装此步骤跳过

 # rpm -ivh telnet-server-0.17-39.el5.i386.rpm	
 # rpm -ql telnet-server	

配置telnet,telnet的配置较较简单,直接修改其配置文件,让其启动即可,其配置文件位于/etc/xinetd.d/telnet,修改其内容如下:

# vim /etc/xinetd.d/telnet 

disable = no 或采用命令修改方式,执行命令

  #chkconfig telnet on
  #chkconfig --list |grep   telnet    

启动telnet, telnet是一个属于xinetd的服务,重启xinetd服务即可完成对telnet的启动(需要注意,默认情况下,root不能远程telnet)。

 # service xinetd restart

3.3 安装OpenSSH
GCC----安装OpenSSH需先安装其所依赖的zlib和OpenSSL服务。
3.3.1 源码编译zlib

  # tar -xvzf zlib-1.2.11.tar.gz 
  # cd zlib-1.2.11			  
  # ./configure --prefix=/usr/local/zlib ---安装路径
  # make 

注意 此处需要卸载当前的zlib(必须按照顺序的操作,lib64下涉及的模块丢失)

 # rpm -e --nodeps zlib
 # make install		 
 # echo ‘/usr/local/zlib/lib’>>/etc/ld.so.conf    # 共享库文件注册到系统
 # ldconfig   # 更新共享库cache

3.3.2 源码编译OpenSSL

备份当前的openssl

  # mv /usr/lib64/openssl cat /usr/lib64/openssl.old
  # mv /usr/bin/openssl /usr/bin/openssl.old
  # mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old  

以下两个库文件必须先备份,因系统内部部分工依赖此库,而新版openssl不包含这两个库

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

安装openssl

 # tar -xvzf openssl-1.0.2l.tar.gz		
 # cd openssl-1.0.2l					
 # ./config --prefix=/usr/local/openssl  --shared zlib(注意需加入-shared参数)
 # make					
 # make install			
 #ln -s /usr/local/openssl/bin/openssl /usr/sbin/openssl--------
 #ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
 # openssl version	  
 # echo ‘/usr/local/openssl/lib’>>/etc/ld.so.conf
 # ldconfig 

考虑到后续的工作中需要用其他工具,先恢复之前备份的共享库

 # cp /usr/lib64/libcrypto.so.10.old  /usr/lib64/libcrypto.so.10
 # cp /usr/lib64/libssl.so.10.old  /usr/lib64/libssl.so.10 "/usr/local/openssl/ssl"

3.3.3 源码编译OpenSSH
如果没有openssl-devel,需要按照openssl-devel

 # rpm -qa | grep openssl-devel 查看有没有安装
 # rpm -ivh openssl-devel-1.0.1e-57.el6.x86_64.rpm 

备份OpenSSH相关文件:

# mv  /etc/ssh/ /etc/ssh_bak
# cp /etc/init.d/sshd /etc/init.d/sshd_bak	
# cp /usr/sbin/sshd /usr/sbin/sshd_bak   

卸载当前的版本:

# rpm -qa | grep openssh (ssh)
#rpm -e 版本--nodeps  

安装前环境配置:

#install -v -m700 -d /var/lib/sshd
#chown -v root:sys /var/lib/sshd
#groupadd -g 51 sshd
#useradd -c ‘sshd PrivSep’-d /var/lib/sshd -g sshd -s /bin.flase -u 51 sshd 

安装openssh:

 # tar -xvzf openssh-7.5p1.tar.gz		
 # cd openssh-7.5p1						
./configure --sysconfdir=/etc/ssh --with-zlib=/usr/local/zlib/ --with-ssl-dir=/usr/local/openssl/ssl
 #make 				
 #make install

#安装后环境配置:

    #install -v -m755 contrib/ssh-copy-id /usr/bin
    #install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
    #install -v -m755 -d /usr/share/doc/openssh-7.5p1
    #install -v -m644 LICENCE OVERVIEW README* /usr/share/doc/openssh-7.5p1
    #ssh -V # 验证:

启动SSH服务:

#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   #此时ssh会断,需要telnet登录服务器,普通用户登录再切到root用户

telnet 登录后界面

#service sshd restart  #启动发现异常,需要相关启动配置文件拷贝到系统启动文件夹中
#find / -name sshd
#cp /usr/local/sbin/sshd /usr/sbin/sshd 
#cp /usr/local/bin/ssh-keygen /usr/bin/cp /usr/local/bin/ssh /usr/bin/

3.4停止telnet服务
确保OpenSSH升级可用之后,为了保障系统的安全,建议将telnet删除,以免造成安全漏洞,删除telnet只需要将其对应的rpm包删除即可,如下:

# service xinetd stop
#rpm -e telnet-server
#rpm -qa | grep telnet-server	

说明:此操作步骤借鉴了网上好多文章,经测试,可以正常安装

你可能感兴趣的:(openssh漏洞修复)