修改httpd.conf文件(一般位于/usr/local/apache2/conf/httpd.conf,具体视安装Apache时的配置而定),相关配置参考Apache官方关于该漏洞的修复建议,(绿盟也有对官方建议的中文翻译 ,不过翻译并不准确,不建议参考),这里使用官方建议的修复方式2

Step1. 引入mod_rewrite和mod_headers模块,这里去掉两个模块的默认的注释即可

安装靶机pentester的步骤 靶机加固_系统安全

Step2. 在正文部分引入如下配置(配置说明:Range:标头中超过5个范围时即拒绝请求,并且总是丢弃Request-Range,因为是旧版的)

<IfModule rewrite_module>

Step3: 重启Apache httpd

修复目录遍历漏洞

通过修改conf目录下的httpd.conf文件来禁止使用目录索引。(参考自知乎专栏《目录遍历漏洞》 )

Step1: 打开httpd.conf文件(一般位于/usr/local/apache2/conf/httpd.conf,具体视安装Apache时的配置而定)

Step2: 将Options Indexes FollowSymLinks中的Indexes删除更改为Options FollowSymLinks,这样web目录下的所有目录都不再生成索引。

Step3: 重启Apache httpd

修复HTTP慢连接拒绝服务攻击漏洞

建议使用mod_reqtimeout和mod_qos两个模块相互配合来防护。这部分通过修改httpd.conf完成(一般位于/usr/local/apache2/conf/httpd.conf,具体视安装Apache时的配置而定)。参考自《缓慢的http拒绝服务攻击》

Step1: mod_reqtimeout用于控制每个连接上请求发送的速率。配置如下:

Step1.1 首先去掉引入默认注释的mod_reqtimeout

安装靶机pentester的步骤 靶机加固_系统安全_02

Step1.2 在代码正文开始或者结束部分加入如下代码。(代码说明:请求头部分,设置超时时间初始为20秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slowloris型的慢速攻击。请求正文部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slow message body型的慢速攻击。需注意,对于HTTPS站点,需要把初始超时时间上调,比如调整到20秒。)

安装靶机pentester的步骤 靶机加固_网络安全_03

Step2: mod_qos用于控制并发连接数。配置如下:

Step2.1 首先检查modules目录下,是否有mod_qos.so文件,如果有,则去掉httpd.conf中对LoadModule qos_module modules/mod_qos.so行的注释,引入该模块,并且跳过Step2.2进入Step2.3。

Step2.2 如果modules目录下没有mod_qos.so文件,则需要手动引入,指令如下(Linux环境下),参考《Apache mod_qos模块安装与配置》 。

# 1.下载qos模块(该指令中模块版本为文档撰写时的最新版本,实际操作可以稍作修改)

wget http://jaist.dl.sourceforge.net/project/mod-qos/mod_qos-11.45.tar.gz

# 2.解压

tar -zxvf mod_qos-11.45.tar.gz

# 3.安装

cd mod_qos-11.45

cd apache2/

/usr/local/apache2/bin/apxs -i -c mod_qos.c #编译指令,将.c文件编译成.so文件,具体文件路径请按照系统实际路径修改

# 4.检查/usr/local/apache2/modules目录下面是否多了mod-qos.so文件

# 5.回到apache2/conf修改httpd.conf,头文件中增加如下一行

LoadModule qos_module   modules/mod_qos.so

引入qos_module模块。

Step2.3 在httpd.conf正文中添加一行,引入qos配置文件。

apache2/conf/extra

安装靶机pentester的步骤 靶机加固_网络安全_04

安装靶机pentester的步骤 靶机加固_Apache_05

安装靶机pentester的步骤 靶机加固_Apache_06

Step3: 重启Apache httpd