记录一次漏洞修复,openssh安全漏洞(CVE-2017-15906)以及openssh用户枚举漏洞(CVE-2018-15919)内网openssh升级过程。

## 记录一次漏洞修复,openssh安全漏洞(CVE-2017-15906)以及openssh用户枚举漏洞(CVE-2018-15919)内网openssh升级过程。

  • 在工作中偶然发现我的服务器两个漏洞,openssh安全漏洞(CVE-2017-15906)以及openssh用户枚举漏洞(CVE-2018-15919)上网查询资料得知是因为我的centos服务器ssh版本过低,从官网下载最新得openssh后进行升级就可以,升级过程中遇到了不少难题,ssh不能启动、ssl安装失败、不能编译等问题。不过索性最后都解决了,记录下来,方便有需要的同学参考,下面进入正题
  • 在升级前,一定要确保自己得telent服务是开启的并可用。
  • 输入ssh -V,查看ssh版本号
`[centod@localhost ~]$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

拷贝文件夹gcc-c++、openssl-devel、pam-devel到/data目录下

cd /data/
cd gcc-c++/
rpm -ivh * --force --nodeps
cd ../openssl-devel
rpm -ivh * --force --nodeps
cd ../pam-devel
rpm -ivh * --force --nodeps

检测telnet服务是否启动

netstat -natp|grep "23"

没有启动的话先启动telnet服务

vi /etc/xinetd.d/telnet
将其中disable字段的yes改为no以启用telnet服务
mv /etc/securetty /etc/securetty.old         #允许root用户通过telnet登录
service xinetd start                   #启动telnet服务
chkconfig xinetd on                    #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系统

开始升级

卸载原有openssh

yum remove openssh -y

准备编译环境

yum install gcc openssl-devel zlib-devel

下载openssh更新包,可以直接下载上传,如果有外网的话可以使用wget直接下载资源

wget "下载地址"

上传openssh安装包到/mnt并解压进行编译:

tar -zxcf openssh-8.0.tar.gz

进入openssh8.0目录

cd openssh8.0

执行configure

./configure

输入命令进行编译

make && make install

拷贝ssh文件

cp /usr/local/bin/ssh /usr/bin/ssh
cp /usr/local/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
cp /mnt/openssh-8.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp ./contrib/redhat/sshd.init /etc/init.d/sshd

修改配置文件

etc/ssh/sshd_config

将#PermitRootLogin修改为PermitRootLogin yes

修改/usr/libexec/sftp-server为/usr/local/libexec/sftp-server

修改 /etc/init.d/sshd

将SSHD=/usr/sbin/sshd 改为 SSHD=/usr/local/sbin/sshd

将/usr/sbin/ssh-keygen -A 改为 /usr/local/bin/ssh-keygen -A

在 ‘$SSHD $OPTIONS && success || failure’这一行上面加上一行 ‘OPTIONS="-f /etc/ssh/sshd_config"

加入系统服务

chkconfig --add sshd
chkconfig sshd on

检查服务

chkconfig --list |grep sshd
sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off

启动服务

service sshd start

检查ssh版本

[root@oracle ~]# ssh -V
openssh-8.0p1, OpenSSL 1.0.1e-fips 11 Feb 2013

注意:如果升级过程中是通过ssh远程升级得,一旦失败,sshd服务很可能启动失败。建议在本地进行操作。

你可能感兴趣的:(个人)