BLSA-2016:0045 – [重要]httpd安全警告及修复方法


  • 售后一二线

    BLSA-2016:0045 – [重要]httpd安全警告及修复方法


    问题描述

    最近httpd暴露出一个安全漏洞,该漏洞主要存在于apache等组件中,会修改HTTP头部Proxy字段,危害系统安全。为了增加安全强度,建议所有使用受影响产品的用户都安装BCLinux提供的的更新补丁。

           一、Httpd简介
           httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。通常,httpd不应该被直接调用,而应该在类Unix系统中由 apachectl 调用。httpd软件包提供了一款功能强大的,高效的,可扩展的Apache HTTP服务器。

           二、代理服务器
           代理服务器介绍:
           代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
           代理服务器类型:
           1. 正向代理服务器(ForwardProxyServer):通常用来支持大量的客户端主机通过单一的服务器联入互联网,这种代理服务器通过隔离内部网络和互联网以保护内部网络的客户端主机,通过高速缓存以提高访问网络速度。
           2. 反向代理服务器(ReverseProxyServer):它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器来降低实际的WEB服务器的负载,提高对WEB页面的访问速度。
           代理服务器功能:
           1.突破自身IP访问限制,访问国外站点。
           2.访问一些单位或团体内部资源。
           3.突破中国电信的IP封锁,在不能访问时可以尝试国 外的代理服务器。
           4.将数据保存到缓冲区中,提高访问速度。
           5.隐藏真实IP,免受攻击。

           三、HTTP头部Proxy字段作用
           HTTP_PROXY:Linux下HTTP代理环境变量,Linux下很多程序会根据环境变量中该值的设置情况,向代理服务器发起HTTP请求。

    影响版本

    • BigCloud Enterprise Linux 7
    • Red Hat Enterprise Linux 7
    • CentOS Linux 7

    详细介绍

    • CVE-2016-5387
      该漏洞主要存在于apache等组件中会对HTTP头部的Proxy字段名变换为“HTTPPROXY”,Value值不变,进而会传递给对应的CGI来执行。如果CGI或者脚本中使用对外请求的组件依赖的是“HTTPPROXY”这个环境变量,那就可能被污染。比较严重的情况是在CGI内部请求的连接是一个涉及到内部隐私的链接,那就有可能产生比较严重后果。此次更新之后,Httpd服务将会过滤HTTP头部Proxy字段。

    • BZ#1347648
      在高速缓存代理服务器配置中,当刷新缓存时,mod_cache模块将会处理一些过期的数据,因此,源服务器不给数据添加有效时间期限,将不被当做可缓存的数据。修复此bug,mod_cache模块将不过滤此类数据,使之可以被缓存,提升了性能的同时减少了服务器的负载。

    • BZ#1353269
      HTTP状态代码451是不可用的服务器配置码。因此,例如mod_rewrite模块不能被配置为返回错误状态码451。修复此bug,已将 451状态码添加到可用的错误码的列表中,现在可以配置返回一个451的错误码。

    解决方案

    目前,BCLinux的官方源已经可以提供更新的httpd软件包,BCLinux 7用户需要升级到2.4.6-40.el7.centos.4.x86_64版本。

    1.检查YUM源设置,确保使用的是 BCLinux 官方 YUM 源

    [root@BCLinux ~]# ll /etc/yum.repos.d/
    total 24  
    -rw-r--r-- 1 root root 1038 Mar 10 04:46 BCLinux-Base.repo  
    -rw-r--r-- 1 root root 1053 Oct 19 21:18 BCLinux-Source.repo  
    -rw-r--r-- 1 root root 1184 Oct 19 21:18 BigCloud.repo 
    

    2.安装更新

    [root@BCLinux ~]# yum update httpd 
    Loaded plugins: fastestmirror 
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.1 will be updated
    ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be an update
    --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64
    --> Running transaction check
    ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.1 will be updated
    ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================
     Package                Arch              Version                             Repository          Size
    =======================================================================================================
    Updating:
     httpd                  x86_64            2.4.6-40.el7.centos.4               updates            2.7 M
    Updating for dependencies:
     httpd-tools            x86_64            2.4.6-40.el7.centos.4               updates             83 k
    
    Transaction Summary
    =======================================================================================================
    Upgrade  1 Package (+1 Dependent package)
    
    Total download size: 2.8 M
    

    3.复查

    [root@BCLinux ~]# rpm -qa | grep httpd
    httpd-tools-2.4.6-40.el7.centos.4.x86_64  
    httpd-2.4.6-40.el7.centos.4.x86_64
    

    4.重启服务

    安装升级包以后,需要重新启动 httpd 服务。

    外部链接:

    1. BCLinux 安全更新