最近服务器测评,第三方发现了很多类似的openssh的漏洞。这些漏洞主要是由于openssh的版本过低导致的,下面就是解决方法:
一、漏洞问题反馈
漏洞编号:00AA3594
描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 5.7版本至8.3版本的客户端中存在安全漏洞。攻击者可利用该漏洞获取信息。
漏洞编号:00BB0001
描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 7.8及之前版本中的auth-gss2.c文件存在安全漏洞。远程攻击者可利用该漏洞检测其指定的用户是否存在。
漏洞编号:0xB2D39620
描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞,该漏洞源于程序在只读模式下没有正确的阻止写入操作。攻击者可利用该漏洞创建长度为零的文件。
漏洞编号:0xb2d3c0ad
描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.7及之前版本中存在安全漏洞,该漏洞源于程序会对有效的和无效的身份验证请求发出不同的响应。攻击者可通过发送特制的请求利用该漏洞枚举用户名称。
二、处理方式
由于所有问题都是openssh版本低所导致漏洞,所以我们对openssh进行了升级处理,处理方式如下:
1、下载升级所需要的版本包http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/
2、解压:tar zxvf openssh-8.4p1.tar.gz
3、进入解压之后文件:cd openssh-8.4p1/
4、卸载现有版本openssh:
rpm -e `rpm -qa |grep openssh`
rpm -e `rpm -qa |grep openssh` --nodeps //忽略依赖进行移除
5、这些操作都基于openssh-8.4p1/这个目录下
yum -y install openssl-devel
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/
make && make install
make install的时候会覆盖/etc/ssh下面的文件,可能会覆盖报错,报错的时候删除下面的文件然后重新make install就行了
cp contrib/redhat/sshd.init /etc/init.d/sshd && chmod 755 /etc/init.d/sshd
修改路径:
vim /etc/init.d/sshd
PID_FILE=/run/sshd.pid
/etc/init.d/sshd stop 停止
/etc/init.d/sshd start 启动
chkconfig --add sshd &&chkconfig sshd on
修改sshd配置文件,并重启:
sed 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' -i /etc/ssh/sshd_config
sed 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' -i /etc/ssh/sshd_config
service sshd restart
ssh -V
Sshd -v