前言
在测试的情况中我们经常会遇到网站显示了目录列表,目录列表会暴露文件结构,给攻击者提供更多的信息。因此在实际的项目中一定要配置禁止显示目录列表。
修复方式
禁止的方式也很简单,就是在配置文件中去掉Options Indexes FollowSymLinks。
<Directory "/var/www/html">
#Options Indexes FollowSymLinks # 启用目录列表关键参数 去掉这一行
AllowOverride None
Require all granted
</Directory>
然后重启服务。
此时在访问就会报404错误
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 |
描述 |
禁用PUT、DELETE等危险的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. ExtendedStatus Off 2. ExtendedStatus 不存在 |
适用性 |
通用 |
是否实施 |
是 |
原文始发于微信公众号(信安路漫漫):apache禁止目录列表的方式
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论