当前位置:

首页标题    Linux技术    RHEL 6.5升级openssl和openssh
浏览量:0
创建时间:2020-07-02 19:14

RHEL 6.5升级openssl和openssh

最近一次在进行等级保护漏洞扫描时,发现三台Linux服务器存在安全漏洞。漏洞等级共定性为三级,分别为高危、中危、低危。高危是必须进行解决处理的漏洞,中危和低危可暂不处理。因此需要对此三台服务器进行漏洞处理。我们以其中一台Linux服务器进行介绍。

 

高危漏洞名称如下:

ü  OpenSSH J-PAKE授权问题漏洞CVE-2010-4478

ü  OpenSSH‘hash_buffer’函数缓冲区溢出漏洞(CVE-2014-1692

ü  OpenSSH sshd 安全漏洞 (CVE-2015-8325)

ü OpenSSH sshd 安全漏洞(CVE-2016-6515)

ü  OpenSSH X11转发安全绕过漏洞(CVE-2016-1908)

 

三台服务器都属于专网性质,没有互联网,因此我们在后面步骤中将使用本地yum源。具体操作过程如下:

 

1、下载升级包:openssh-7.9p1.tar.gzopenssl-1.0.2q.tar.gz,将升级包通过WinSCP工具上传至Linux系统中,这里我们上传至/ssh目录中(/ssh目录通过mkdir命令提前创建好

 

2、查看当前Linux操作系统版本lsb_release命令提供特定的LSB(Linux Standard Base)和发布版本相关信息,如下图1所示

l 使用命令:lsb_release –a

l 版本:Red Hat Enterprise Linux Server release 6.5 (Santiago) Release: 6.5

 

img1

1 查看Linux版本信息

 

3、查看opensslopenssh版本

l使用命令:ssh -V

l版本:OpenSSH_5.3p1,  OpenSSL 1.0.0-fips 29 Mar 2010

 

4、 挂载ISO镜像光盘,安装编译环境(因业务运行在云上,直接使用VMware虚拟化知识把ISO镜像挂载到虚机即可)

l 挂载ISO镜像: mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom/

l下面几步将配置本地yum因为在安装编译环境时有太多的依赖关系,如果使用传统方式一步一步安装rpm包,实在太麻烦,使用yum安装方式,所有的依赖关系都将自动解决

l 进入cd /etc/yum.repos.d/,可以看到rhel-source.repo文件,如下图2所示,建议对其进行备份。

 

img2

2 查看yum配置文件

 

l 备份rhel-source.repocp rhel-source.repo rhel-source.repo.back

l 使用vi编辑器编辑rhel-source.repo文件vi rhel-source.repo。如下图3所示。

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/cdrom           //路径设置成与你光驱或ISO挂载的路径相同

enabled=1                                      //enabled后面的值必须修改为1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

[rhel-source-beta]

name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source

baseurl= file:///mnt/cdrom     //路径设置成与你光驱或ISO挂载的路径相同

enabled=1                                 //enabled后面的值必须修改为1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

img3

3 编辑yum配置文件

 

l 使用yum clean all命令清除YUM缓存:yum会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的方法是yum clean headers清除headeryum clean packages清除下载的rpm包,yum clean all全部清除。

定位到挂载的ISO镜像下的rpm包目录下执行以下命令:

l 安装gcc-4.4.7-4.el6.x86_64.rpmyum -y install gcc-4.4.7-4.el6.x86_64.rpm

l 安装gcc-c++yum -y install gcc-c++-4.4.7-4.el6.x86_64.rpm

l 安装zlib-1.2.3yum -y install zlib-1.2.3-29.el6.x86_64.rpm

l 安装zlib-develyum -y install zlib-devel-1.2.3-29.el6.x86_64.rpm

l 安装makeyum -y install make-3.81-20.el6.x86_64.rpm

 

5、升级openssl:先升级openssl再升级openssh

l  解压openssl-1.0.2q.tar.gztar -zxvf openssl-1.0.2q.tar.gz

l 如下图4所示,进入解压目录:cd openssl-1.0.2q

 

img4

4 进入cd openssl-1.0.2q目录

 

l 配置openssl./config --prefix=/usr/local/openssl --shared

l 编译安装:make && make install

l  查看/usr/local/openssl/目录是否生成目录binincludelibssl,如下图5所示ls /usr/local/openssl/

 

img5

5 /usr/local/openssl/目录内容

 

l  使用vi编辑器,在/etc/ld.so.conf文件最后添加如下内容:/usr/local/openssl/lib

l使ld.so.conf配置文件生效:ldconfig

l 添加OPENSSL环境变量:通过vi编辑器,在/etc/profile文件最后一行添加:

export OPENSSL=/usr/local/openssl/bin

export PATH=$OPENSSL:$PATH:$HOME/bin

l 使用环境生效:source /etc/profile

l 如下图6所示,查看openssl版本号是否已经升级为新的版本:openssl version

Openssl版本号变为:OpenSSL 1.0.2q 20 Nov 2018

 

img6

6 查看openssl版本号

 

至此,openssl已经完成升级。

 

6、升级openssh:先升级openssl再升级openssh

l 创建配置文件备份目录:mkdir /etc/sshback

l备份原来的ssh配置文件:mv /etc/ssh/* /etc/sshback/

l备份原来的ssh启用脚本:mv /etc/init.d/sshd /etc/init.d/sshdback

l解压openssh-7.9p1.tar.gztar -zxvf openssh-7.9p1.tar.gz

l进入解压目录:cd openssh-7.9p1

l 配置openssh

./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl

l 编译安装:make && make install

l复制启动脚本到/etc/init.dcp -a contrib/redhat/sshd.init /etc/init.d/sshd   

注:contrib/redhat/sshd.init openssh-7.9p1.tar.gz的解压目录里。

l 如下图7所示,查看/etc/ssh目录下是否存在配置文件ls /etc/ssh

Modulisshd_configssh_host_dsa_key.pub

ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub

ssh_config ssh_host_dsa_key ssh_host_ecdsa_key   

ssh_host_ed25519_key ssh_host_rsa_key

 

img7

7 /etc/ssh目录内容

 

l 开启允许root管理员登录,修改配置文件:vi /etc/ssh/sshd_config

找到#PermitRootLogin prohibit-password

在下面一行添加PermitRootLogin yes

PermitRootLogin yes

l重启sshd服务:service sshd restart

l如下图8所示,查看ssh版本号是否已经升级为新的版本:ssh V

升级前版本:OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

升级后版本:OpenSSH_7.9p1, OpenSSL 1.0.2q 20 Nov 2018

 

img8

8 查看sshssl版本