My Oracle Support Banner

Oracle HTTP Server 防止慢速 HTTP 拒绝服务攻击(安装安全补丁更新后) (Doc ID 2359222.1)

Last updated on AUGUST 11, 2020

适用于:

Oracle HTTP Server - 版本 11.1.1.7.0 和更高版本
本文档所含信息适用于所有平台

详细信息

Overview 概述

从2018年1月开始提供此文档是为了与使用重要补丁更新程序发布的补丁提供一致的信息。

 

https://www.oracle.com/technetwork/topics/security/alerts-086861.html

你可以通过上面的链接获得最新的建议,并且查看最新的 Fusion Middleware 补丁可用性文档去找到所需补丁。

安装最新补丁后,还需额外的配置对 OHS 进行安全加固。下面分版本进行概述。

未列出的版本,请查看对应版本的安全建议和错误修复政策。(未提及的版本意味着它们已经太老旧,错误修复期已过,不在提供修复补丁。)

 

 

操作

 

2018年1月的CPU包含对下面的问题的修复:

Slowloris (一种 DDoS 攻击软件) 慢速HTTP攻击: CVE-2018-2561 (注意同时解决了 CVE-2007-6750)

该补丁程序可能会被随后的CPU版本累积替换。而且这个文档预计会在修补程序或readme自述文件中引用。

为了修复该问题,Oracle 建议设置 RequestReadTimeout 指令,mod_reqtimeout 模块提供这一功能特性。该指令可以指定各种接收来自客户端的HTTP Header和 HTTP BODY 的超时。如果客户端没有在指定时间能发送完成HTTP Header和 HTTP BODY 的,408 请求超时错误将被返回给客户端。由此可以防止拒绝服务攻击。按照下面的建议,参照您的 Oracle HTTP 服务器版本:

 

12.1.3.0, 12.2.1.2, 12.2.1.3

设置 RequestReadTimeout 指令步骤:

1. 编辑 httpd.conf 文件, 可用文本编辑器或者 Fusion Middleware Control 的高级服务器配置页面。

2. 在文件的LoadModule部分中,如果mod_reqtimeout尚未配置,请输入下面一行来加载mod_reqtimeout模块:

LoadModule reqtimeout_module "${ORACLE_HOME}/modules/mod_reqtimeout.so"

3. 加入下面的RequestReadTimeout配置

<IfModule reqtimeout_module>

RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

</IfModule>

 

 

Reference:

https://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html

11.1.1.7, 11.1.1.9

设置 RequestReadTimeout 指令步骤:

1. 编辑 httpd.conf 文件, 可用文本编辑器或者 Fusion Middleware Control 的高级服务器配置页面。

2. 在文件的LoadModule部分中,如果mod_reqtimeout尚未配置,请输入下面一行来加载mod_reqtimeout模块:

LoadModule reqtimeout_module "${ORACLE_HOME}/modules/mod_reqtimeout.so"

3. 加入下面的RequestReadTimeout配置

<IfModule reqtimeout_module>

RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

</IfModule>

 

 

Reference:
https://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html

 

需要测试

应该对您的应用程序环境进行测试以确保最佳的保护效果。上面例子配置的超时时间值是一个基准建议,可能需要调整以适应您的流量模式和预期的应用程序处理。上述配置指示OHS执行以下操作来防止这些类型的攻击:

允许至少20秒钟收到 HTTP Header 的请求。如果客户端发送数据,则每接收500个字节,超时时间增加1秒。但总体不能超过40秒,包括HTTP Header 的请求。

允许至少20秒接收请求 HTTP Body。如果客户端发送数据,则每接收500个字节,超时时间增加1秒,超时时间没有上限。

 

联系人

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


文档内容
详细信息
 Overview 概述
操作
 12.1.3.0, 12.2.1.2, 12.2.1.3
 11.1.1.7, 11.1.1.9
 需要测试
联系人
参考

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.