基线检查
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、补丁管理
项目 | 详情 |
说明 | 补丁或者版本升级应联系业务系统开发商咨询和测试,确认测试无问题后,进行更新 |
影响性分析 | 补丁更新加固操作对业务有不可预知的影响,一定需要在测试环境中进行测 试 |
最后更新于