一、关于openssh相关漏洞治理方法,笔者只涉及如下项
1.用户枚举漏洞(CVE-2018-15919)
2.安全漏洞(CVE-2017-15906)
二、治理方法
1.用户枚举漏洞(CVE-2018-15919)
OpenSSH(OpenBSD Secure Shell)是一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现。
OpenSSH7.8及之前版本,auth-gss2.c文件存在安全漏洞。远程攻击者可利用该漏洞检测其指定的用户是否存在。
vim /etc/ssh/sshd_config #修改配置sshd配置文件
将GSSAPIAuthentication yes修改为GSSAPIAuthentication no。
systemctl restart sshd
2.安全漏洞(CVE-2017-15906)
OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞,该漏洞源于程序在只读模式下没有正确的阻止写入操作。攻击者可利用该漏洞创建长度为零的文件。 |
1.将openssh7.6p1升级到OpenSSH_8.4p1
2.上传8.4p1的rpm包,目前官方只支持源码编译,此包经过转换到rpm便于安装。
3.tar zxf openssh-8.4p1_rpm_package.tar #解压tar包
-rw-r--r--. 1 root root 606860 May 18 05:17 openssh-8.4p1-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 561208 May 18 05:17 openssh-clients-8.4p1-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 2927204 May 18 05:17 openssh-debuginfo-8.4p1-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 423416 May 18 05:17 openssh-server-8.4p1-1.el7.x86_64.rpm
4.对现有的sshd配置信息进行备份
cp /etc/sshd/sshd_config /root/bak/sshd_configbak
cp /etc/pam.d/sshd /root/bak/sshdpambak
5.升级openssh
rpm -Uvh openssh-*.rpm
6.还原sshd配置信息
cp /root/bak/sshd_configbak /etc/sshd/sshd_config
cp /root/bak/sshdpambak /etc/pam.d/sshd
7.重启sshd服务
systemctl restart sshd
8.验证openssh版本
ssh -V
OpenSSH_8.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
9.openssh升级成功
三、其他附带的一些小问题,如果遇到可以参考如下修复。
1.升级完openssh版本后 通过xshell连接报错 提示“服务器发送了一个意外的数据包。Received:3,expected:20”
修复方法:
1.编辑sshd服务配置文件,在最后一行添加如下
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
2.重启sshd服务
systemctl restart sshd
3.重新连接 问题解决