基线检查

1、身份鉴别

1、Apache账户安全

项目

详情

说明

为运行 httpd 服务设置专门设置用户和组

检测步骤

1、根据需要为 Apache 创建专门的用户和组 2、参考配置操作 修改 httpd.conf 配置文件对应行参数。 User apache Group apache 其中 apache 是专门为 Apache 服务创建的用户和组。

符合性依据

检查/httpd.conf 配置文件。有专门的 Apache 的用户、组即为符合。该账户 不能是默认的 daemon、操作系统管理员用户

影响性分析

加固操作对业务的影响需要在测试环境中进行测试

备注

apache 默认是用 daemon

2、日志配置

1、审核登录

项目

详情

说明

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

检测步骤

1、参考配置操作 编辑 httpd.conf 配置文件,设置日志记录文件、记录内容、记录格式。 LogLevel notice ErrorLog logs/error_log LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\" \"%{Referer}i\" \"%{UserAgent}i\"" combined

CustomLog logs/access_log combined ErrorLog 指令设置错误日志文件名和位置。错误日志是最重要的日志文件, Apache httpd 将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到 Syslog,则设置:ErrorLog syslog。 CustomLog 指令设置访问日志的文件名和位置。访问日志中会记录服务器所 处理的所有请求。 LogFormat 设置日志格式。LogLevel 用于调整记录在错误日志中的信息的详 细程度,建议设置为 notice

符合性依据

1、查看 logs 目录中相关日志文件内容,记录完整。 2、查看相关日志配置文件。

3、访问权限

1、禁止访问外部文件

项目

详情

说明

禁止 Apache 访问 Web 目录之外的任何文件。

检测步骤

1、参考配置操作 编辑 httpd.conf 配置文件, <Directory> Options None AllowOverride None Order deny,allow Deny from all <Directory> 2、补充操作说明 设置可访问目录, Order Allow,Deny Allow from all

符合性依据

1、访问服务器上不属于 Web 目录的一个文件,结果应无法显示(无法访问 Web 目录之外的文件)。 2、检查相应配置文件

4、防攻击管理

1、错误页面处理

项目

详情

说明

Apache 错误页面重定向

检测步骤

1、参考配置操作 (1) 修改 httpd.conf 配置文件: ErrorDocument 400 /custom400.html ErrorDocument 401 /custom401.html ErrorDocument 403 /custom403.html ErrorDocument 404 /custom404.html ErrorDocument 405 /custom405.html ErrorDocument 500 /custom500.html Customxxx.html 为要设置的错误页面。 (2)重新启动 Apache 服务

符合性依据

在 URL 地址栏中输入 http://ip/xxxxxxx~~~(一个不存在的页面) 检测是否指向指定错误页面

2、目录列表访问限制

项目

详情

说明

禁止 Apache 列表显示文件

检测步骤

1、参考配置操作 (1) 修改 httpd.conf 配置文件, Options FollowSymLinks AllowOverride None Order allow,deny Allow from all 将 Options Indexes FollowSymLinks 中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。Indexes 的作用就是当该目录下没有 index.html 文件时, 就显示目录结构。 (2)设置 Apache 的默认页面,编辑%apache%\conf\httpd.conf 配置文件,

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

其中 index.html 即为默认页面,可根据情况改为其它文件。 (3)重新启动 Apache 服务

符合性依据

1、直接访问 http://ip:8800/xxx(xxx 为某一目录) ,当 WEB 目录中没有默认 首页如 index.html 文件时,不会列出目录内容。 2、直接查看 httpd.conf 配置文件。

备注

默认参数: Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted

3、拒绝服务防范

项目

详情

说明

拒绝服务防范。

检测步骤

1、参考配置操作 (1) 编辑 httpd.conf 配置文件, Timeout 10 KeepAlive On KeepAliveTimeout 15 MaxKeepAliveRequests 100 AcceptFilter http data AcceptFilter https data (2)重新启动 Apache 服务

符合性依据

检查配置文件是否设置。

4、删除无用文件

项目

详情

说明

删除缺省安装的无用文件

检测步骤

1、参考配置操作 删除缺省 HTML 文件: # rm -rf /usr/local/apache2/htdocs/ 删除缺省的 CGI 脚本: # rm –rf /usr/local/apache2/cgi-bin/ 删除 Apache 说明文件: # rm –rf /usr/local/apache2/manual 删除源代码文件: # rm -rf /path/to/httpd-2.2.4* 根据安装步骤不同和版本不同,某些目录或文件可能不存在或位置不同

符合性依据

检查对应目录。

5、隐藏敏感信息

项目

详情

说明

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

检测步骤

1、参考配置操作 修改 httpd.conf 配置文件: ServerSignature Off ServerTokens Prod

符合性依据

1、判定条件 2、检测操作 检查配置文件

6、请求信息长度

项目

详情

说明

限制 http 请求的信息主体最大字节长度。

检测步骤

1、参考配置操作 修改 httpd.conf 配置文件对应行参数

修改 LimitRequestBody 参数为 10240000Byte,如没有 LimitRequestBody 参 数,加上此行。 LimitRequestBody 10240000

符合性依据

1、检查配置文件对请求内容大小进行设置。

2、上传文件超过 10M 将报错。

备注

具体根据业务系统 http 请求的最大值确定。

7、关闭TRACE

项目

详情

说明

防止攻击者利用 trace 对服务器进行信息获取、跨站脚本攻击。

检测步骤

1、参考配置操作 修改配置文件 httpd.conf 对应行参数 TraceEnable 并设置为 Off

符合性依据

1、使用 telnet 发送以下命令 输入“telnet x.x.x.x 80” 点击回车 。 输入”CTRL+]” 点击回车,在点击回车,再点击回车。 输入“TRACE / HTTP/1.0”在点击回车 输入“X-Test:abcde ”在回车两次 观察 HTTP 响应码,如为 405 则说明 trace 请求已关闭,如返回 200 则没有 关闭。 2、直接查看 httpd.conf 配置文件。

影响性分析

加固操作对业务的影响需要在测试环境中进行测试。

5、补丁管理

1、补丁管理

项目

详情

说明

补丁或者版本升级应联系业务系统开发商咨询和测试,确认测试无问题后,进行更新

影响性分析

补丁更新加固操作对业务有不可预知的影响,一定需要在测试环境中进行测 试

最后更新于