• CVE-2017-3167

  • CVE-2017-3169

  • CVE-2017-7659

  • CVE-2017-7668

  • CVE-2017-7679

2017年9月18日,Apache被爆存在高安全风险漏洞,漏洞CVE编号:CVE-2017-9798,该漏洞发现于Apache
HTTP 软件
2.2.34/2.4.27版本,该漏洞Limit指令的函数ap_limit_section所触发,如果网站管理员尝试使用无效的
HTTP 方法进行 “Limit”
指令HTTP请求时,会导致内存信息泄露,目前该漏洞证明已经公开,存在安全风险。

一、系统环境

漏洞名称:

具体详情如下:

系统版本:Aliyun Linux release 5.7

Apache httpd 多个安全漏洞

漏洞编号:

内核版本:2.6.18-274.el5

官方评级:

CVE-2017-9798.

apr版本:apr-1.4.8

高危

漏洞名称:

apr-util版本:apr-util-1.5.2

漏洞描述:

“Optionsbleed”-Apache HTTP OPTIONS方法内存泄露漏洞

pcre版本:pcre-8.33

  • CVE-2017-3167

官方评级:

Apache版本:Apache/2.4.6 (Unix)

第三方模块在身份验证阶段使用ap_get_basic_auth_pw(),会导致绕过身份验证要求。

中危

二、Apache简介

  • CVE-2017-3169

漏洞描述:

    Apache
作为历史最悠久的web服务器,一直是web应用系统的首选,是世界上被广泛应用的web
服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的web服务器端软件之一,也是流行架构LAMP的重要组成部分。

第三方模块在HTTP请求HTTPS端口时,若调用ap_hook_process_connection(),则mod_ssl会间接引用空指针。

在Apache HTTP 软件
2.2.34/2.4.27版本中,”Limit”指令的函数ap_limit_section造成该漏洞,在无效的HTTP
方法请求时会导致内存数据泄露风险。

三、Apache特点
•支持最新的HTTP/1.1通信协议。Apache是最先使用HTTP/1.1协议的Web服务器之一,它完全兼容HTTP/1.1协议并与HTTP/1.0协议向后兼容。Apache已为新协议所提供的全部内容做好了必要的准备。
•支持多计算机平台。Apache几乎可以在所有的计算机操作系统上运行,包括主流的UNIX、Linux及Windows操作系统。
•配置文件简单,易操作。用户可以通过直接修改Apache的配置文件信息来修改Apache,操作起来十分方便。
•支持实时监视服务器状态和定制服务器日志。Apache在记录日志和监视服务器自身运行状态方面提供了很大的灵活性,可以通过Web浏览器来监视服务器的状态,也可以根据自己的需要来定制日志。
•支持多种方式的HTTP认证。
•支持Web目录修改。用户可以使用特定的目录作为Web目录。
•支持CGI脚本,如Perl、PHP等。
•支持服务器端包含指令(SSI)。
•支持安全Socket层(SSL)。
•支持FastCGI。
•支持虚拟主机。即通过在一台服务器上使用不同的主机名来提供多个HTTP服务。Apache支持基于IP、主机名和端口号三种类型的虚拟主机服务。
•跟踪用户会话。当用户浏览基于Apache的Web站点时,可以通过Apache的mod_usertrack模块对其进行跟踪。
•支持动态共享对象。Apache的模块可在运行时动态加载,这就意味着这些模块可以被装入服务器进程空间,从而减少系统的内存开销。
•支持多进程。当负载增加时,服务器会快速生成子进程来处理,从而提高系统的响应能力。
•支持第三方软件开发商提供的功能模块。比如Apache加载mod_jserv模块后可以支持Java
Servlet,这样就可以运行Java应用程序了。
•支持多线程和多进程混合模型的MPM。
当MPM类型指定为worker时,由于是使用线程来处理,所以可以处理海量的请求,而系统资源的开销要小于基于进程的服务器。

  • CVE-2017-7659

漏洞利用条件和方式:

四、Apache2.4新特性

处理构造的HTTP/2请求时,会造成mod_http2间接引用空指针,或造成服务器进程崩溃。

远程利用

1、MPM支持在运行时装载

  • CVE-2017-7668

漏洞影响范围:

–enable-mpms-shared=all –with-mpm=event 启用默认的event

在令牌列表解析中存在bug,可使ap_find_token()搜索输入字符串之外的内容,通过构造的请求头序列,攻击者可造成段故障,或强制ap_find_token()返回错误值。

Apache httpd 2.2.34/2.4.27之前版本

2、支持event

  • CVE-2017-7679

漏洞检测:

3、异步读写

恶意攻击者发送恶意Content-Type响应头时,mod_mime会造成缓冲区越界读。

开发人员检查是否使用受影响范围内的Apache版本

4、在每模块及每目录上指定日志级别

漏洞利用条件和方式:

漏洞修复建议(或缓解措施):

5、每请求配置:<If> <Elseif>

远程利用

各Linux系统发行版本厂商陆续发布新的版本,建议升级到最新版本

6、增强版的表达式分析器

漏洞影响范围:

情报来源:

