apache禁止目录列表的方式

admin 2025年5月19日17:35:04评论1 views字数 4204阅读14分0秒阅读模式

前言

在测试的情况中我们经常会遇到网站显示了目录列表,目录列表会暴露文件结构,给攻击者提供更多的信息。因此在实际的项目中一定要配置禁止显示目录列表。

apache禁止目录列表的方式

修复方式

禁止的方式也很简单,就是在配置文件中去掉Options Indexes FollowSymLinks。

<Directory "/var/www/html">    #Options Indexes FollowSymLinks  # 启用目录列表关键参数  去掉这一行    AllowOverride None    Require all granted</Directory>

然后重启服务。

此时在访问就会报404错误

apache禁止目录列表的方式

apache的常用安全配置

1.1软件信息

查看软件版本

httpd -v

查找配置文件

/etc/httpd/conf

1.2补丁安装- SEC_APACHE_01

编号

Sec_APACHE_01

描述

安装系统补丁,修补漏洞

危害

apache各版本中可能包含Dos或解析漏洞等高危风险,可造成服务不可用及其他安全风险。

检查方法

1.查看版本和编译器信息

2.Nesuss扫描安全风险

加固标准

手动安装补丁或安装最新版本软件

适用性

选用(补丁安装后可能影响业务系统的稳定性)

是否实施

1.3使用特定账户启动- SEC_APACHE_02

编号

Sec_APACHE_02

描述

以特定的低权限用户帐号和组运行Apache

危害

如果用root等高权限运行apache,一旦系统被攻击者入侵,将能直接获取启动账户对应的高权限。

检查方法

检查配置文件httpd.conf

 User apache/nobody

 Group apache/nobody

加固标准

检查配置文件httpd.conf

User apache/nobody

 Group apache/nobody

使用专用账户(非root等高权限账户)运行。

常用账户: apache、nobody、Unix默认为daemon

适用性

通用

是否实施

1.4限制配置目录权限- SEC_APACHE_03

编号

Sec_APACHE_03

描述

限制apache配置conf目录的访问权限,非超级用户不能修改该目录中的内容。

危害

如任意用户可以修改配置文件,恶意用户入侵后可开启某些缺省选项以及修改配置参数,扩大安全风险及攻击范围。

检查方法

检查配置文件目录/conf中所有文件及子目录

