前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenSSH升级指南

OpenSSH升级指南

作者头像
绿盟科技安全情报
发布2019-10-24 11:38:21
4.5K0
发布2019-10-24 11:38:21
举报

1

OpenSSH简介

OpenSSH 是SSH(Secure Shell)协议免费开源的实现。SSH协议族可用来远程控制主机或在计算机间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、ftp、Rlogin都是极为不安全的,它们使用明文传输数据,甚至是使用明文传送密码,攻击者可通过嗅探等中间人攻击的方式获取传输的数据。为了保证通信安全,在1999年10月OpenSSH第一次在OpenBSD2.6里出现,它提供了服务端后台程序和客户端工具,结合OpenSSL协议实现端到端的加密传输,保证通信信道的安全,并由此来代替原来的服务。

OpenSSH使用SSH协议透过计算机网络加密通讯的实现。它是一种开放源代码的方案用以取代由SSH Communications Security所提供的商用版本。目前OpenBSD的子计划便是OpenSSH。

OpenSSH常被误认为与OpenSSL有关联,但实际上这两个计划各有不同的目的和不同的发展团队,名称相近只是由于两者有着同样的软件发展目标──提供开放源代码的加密通讯软件。

在OpenSSH服务里,sshd是一个典型的独立守护进程服务(standalone daemon),但也可以根据需求通过网络来守护进程(Internet Daemon)-inetd或Ineternet Daemon's more modern-xinted加载。OpenSSH服务可以通过/etc/ssh/sshd_config配置文件对远程主机的访问策略进行配置,如PermitRootLogin限制root用户远程访问等。

SEE MORE →

2升级准备

2.1 升级方式

考虑到OpenSSH升级采用远程连接方式升级,因需要对ssh卸载和安装,为保证升级正常,将采telnet 连接来进行升级操作,依次进行OpenSSH原配置文件备份、旧版本OpenSSH删除、安装新版本OpenSSH。

2.2 升级所需要的安装包

telnet服务所需的安装包:

telnet-server-0.17-39.el5.x86_64.rpm OpenSSH

升级所需安装包:

openssh-7.4p1.tar.gz

zlib-1.2.8.tar.gz

openssl-1.0.1h.tar.gz

2.3 安装包链接地址

http://www.zlib.net/

http://www.openssl.org/

http://www.openssh.org/

2.4 升级流程

1、上传安装包到服务器上

2、 安装telnet服务,并使其运行正常;

3、 备份OpenSSH配置文件

4、 卸载OpenSSH 旧版本

5、 安装OpenSSH 新版本,并测试正常

6、 卸载telnet服务,删除安装包及备份文件

3升级过程

3.1 上传安装包至服务器

将zlib 、OpenSSH 、OpenSSL依赖包从本地上传至服务器,用于安装。

telnet包用于远程连接。

3.2 安装telnet并测试

rpm -qa | grep telnet 查看是否已经安装了telnet

rpm -qa | grep xinetd 查看是否已经安装了xinetd服务,因为telnet是挂在xinetd下的

如果两者都没安装,执行以下命令安装:

yum install xinetd telnet telnet-server –y

chkconfig telnet on 设置开机启动,避免升级过程中服务器意外重启后无法远程登录系统

vi /etc/xinetd.d/telnet 修改配置文件将”disable= yes”改成” disable=no”

service xinetd restart 重启xinetd服务

iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令

当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:

iptables -I INPUT -p tcp --dport 23 -jACCEPT

iptables -I INPUT -p udp --dport 23 -jACCEPT

service iptables save //保存

service iptables restart //重启防火墙

测试登录 telnet ip port (使用非root账户)

3.3 重要文件备份

防止升级失败导致文件丢失,请将重要文件和ssh配置文件备份

ssh配置文件备份:

sudo cp -r /etc/ssh/ /etc/ssh_bak

sudo cp /etc/init.d/sshd /etc/init.d/sshd_bak

sudo cp /usr/sbin/sshd /usr/sbin/sshd_bak

3.4 卸载旧版本SSH

1.确认OpenSSH需要删除的rpm包

rpm -qa |grep ssh

2.使用rpm的方式删除

rpm -e openssh openssh-clients openssh-server openssh-askpass –nodeps

3.5 安装ssh新版本

3.5.1 安装zlib

1.解压

sudo tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

2.配置

./configure

3.编译安装

make

make install

3.5.2 安装openssl

1.解压

tar –xf openssl-1.0.1h.tar.gz

cd openssl-1.0.1h

2.配置

./config

3.编译安装

make

make install

4.设置软连接

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

5.查看新安装的openssl版本

openssl version –a

3.5.3 安装openssh

1.解压

tar –xf openssh-7.4p1.tar.gz

cd openssh-7.4p1

2.配置

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening

3.编译安装

make

make install

4.修改配置文件

(1)备份sshd文件

mv /etc/init.d/sshd /etc/init.d/sshd_old

(2)复制配置文件

cp sshd.init /etc/init.d/sshd

赋权

chmod u+x /etc/init.d/sshd

添加到开机启动项

chkconfig --add sshd

chkconfig sshd on

重启服务

service sshd restart

3.5.4 确认升级后的SSH版本可用时,停止telnet服务

1.确认版本

ssh –V 确认升级后的版本信息

2.修改配置文件

将vi /etc/xinetd.d/telnet文件中的disable = no修改为disable = yes

3.设置telnet开机不启动

chkconfig xinetd off

4.关闭telnet服务

/etc/init.d/xinetd stop

5.开启防火墙并设置开机自动启动

service iptables start

chkconfig iptables on

END

作者:绿盟科技安全服务部

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 绿盟科技CERT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档