Apache;PHP;漏洞Slow HTTP Denial of Service Attack怎么处理;下面是 httpd.conf 文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache;PHP;漏洞Slow HTTP Denial of Service Attack怎么处理;下面是 httpd.conf 文件相关的知识,希望对你有一定的参考价值。

Define APPROOT "D:/WWW"
Define SRVROOT "$APPROOT/httpd"
ServerRoot "$SRVROOT"

Listen 80

LoadModule status_module modules/mod_status.so
LoadModule php5_module "$APPROOT/php/php5apache2_4.dll"
PHPIniDir "$APPROOT/php"
SetEnv TMP "$APPROOT/tmp"
<IfModule reqtimeout_module>
RequestReadTimeout header=20-40,minrate=500
RequestReadTimeout body=10,minrate=500
</IfModule>
<IfModule unixd_module>

User daemon
Group daemon

</IfModule>

ServerAdmin admin@SERVER1

ServerName SERVER1

<Directory />
AllowOverride none
Require all denied
</Directory>

DocumentRoot "$APPROOT/www"
<Directory "$APPROOT/www">
Options FollowSymLinks

AllowOverride All
Require all granted
</Directory>

<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>

<Files ".ht*">
Require all denied
</Files>

ErrorLog "logs/error.log"

LogLevel warn

<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%Refereri\" \"%User-Agenti\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%Refereri\" \"%User-Agenti\" %I %O" combinedio
</IfModule>

CustomLog "logs/access.log" common

</IfModule>

<IfModule alias_module>

ScriptAlias /cgi-bin/ "$SRVROOT/cgi-bin/"

</IfModule>

<IfModule cgid_module>
</IfModule>

<Directory "$SRVROOT/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>

<IfModule mime_module>

TypesConfig conf/mime.types

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php
Include conf/extra/httpd-mpm.conf

Include conf/extra/httpd-autoindex.conf

Include conf/extra/httpd-info.conf

<IfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
</IfModule>

<IfModule ssl_module>

Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule http2_module>
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
</IfModule>

denial-of-service attack
拒绝服务攻击;阻断服务攻击;停止服务攻击

例句筛选
1.
Denial of service attack against the provider's host.
对供应商主机的拒绝式服务攻击。

2.
Because quotas must be disabled, storage resources are more vulnerable to adenial of service attack.
因为必须禁用配额,所以存储资源更易受到拒绝服务攻击。
参考技术A 6666666666666666666

Slow HTTP Denial of Service Attack

一、漏洞描述

利用HTTP POST请求时,指定一个非常大的content-length,然后以很低的速度发包,比如10-100s发一个字节并保持这个连接不断开。当客户端连接数达到一定程度,占用服务器的所有可用连接,从而导致DOS

 

二、漏洞利用

渗透工具:slowhttptest

下载地址:https://github.com/shekyan/slowhttptest.git

安装过程:

切换到slowhttptest解压目录,执行以下操作

./configure

make

make install

注意事项:安装此工具要先安装开发工具包

可以参考https://www.cnblogs.com/573583868wuy/p/6799311.html

安装完成后使用以下命令开始攻击

slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://mysite -x 10 -p 3

当再次访问网站时,看到加载缓慢或者一直在加载就说明攻击成功。

 

工具用法:

-a开始值范围说明符用于范围头测试

-b 将字节限制的范围说明符用于范围头测试

- c的连接数限制为65539

- d proxy host:port用于指导所有流量通过web代理

- e proxy host:port端口用于指导只有探针交通通过web代理

- h,B,Rx指定减缓在头部分或在消息体,- R 允许范围检验,使慢读测试- x

- g生成统计数据在CSVHTML格式,模式是缓慢的xxxcsv / html,其中xxx是时间和日期

- i seconds秒间隔跟踪数据在几秒钟内,每个连接

- k管道因子次数重复请求在同一连接慢读测试如果服务器支持HTTP管道内衬。

- l在几秒钟内,秒测试时间

- n秒间隔从接收缓冲区读取操作

- o文件定义输出文件路径和/或名称,如果指定有效- g

- p秒超时等待HTTP响应在探头连接后,服务器被认为是不可访问的

- r seconds连接速度

- s字节值的内容长度标题详细说明,如果指定- b

- t verb自定义

- u URL目标URL,相同的格式键入浏览器,eg https://host[:port]/

- v level冗长等级0 - 4的日志

- w字节范围广告的窗口大小会选择从

- x字节最大长度的跟踪数据结束

- y字节范围广告的窗口大小会选择从

- z字节从接收缓冲区读取字节与单一的read()操作

 

 

三、解决方法

方法一:对web服务器的http头部传输的最大许可时间进行限制,修改成最大许可时间为20

 

tomcat为例,打开server.xml找到

  <Connector port="8080" protocol="HTTP/1.1"

  connectionTimeout="20000"

  redirectPort="8443" />

  将其中的connectionTimeout="20000"改为connectionTimeout="8000",其单位是毫秒。

 

 

方法二:由于Apache易受此攻击,因此我们应该采取一些预防措施。我们需要安装 名为mod_antilorisApache模块。该模块根据每个IP限制处于读状态的线程数,并保护 Apache不受Slowloris攻击。安装指令如下:

 

安装httpd-devel

yum install -y httpd-devel

安装编译模块gcc

yum install gcc -y

切换到一下目录

cd /usr/local/src/

从网上下载mod_antilorisApache模块

wget sourceforge.net/projects/mod-antiloris/files/mod_antiloris-0.4.tar.bz2

解压

tar -xf mod_antiloris-0.4.tar.bz2

调用apxs编译安装mod_antiloris.c文件

apxs -a -i -c mod_antiloris.c 

重启httpd服务

service httpd restart

检验antiloris进程是否启用

httpd -M |grep antiloris

完成

以上是关于Apache;PHP;漏洞Slow HTTP Denial of Service Attack怎么处理;下面是 httpd.conf 文件的主要内容,如果未能解决你的问题,请参考以下文章

Apache解析漏洞

Apache文件解析漏洞复现,CVE-2017-15715复现,Apache多后缀解析漏洞复现

Slow HTTP Denial of Service Attack

漏洞复现Apache HTTPD 换行解析漏洞(CVE-2017-15715)

漏洞复现Apache HTTPD 换行解析漏洞(CVE-2017-15715)

定位apache慢请求神器—mod_log_slow