Ls –l 配置文件目录/*

Ls –l 配置文件目录/子目录/*

加固标准

查看配置文件目录/conf中所有文件及子目录

属主为root:root

权限644

例: -rw-r--r-- 1 root root

适用性

通用

是否实施

1.5配置标准日志记录- SEC_ APACHE_04

编号

Sec_APACHE_04

描述

配置标准日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的 IP 地址等。

危害

1.系统出现问题的时候,无法查询需要的错误日志.

2.日志等级过高,导致会增加apache负荷,以及硬盘容量消耗过大。

3.日志等级过低,导致系统出现问题时候,会缺少相关错误日志信息

检查方法

检查httpd.conf 配置文件

LogLevel warn #错误志的级别

加固标准

检查httpd.conf配置文件:

LogLevel warn

适用性

通用

是否实施

1.6限制用户访问目录- SEC_APACHE_05

编号

Sec_APACHE_05

描述

禁止Apache访问根目录下的任何文件。(允许访问的web目录除外)

危害

如未合理控制访问目录,恶意用户可读取系统层面的系统配置文件等敏感信息。

检查方法

检查 httpd.conf 配置文件

1.  禁止访问目录配置

apache 2.4

rectory />

Require all denied

irectory>

apache 2.2

rectory />

 Deny from all

irectory>

2.  允许访问目录配置

apache 2.4

rectory "目录名">

 Require all granted

irectory>

apache 2.2

rectory "目录名">

 Allow from all

irectory>

示例目录:ry "/www/htdocs ">

加固标准

检查 httpd.conf 配置文件

1.  禁止访问目录配置

apache 2.4

rectory />

Require all denied

irectory>

apache 2.2

rectory />

 Deny from all

irectory>

2.  允许访问目录配置

apache 2.4

rectory "目录名">

 Require all granted

irectory>

apache 2.2

rectory "目录名">

 Allow from all

irectory>

示例目录:ry "/www/htdocs ">

适用性

通用

是否实施

1.7禁用目录列出- SEC_APACHE_06

编号

Sec_APACHE_06

描述

禁止 Apache 列表显示文件

危害

如开启配置,导致apache列表直接显示文件,让攻击者批量访问获取敏感信息,隐藏文件等。

检查方法

检查httpd.conf配置文件

irectory "目录名">

Options Indexes FollowSymLinks

...

Directory>

加固标准

检查httpd.conf配置文件确认以下情况之一:

irectory "目录名">

Options Indexes FollowSymLinks

...

Directory>

1.    Options–Indexes FollowSymLinks

2.    Options FollowSymLinks

3.    #Options Indexes FollowSymLinks

4.  在配置文件中查找不到Options Indexes FollowSymLinks

适用性

可根据网站实际情况进行调整选择做。

是否实施

1.8错误页面重定向- SEC_APACHE_07

编号

Sec_APACHE_07

描述

Apache错误页面重定向

危害

根据不同错误页面可以发现是否存在sql注入以及不让一些敏感信息,比如版本号和绝对路径敏感信息显示出来等。

检查方法

检查httpd.conf 配置文件:

ErrorDocument 400 /XXX.html

ErrorDocument 401 /XXX.html

ErrorDocument 403 /XXX.html

ErrorDocument 404 /XXX.html

ErrorDocument 405 /XXX.html

ErrorDocument 500 /XXX.html

XXX.html错误页面可以进行自定命名。

加固标准

检查 httpd.conf 配置文件:

ErrorDocument 400 /XXX.html

ErrorDocument 401 /XXX.html

ErrorDocument 403 /XXX.html

ErrorDocument 404 /XXX.html

ErrorDocument 405 /XXX.html

ErrorDocument 500 /XXX.html

1.    不同代码的自定义错误页面名和内容,可以相同也可以不相同,具体根据网站实际情况可调

2.    以上6项必须配置

适用性

根据域名重要程度来选择是否做。

是否实施

1.9关闭版本信息显示- SEC_ APACHE_08

编号

Sec_APACHE_08

描述

隐藏 Apache 的版本号及其它敏感信息。

危害

版本信息泄露可是恶意用户针对性查找版本漏洞,降低攻击成本

检查方法

检查 httpd.conf 配置文件:

ServerSignature Off

ServerTokens Prod

加固标准

检查httpd.conf 配置文件:

ServerSignature Off

ServerTokens Prod

适用性

通用

是否实施

1.10关闭TRACE- SEC_APACHE_09

编号

Sec_APACHE_09

描述

防止 TRACE 方法被访问者恶意利用

危害

由于该方法会原样返回客户端提交的任意数据,因此可以用来进行XSS泄漏敏感信息等。

检查方法

检查httpd.conf配置文件

 TraceEnable Off

注:适用于 Apache 2.0上版本

默认TraceEnable配置不

加固标准

检查httpd.conf配置文件

TraceEnable Off

适用性

通用

是否实施

1.11删除缺省安装文件- SEC_APACHE_10

编号

Sec_APACHE_10

描述

删除缺省安装的无用文件。

危害

缺省安装后的无用文件可以通过访问得知相关敏感信息,比如版本号等。

检查方法

1.检测web目录中index文件。

2.检测index文件内容是否为默认

加固标准

检测web目录中index文件非默认。

适用性

通用(适用于新上线主机)

是否实施

1.12禁用HTTP方法- SEC_APACHE_11

编号

Sec_APACHE_11

描述

禁用PUTDELETE等危险的HTTP方法

危害

put方法可以发送上传请求进行上传文件

delete方法可以发送删除请求进行删除文件。

MOVE方法可以发送移动请求进行移动文

TRACE方法可以原样返回客户端提交的任意数据,可以用来进行XSS泄漏敏感信息等。

检查方法

检查httpd.conf 配置文件

imitExcept GET HEAD POST PUT DELETE MOVE TRACE OPTIONS>

加固标准

检查httpd.conf配置文件

 <LimitExcept GETHEAD POST PUT DELETE MOVE TRACE OPTIONS>

1.  在配置文件中查找不到上述

2.  语句中没有PUT,DELETE,MOVE,TRACE。

适用性

通用

是否实施

1.13关闭运行状态前端显示- SEC_APACHE_12

编号

Sec_APACHE_12

描述

限制apache运行信息对外开放给任意人员查看

危害

恶意用户可以通过访问url查看apache详细的运行状态和版本信息。

检查方法

检查httpd.conf 文件

ExtendedStatus On

ocation /server-status>

  SetHandler server-status

加固标准

检查httpd.conf 文件:

1.  ExtendedStatuOff

2.  ExtendedStatu不存

适用性

通用

是否实施

原文始发于微信公众号(信安路漫漫):apache禁止目录列表的方式

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月19日17:35:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   apache禁止目录列表的方式https://cn-sec.com/archives/4081420.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息