查看原文
其他

Linux 7.0 SSH 版本升级实施技术方案 | 资料

twt社区 twt企业IT社区 2024-02-18

【摘要】本文通过项目中的实施总结,对Linux 7.0以上OpenSSH、OpenSSL版本升级过程进行整理,以减少小伙伴SSH版本升级失败进行“避坑“。

【作者】陈勇,一名从事IT行业10多年的老兵,熟悉各类UNIX及Linux系统 (AIX / Solaris / HP-UNIX / Tru64 Unix),曾分别获得IBM CATE、HP CSA、SUN SCSA、VMware VCP、HUAWEI HCNP等多项专业认证。


一、前言

在项目实施、运维过程中,经常会通过漏洞扫描工具检查发现Open SSH、Open SSL存在高危漏洞,如OpenSSL“心脏出血”漏洞,利用该漏洞,黑客可以获取约30%的https开头网址的用户登录账号密码,其中包括购物、网银、社交、门户等类型的知名网站等。

以及OpenSSH漏洞,如“OpenSSH远程代码执行漏洞CVE-2016-10009”, sshd服务可以利用转发的agent-socket文件,欺骗本机的ssh-agent来加载一个恶意的PKCS#11模块,从而可以远程执行代码,黑客利用漏洞实现远程命令执行,严重情况下可能会导致数据泄露。

通过项目中进行实施总结,对Linux 7.0以上OpenSSH、OpenSSL版本升级过程进行整理,以减少小伙伴SSH版本升级失败进行“避坑”。




二、实施准备

1.升级规划

由于主机运行业务系统的重要性,升级前检查主机Linux操作系统版本,搭建测试环境进行验证,不可盲目操作,以防导致业务系统不可访问。同时在升级时,要考虑回退方案,开启Telnet服务,确保主机可管理。

2.环境检查

检查Linux版本信息

检查Telnet服务是否安装,如没有安装,需准备操作系统ISO介质文件进行安装。

3.介质准备

Open SSH官方网站安装包下载:

登录http://www.openssh.com/portable.html,下载最新版open ssh安装包。

Open SSL官方网站安装包下载:

本文以openssh-7.9p1、openssl-1.0.2n版本升级为例进行介绍。

ssh 登录主机,拷贝Linux 7.0 ISO、openssh-7.9p1.tar.gz、openssl-1.0.2n.tar.gz安装介质到需要安装的机器。

cd /tmp

4.搭建本地yum源

1)、mount ISO镜像文件

mkdir /mac

mount -o loop /tmp/rhel-server-7.0-x86_64-dvd.iso /mac

2)、配置yum文件

cd /etc/yum.repos.d/

vi base.repo

内容如下:

[base]
name=local yum
baseurl=file:///mac
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3)、检查yum 配置是否正确

yum list

5.安装telnet服务

安装Telnet服务,防止ssh更新时网络断开无法连接:

1)、 安装telnet-server  

yum -y install telnet-server.x86_64

2)、 安装xinetd

yum install xinetd.x86_64

3)、关闭防火墙

systemctl status firewalld.service

systemctl stop firewalld.service

systemctl disable telnet.socket

4)、启动服务

systemctl start telnet.socket   /启动telnet服务

systemctl status telnet.socket   /查看服务状态

#ss  -tnlp | grep 23 /查看侦听端口

5)、安装完成后,将xinetd服务加入开机自启动: 

systemctl enable xinetd.service 

将telnet服务加入开机自启动: 

systemctl enable telnet.socket

6)、Telnet 远程登录测试


三、实施步骤

1、部署配置Open SSL安装包

1)安装openssl 依赖包

yum install perl gcc

2)解压openssl包

cd /tmp

tar -zxvf openssl-1.0.2n.tar.gz

3)安装openssl

cd openssl-1.0.2n

./config shared

make

make install



4)配置SSL

mv -f /usr/bin/openssl /usr/bin/openssl.OFF

mv -f /usr/include/openssl /usr/include/openssl.OFF


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

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


echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

/sbin/ldconfig -v

/sbin/ldconfig

openssl version -a >>/tmp/ssh.log

5)验证ssl 最新版本OpenSSL 1.0.2n

openssl

version

2、部署配置Open SSH安装包

1)解压介质,安装依赖包

cd /tmp

tar -zxvf openssh-7.9p1.tar.gz

yum install -y pam* zlib*



2)配置openssh

cd openssh-7.9p1

./configure -prefix=/usr -sysconfdir=/etc/ssh -with-ssl-dir=/usr/local/ssl -with-md5-passwords -mandir=/usr/share/man -with-pam=enable

3)删除原ssh信息

rm -rf /etc/ssh/*

4)编译文件

make

make install


5)SSH参数配置

ssh -V >>/tmp/ssh.log

rm -rf /etc/init.d/sshd

cp -p /tmp/openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

cp -p /tmp/openssh-7.9p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

chmod +x /etc/init.d/sshd

chkconfig --add sshd

systemctl enable sshd.service


echo 'X11Forwarding yes' >> /etc/ssh/sshd_config 

sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config

sed -i "s/#UsePAM no/UsePAM yes/g" /etc/ssh/sshd_config

service sshd restart


sed -ie '/ulimit -n 20480/d' /etc/profile

sed -ie '/ulimit -n 20480/d' /etc/rc.local

sed -ie '/service sshd restart/d' /etc/rc.local

6)重新登录,确认升级后版本, 升级完成,也可以重启机器测试。


如有任何问题,可点击文末阅读原文,到社区原文下评论交流

觉得本文有用,请转发或点击“在看”,让更多同行看到


 资料/文章推荐:

  • Linux系统巡检报告

    http://www.talkwithtrend.com/Document/detail/tid/152241

  • Linux最强秘籍

    http://www.talkwithtrend.com/Document/detail/tid/152235


欢迎点击阅读原文关注社区  “系统运维”技术主题 ,将会不断更新优质资料、文章,您也可以前往提出疑难问题,与同行切磋交流。地址:http://www.talkwithtrend.com/Topic/199


下载 twt 社区客户端 APP

与更多同行在一起

高手随时解答你的疑难问题

轻松订阅各领域技术主题

浏览下载最新文章资料


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

继续滑动看下一个

Linux 7.0 SSH 版本升级实施技术方案 | 资料

twt社区 twt企业IT社区
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存