7、毫秒级的keepalive timeout

  • CVE-2017-3167, CVE-2017-3169, CVE-2017-7679:Apache HTTP Web Server
    2.2.0 到2.2.32版本

  • CVE-2017-7668:Apache HTTP Web Server 2.2.32版本

  • CVE-2017-3167, CVE-2017-3169, CVE-2017-7679:Apache HTTP Web Server
    2.4.0到2.4.25版本

  • CVE-2017-7659, CVE-2017-7668:Apache HTTP Web Server 2.4.25版本

8、支持主机名的虚拟主机不在需要NameVirtualHost指令

漏洞检测:

Debian:https://security-tracker.debian.org/tracker/CVE-2017-9798

9、支持使用自定义变量

自查Apache http版本是否在受影响范围内

Ubuntu:https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-9798.html

10、新增一些模块:mod_proxy_fcgi,mod_ratelimit,mod_request,mod_remoteip

       apachectl -v   
        或者    
        httpd -v   

原文链接

11、对于基于IP的访问做了修改,不在使用order,allow,deny这些机制;而是统一使用require进行

漏洞修复建议(或缓解措施):

五、安装前准备

  • Apache httpd 2.4版本用户升级到2.4.26

  • Apache httpd httpd 2.2版本用户升级到2.2.33-dev

1、安装Apache可移植运行库(apr:Apache portable runtime)

(文/开源中国)    

# tar -zxvf apr-1.4.8.tar.gz

# cd apr-1.4.8

# ./configure –prefix=/usr/local/apr

# make && make install

2、安装Apache可移植运行库工具包

# tar -zxvf apr-util-1.5.2.tar.gz

# cd apr-util-1.5.2

# ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/

# make && make install

3、安装PCRE(Perl Compatible Regular Expressions)Perl库文件

# tar -zxvf pcre-8.33.tar.gz

# cd pcre-8.33

# ./configure –prefix=/usr/local/pcre

# make && make install

六、安装Apache服务器

# tar -zxvf httpd-2.4.6.tar.gz

# cd httpd-2.4.6

# ./configure –prefix=/usr/local/apache –enable-rewrite –enable-so
–with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util
–with-pcre=/usr/local/pcre/ –enable-ssl –enable-deflate
–enable-expires –with-mpm=event

# make && make install

参数简单说明:

–prefix=/usr/local/apache:apache安装路径

–enable-rewrite:支持网站地址重写

–enable-so:支持动态加载模块

–with-apr=/usr/local/apr:apache可移植库的路径

–enable-ssl:支持ssl加密

–enable-deflate:支持传输前进行压缩

–enable-expires:支持设置页面缓存时间

–with-mpm=prefork:指定Apache的运行模式(本人的默认是event)

–enable-modeles=most(常用的模块)

注:
•如果源码安装与rpm包安装方式共存需要进行的配置:

  1、导出头文件

  # ln -sv /usr/local/apache/include /usr/include/httpd

  2、导出库文件

      # ldconfig

      # ldconfig -p

  3、导出man手册

      # vim /etc/man.config加入

      MANPATH /usr/local/apache/man

      新版httpd的man帮助文件

      # man -M /usr/local/apache/man httpd

  4、输出二进制程序

      # vim /etc/profile.d/httpd.sh加入

      export PATH=/usr/local/apache/bin:$PATH

      . /etc/profile

      启动httpd服务:apachectl start
•event MPM对于老的CPU可能是不支持的
•本人编译的只添加了这些模块,如果有需要可以在编译过程中进行添加,或者重新编译
•编译前通过修改源码文件隐藏Apache服务器名称及版本号,然后再通过httpd-default.conf配置文件即可将版本信息隐藏

    # vim include/ap_release.h

    服务器供应商名称Apache软件基金会

    #define AP_SERVER_BASEVENDOR “Apache Software Foundation”

    服务的项目名称

    #define AP_SERVER_BASEPROJECT “Apache HTTP Server”

    服务的产品名称

    #define AP_SERVER_BASEPRODUCT “Apache”

    #define AP_SERVER_MAJORVERSION_NUMBER 2 主版本号

    #define AP_SERVER_MINORVERSION_NUMBER 4 次版本号

    #define AP_SERVER_PATCHLEVEL_NUMBER  6 修正号

下面关于LAMP相关的内容你可能也喜欢

LAMP平台安装Xcache和Memcached加速网站运行 
http://www.linuxidc.com/Linux/2015-06/118835.htm

CentOS
7下搭建LAMP平台环境 
http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
http://www.linuxidc.com/Linux/2014-12/111030.htm

CentOS 7.2 yum安装LAMP环境 
http://www.linuxidc.com/Linux/2016-11/136766.htm

Ubuntu 14.04 配置
LAMP+phpMyAdmin PHP(5.5.9)开发环境 
http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解 
http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP结合NFS构建小型博客站点 
http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7下安装部署LAMP环境 
http://www.linuxidc.com/Linux/2016-04/130653.htm

Ubuntu Server 14.04 LTS下搭建LAMP环境图文详解 
http://www.linuxidc.com/Linux/2016-12/138758.htm

Ubuntu Server 16.04下配置LAMP环境
http://www.linuxidc.com/Linux/2016-12/138757.htm

Ubuntu 16.04搭建LAMP开发环境
http://www.linuxidc.com/Linux/2016-10/136327.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/140006.htm

图片 1