本文只是仅针对绿盟漏洞扫描结果,在RHEL/CentOS/OEL5.x x64位版本中会存在如下高危漏洞,这里整理解决办法,经过再次漏洞扫描,漏洞已修补。
高危
OpenSSH X11 Cookie本地绕过认证漏洞
OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)
OpenSSH 拒绝服务漏洞
OpenSSH sshd 权限许可和访问控制漏洞(CVE-2015-5600)
OpenSSH sshd Privilege Separation Monitor 未明漏洞
OpenSSH‘hash_buffer’函数缓冲区溢出漏洞(CVE-2014-1692)
OpenSSH GSSAPI 处理远端代码执行漏洞
GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)
GNU Wget符号链接漏洞(CVE-2014-4877)
中危
OpenSSH 权限许可和访问控制漏洞(CVE-2008-4109)
OpenSSH 权限许可和访问控制漏洞(CVE-2014-2532)
OpenSSH 远程拒绝服务漏洞(CVE-2010-5107)
OpenSSH X连接会话劫持漏洞
OpenSSH sshd monitor.c文件权限许可和访问控制漏洞(CVE-2015-6564)
OpenSSH GSSAPI认证终止信息泄露漏洞
OpenSSH 'ChrootDirectory'选项本地特权提升漏洞(CVE-2009-2904)
OpenSSH OPIE安全漏洞(CVE-2007-2768)
OpenSSH glob表达式拒绝服务漏洞(CVE-2010-4755)
OpenSSH S/Key 远程信息泄露漏洞
OpenSSH 拒绝服务漏洞(CVE-2016-1907)
一、RHEL/CentOS/OEL5/6.x x64位版本,操作系统高威漏洞升级openssh到6.6p1, 会消除如下高中危漏洞,低危漏洞可以忽略掉了。
需要升级openssh7.2p2,最新版本,见第二部分。
(1) 采用原源包安装
(2) 采用rpm安装包进行升级安装,这里采用rpm包升级补丁。
查看openssh包
rpm -qa|grep openssh
一个个卸载
rpm -e openssh --nodeps
rpm -e openssh-server --nodeps
rpm -e openssh-clients --nodeps
rpm -e openssh-askpass
或一次性卸载,可以在线打。
rpm -e --nodeps `rpm -qa |grep openssh`
复制如下安装包:
安装包下载地址:http://down.51cto.com/data/2135008
rpm -ivh openssh-6.6.1p1-2.gf.el5.x86_64.rpm openssh-askpass-6.6.1p1-2.gf.el5.x86_64.rpm openssh-clients-6.6.1p1-2.gf.el5.x86_64.rpm openssh-server-6.6.1p1-2.gf.el5.x86_64.rpm libedit-20090923-3.0_1.el5.rf.x86_64.rpm
# ssh -V
OpenSSH_6.6.1p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
重启ssh服务:
# service sshd restart
2. bash漏洞检测
GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)
(1) bash漏洞检测方法和修复更新包
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
如果出现以下结果,就必须立即打上补丁修复。
vulnerable
this is a test
如果出现以下结果,则表明漏洞修复成功
this is a test
(2) 下载rpm包,注网站是有效的,如果不能下载,需要进入目录中找到同名最新安装包下载即可。
CentOS 5
http://mirrors.pubyun.com/centos/5/updates/x86_64/RPMS/bash-3.2-33.el5_11.4.x86_64.rpm
CentOS 6
http://mirrors.pubyun.com/centos/6/updates/x86_64/Packages/bash-4.1.2-15.el6_5.2.x86_64.rpm
Centos 7
http://mirrors.pubyun.com/centos/7.0.1406/updates/x86_64/Packages/bash-4.2.45-5.el7_0.4.x86_64.rpm
# rpm -Uvh bash-3.2-33.el5_11.4.x86_64.rpm
采用升级方式安装即可。
3. GNU Wget符号链接漏洞(CVE-2014-4877)
两个方法,一是直接卸载掉不用,第二个方式就是采用源码安装。
下载wget源码包:
# wget http://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
直接卸载掉
# rpm -e --nodeps wget
# tar zxvf wget-1.17.tar.gz
# ./configure
# make && make install
二、更新到openssh7.2p2
注:openssh补丁当前需要打到openssh7.2p2补丁
openssh升级注意事项:
1), 确认需要安装如下安装包
yum -y install telnet telnet-server openssl openssl-devel zlib zlib-devel pam-devel
1, RHEL5.x 需要升级openssl,否则无法安装openssh,具体方式就是编译方式安装openssl后,再编译安装openssh7.2p2
rpm -ihv openssl-devel-0.9.8e-22.el5.x86_64.rpm krb5-devel-1.6.1-70.el5.x86_64.rpm e2fsprogs-devel-1.39-33.el5.x86_64.rpm keyutils-libs-devel-1.2-1.el5.x86_64.rpm libselinux-devel-1.33.4-5.7.el5.x86_64.rpm libsepol-devel-1.15.2-3.el5.x86_64.rpm zlib-devel-1.2.3-4.el5.x86_64.rpm openssl-devel-0.9.8e-22.el5.i386.rpm pam-devel-0.99.6.2-6.el5_5.2.x86_64.rpm
指定ssl库的位置:
tar zxvf openssh-7.2p2.tar.gz
cd openssh-7.2p2
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man --with-pam
make && make install
2. RHEL6.x 不需要升级openssl的openssh编译安装
编译安装openssh
tar zxvf openssh-7.2p2.tar.gz
cd openssh-7.2p2
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl --with-md5-passwords --mandir=/usr/share/man --with-pam
make && make install
3、启动openssh服务
编译安装好后,可以通过sshd -d 进行验证,如果没有报错就可以重新启用openssh了
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
cp sshd_config /etc/ssh/sshd_config
cp sshd /usr/sbin/sshd
cp ssh-keygen /usr/bin/ssh-keygen
cp sftp-server /usr/libexec/
4. 配置允许root登陆(openssh7.2默认不允许root密码登录)
vim /etc/ssh/sshd_config
添加以下参数:
PermitRootLogin yes
启动sshd服务
service sshd start
转载于:https://blog.51cto.com/koumm/1727828