Apache HTTP Server中间件安全基线配置与操作指南
1、账号管理
1.1、账号安全设置
安全基线项目名称 | Apache 用户帐号安全基线要求项 |
安全基线编号 | ZJLY-apache-001 |
安全基线项说明 | 配置专门用户账号和组用于运行 Apache。 |
设置操作步骤 | 创建 Apache 用户和组。 修改 http.conf 配置文件,添加以下语句: User apache 或 nobody Group apachegroup 或 nobody |
基线符合性判定依据 | Apache 进程以 apache 或者 nobody 用户运行,执行命令:#ps -ef|grep httpd 查看 |
备注 |
1.2、账号授权
安全基线项目名称 | Apache Web 根目录文件操作安全基线要求项 |
安全基线编号 | ZJLY-apache-002 |
安全基线项说明 | 确保只有 root 用户可以修改 Web 根目录下的文件 |
设置操作步骤 | 1、Apache 的主目录对应于 Apache Server配置文件 httpd.conf 中的 Server Root 控制项,应设置为: Server Root /etc/httpd 判定条件: 非超级用户不能修改该目录中的内容。 检测操作: 尝试进行修改,看是否能修改该目录中的内容。 2、严格设置配置文件和日志文件的权限,防止未授权访问。 执行chmod 600 /etc/httpd/conf/httpd.conf命令设置配置文件为属主可读写,其他用户无读写权限。 执行chmod 644 /var/log/httpd/.log命令设置日志文件为属主可读写,其他用户拥有只读权限 |
基线符合性判定依据 | 用普通用户登陆服务器,尝试在Web目录下修改或者新建文件, 检查操作是否成功。 |
备注 | /etc/httpd/conf/httpd.conf 配置文件的默认权限是644,可根据需要修改权限为600。 - /var/log/httpd/.log 日志文件的默认权限为644,默认设置即符合要求 |
2、日志配置
安全基线项目名称 | Apache 日志配置-审核登录策略安全基线要求项 |
安全基线编号 | ZJLY-pache-003 |
安全基线项说明 | 应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的 IP 地址等内容 |
设置操作步骤 | 编辑 httpd.conf 配置文件,设置日志记录文件、记录内容、记 录格式。 LogLevel notice ErrorLog logs/error_log LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Accept}i\” \”%{Referer}i\” \”%{User-Agent}i\”” combined CustomLog logs/access_log combined ErrorLog 指令设置错误日志文件名和位置。错误日志是最重要 的日志文件,Apache httpd 将在这个文件中存放诊断信息和处 理请求中出现的错误。若要将错误日志送到 Syslog ,则设置: ErrorLog syslog 。 CustomLog 指令设置访问日志的文件名和位置。访问日志中会 记录服务器所处理的所有请求。 LogFormat 设置日志格式,建议设置为 combined 格式。 LogLevel 用于调整记录在错误日志 中的信息的详细程度,建议设置为 notice。 |
基线符合性判定依据 | 查看 logs 目录中相关日志文件内容,应记录完整。 |
备注 |
3、访问控制
3.1、禁止访问外部文件
安全基线项目名称 | Apache 目录访问权限安全基线要求项 |
安全基线编号 | ZJLY-pache-004 |
安全基线项说明 | 禁止 Apache 访问 Web 目录之外的任何文件 |
设置操作步骤 | 编辑 httpd.conf 配置文件: <Directory /> Order Deny,Allow Deny from all </Directory> 设置可访问目录: <Directory /web> Order Allow,Deny Allow from all </Directory> |
基线符合性判定依据 | 访问服务器上不属于 Web 目录的一个文件,结果应无法显示。 |
备注 | /web为网站根目录 |
4.2、错误页面处理
安全基线项目名称 | Apache 错误页面安全基线要求项 |
安全基线编号 | ZJLY-pache-005 |
安全基线项说明 | Apache 访问错误页面重定向,防止泄露敏感信息 |
设置操作步骤 | (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 服务 |
基线符合性判定依据 | 在地址栏输入一个不存在的页面,验证是否已指向错误页面 |
备注 |
4.3、目录列表访问控制
安全基线项目名称 | Apache 目录列表安全基线要求项 |
安全基线编号 | ZJLY-pache-006 |
安全基线项说明 | 禁止 Apache 列表显示文件 |
设置操作步骤 | (1)编辑 httpd.conf 配置文件: <Directory “/web”> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 将 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 服务。 |
基线符合性判定依据 | 直接访问 http://ip:8800/xxx (xxx 为某一目录),不会显示 目录内容。 |
备注 |
3.4、拒绝服务防御
安全基线项目名称 | Apache 拒绝服务防御安全基线要求项 |
安全基线编号 | ZJLY-pache-007 |
安全基线项说明 | 防范拒绝服务攻击 |
设置操作步骤 | (1) 编辑 httpd.conf 配置文件: Timeout 10 #客户端与服务器端建立连接前的时间间隔 KeepAlive On KeepAliveTimeout 15 #限制每个session的保持时间是15秒 AcceptFilter http data AcceptFilter https data (2)重新启动 Apache 服务。 |
基线符合性判定依据 | 检查配置文件 httpd.conf 是否设置正确。 |
备注 | 默认值为Timeout 120,KeepAlive Off,KeepAliveTimeout 15,该项设置涉及性能调整 |
3.5、隐藏敏感信息
安全基线项目名称 | Apache 隐藏敏感信息安全基线要求项 |
安全基线编号 | ZJLY-pache-008 |
安全基线项说明 | 隐藏 Apache 的版本号及其它敏感信息 |
设置操作步骤 | 修改 httpd.conf 配置文件: ServerSignature Off ServerTokens Prod |
基线符合性判定依据 | 检查配置文件 httpd.conf |
备注 |
3.6、关闭TRACE
安全基线项目名称 | Apache TRACE 方法控制安全基线要求项 |
安全基线编号 | ZJLY-pache-009 |
安全基线项说明 | 关闭 TRACE,防止 TRACE 方法被访问者恶意利用 |
设置操作步骤 | (1)编辑 httpd.conf 配置文件,配置如下内容: TraceEnable Off (2)如果不存在则手动在文件末尾添加。 |
基线符合性判定依据 | 检查配置文件 httpd.conf |
备注 |
3.7、关闭CGI
安全基线项目名称 | Apache CGI 程序控制安全基线要求项 |
安全基线编号 | ZJLY-pache-010 |
安全基线项说明 | 如果服务器上不需要运行 CGI 程序,建议禁用 CGI |
设置操作步骤 | 编辑 httpd.conf 配置文件,把 cgi-bin 目录的配置和模块注释掉: #<Directory “/var/www/cgi-bin”> # AllowOverride None # Options None # Require all gra #</Directory> |
基线符合性判定依据 | 检查配置文件 httpd.conf |
备注 |
3.8、禁用非法HTTP方法
安全基线项目名称 | Apache 禁用非法HTTP方法安全基线要求项 |
安全基线编号 | ZJLY-pache-011 |
安全基线项说明 | 只允许get 、post方法 |
设置操作步骤 | 编辑 httpd.conf 配置文件,新增或修改如下配置: <Location /> <LimitExcept GET POST CONNECT OPTIONS> Order Allow,Deny Deny from all </LimitExcept> </Location> |
基线符合性判定依据 | 检查配置文件 httpd.conf |
备注 |
3.9、限制访问敏感目录
安全基线项目名称 | Apache 限制访问敏感目录安全基线要求项 |
安全基线编号 | ZJLY-pache-012 |
安全基线项说明 | 只允许部分 IP 访问网站的敏感目录 |
设置操作步骤 | 编辑 httpd.conf 配置文件: <Directory “/var/www/html/admin”> Order allow,deny Allow from 192...*/255.255.255.0 </Directory> |
基线符合性判定依据 | 检查配置文件 httpd.conf |
备注 |
还没有评论,来说两句吧...