linux ssh yum升级_安全加固浅谈OpenSSH版本升级

近期,接到安全加固任务,要对目标主机漏洞--OpenSSH用户枚举漏洞(CVE-2018-15919)进行修复。经查找相关资料,该漏洞影响OpenSSH 7.8及之前版本,于是决定将openssh升级到最新版本。

OpenSSH官网显示,最新版本为7.9。

30be37e6cd819e8cb56fb976f4c2b9a4.png

为保证OpenSSH升级不影响系统稳定运行,故先在本地搭建测试环境如下:

操作系统:centOS 7.3

OpenSSH:6.6.1p1

OpenSSL:1.0.1e

有消息称, OpenSSH7.9不支持OpenSSH1.1.x以上,本人有点调皮,不信这个邪,决定仍将Openssl升级至1.1.1。

话不多说,接下来为各位简述升级过程。

一.   先升级OpenSSL至最新版本1.1.1b

1、安装OpenSSL升级所需的包:gccgcc-c++ zlib zlib-devel

使用yum直接安装:yum install gcc gcc-c++ zlibzlib-devel -y

竟然报错:

f2191a9d544a8960b5d0c3cddc515b02.png

万能的度娘提示:yum的意义在于能很自动化的安装软件,这样的安装自然也有限制,也就是同时只能安装yum方式安装一个软件,所以yum也只能有一个进程。额……这个情况可能会是自动更新的时候安装软件导致冲突,可以取消自动更新或者重新启动,或者使用kill -9 36603(36603 为上图中yum报错信息里面的进程号)解决。

2、下载OpenSSL最新安装包:openssl-1.1.1b.tar.gz。目前最新版本的OpenSSL下载地址为:http://www.openssl.org/source/openssl-1.1.1b.tar.gz(也可直接使用wget下载,前提是服务器可直接访问到互联网)。

3、将下载的文件上传至服务器并解压:tar -zxvf openssl-1.1.1b.tar.gz

此处也可以使用-C命令将文件解压到制定目录(如解压到/usr/local/目录下):tar zxvfopenssl-1.1.1b.tar.gz -C /usr/local/

baae7e137153e49c06ca6084227a17ef.png

4进入解压后的文件openssl-1.1.1b:cd openssl-1.1.1b/

5、开始安装:设定Openssl 安装,( --prefix )参数为欲安装的目录,也就是安装后的档案会出现在该目录下。

执行命令: ./config--prefix=/usr/local/openssl

出现以下信息表示ok,可继续下一步:

04ad489a19a1647c0ea7e5cadd876ba5.png

6、开始编译:make&&makeinstall

7、将新编译的openssllibrary 加入系统动态库链接中

echo /usr/local/openssl/lib >> /etc/ld.so.conf

ldconfig -v

8、备份和移除旧的openssl

mv /usr/bin/openssl /tmp/openssl_old  

rm -rf /usr/include/openssl

9、对新openssl建立软连接

ln -s /usr/local/openssl/bin/openssl/ /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl

ldd /usr/local/openssl/bin/openssl

e0b42022bb63200f2c1d992a09a3050e.png

10、查看版本:opensslversion -a

dbe8051d21ad4337b4910f9f121fd896.png

二.   升级OpenSSH至最新版本

1、在升级OpenSSH之前,需要为服务器开启telnet功能,防止服务器升级OpenSSH过程中断开连接。具体方法如下所示:

在安装Telnet前先检查系统是否安装了telnet-server和xinetd

rpm -qa telnet-server

rpm -qa xinetd

f37bf6e52c1ddd7c72c66db1c8f5c379.png

发现服务器并没有安装telnet-server和xinetd,安装之前先查找Telnet的安装包

yum list | grep telnet-server

yum list | grep xinetd

6172c2f656d74689736db36d4c472b19.png

执行安装,安装过程没有截图,正常情况执行以下命令后会安装成功,如不确定是否安装成功可以执行上面的命令再确认一下

yum -y install telnet-server.x86_64

yum -y install telnet.x86_64

yum -y install xinetd.x86_64

4a25d2973035f4994387696304044cc4.png

通常情况下,能显示上述图片中信息即表示安装成功。

  • 配置并启动Telnet,xinetd和telnet必须设置开机启动,否则无法启动Telnet服务

systemctl enable xinetd.service

systemctl enable telnet.socket

  • 接下来启动服务

systemctl start telnet.socket

systemctl start xinetd

  • 为了防止因系统防火墙防护功能导致无法正常运行,此处我选择关闭系统防火墙功能。也可以在防火墙中添加规则,此处不再演示该步骤。

查看状态: systemctl status firewalld

关闭: systemctl stop firewalld

开机禁用  :systemctl disable firewalld

  • 在Windows终端使用命令telnet+目标主机IP,连接目标服务器,显示如下信息表示连接成功:

    e4244dcf7c3aaca2593656293d7899a9.png

注:telnet默认不允许使用root登录。

顺便提下:systemd是Linux下的一款系统和服务管理器,兼容SysV和LSB的启动脚本,systemd 相关的绝大多数任务都是通过 systemctl 命令管理的,融合之前service和chkconfig的功能于一体。同时,在centos7.3默认使用的是firewall作为防火墙,并非iptables。

2、安装OpenSSH依赖包:yum install pam pam-devel -y

9f65d47d65c5f4390de5173788551f1f.png

3、备份sshd文件:mv /etc/ssh  /etc/ssh_bak

4、卸载旧的openssh

rpm -qa openssh

rpm -e openssh-6.6.1p1-31.el7.x86_64 --nodeps

5、上传最新版本OpenSSH,解压,编译安装

解压:tar -zxfopenssh-7.9p1.tar.gz

cd openssh-7.9p1/

编译:./configure--prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl--without-zlib-version-check --with-md5-passwords --with-pam

01e36c2de3951acd15f921e99e820d0e.png

安装:make && make install

c2183c0d67fe8028862998cf71df0ff8.png

安装完成后,系统可能默认不允许使用root登录,为方便使用,修改配置文件/etc/ssh/sshd_config:将#PermitRootLogin prohibit-password 复制并修改为PermitRootLoginyes。

13c437768515f41c094772f9d406766c.png

重启服务:systemctl restart sshd.service

设置开机自启: systemctlenable sshd.service

Reboot重启系统,使用ssh -V查看ssh版本信息。

6cc137aa42281c4d47735dca5632c963.png

升级成功。

友情提示:如非必要,操作完成后请及时关闭telnet服务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值