您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > Apache安全配置规范12-27
Apache安全配置规范2010年11月概述1.1适用范围本规范提出的安全功能要求和安全配置要求,适用于大部分Unix系统下的2.0.x、2.2.x版本的Apache服务器,可作为编制设备入网测试、安全验收、安全检查规范等文档的参考。安全配置要求2.1账号要求内容以专门的用户帐号和组运行Apache。操作指南1、根据需要为Apache创建用户、组2、参考配置操作如果没有设置用户和组,则新建用户,并在Apache配置文件中指定(1)创建apache组:groupaddapache(2)创建apache用户并加入apache组:useraddapache–gapache(3)将下面两行加入Apache配置文件httpd.conf中UserapacheGroupapache2、补充操作说明1、根据不同用户,取不同的名称。2、为用户设置适当的家目录和shell。检测方法1、判定条件2、检测操作检查httpd.conf配置文件。检查是否使用非专用账户(如root)运行apache2.2日志安全要求编号安全要求-系统-Apache-配置-2.2要求内容设备应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的IP地址等内容。操作指南1、参考配置操作编辑httpd.conf配置文件,设置日志记录文件、记录内容、记录格式。其中,错误日志:LogLevelnotice#日志的级别ErrorLog/.../logs/error_log#日志的保存位置(错误日志)访问日志:LogFormat%h%l%u%t\%r\%s%b%{Accept}i\\%{Referer}i\\%{User-Agent}i\combinedCustomLog/.../logs/access_logcombined(访问日志)ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,Apachehttpd将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到Syslog,则设置:ErrorLogsyslog。CustomLog指令指定了保存日志文件的具体位置以及日志的格式。访问日志中会记录服务器所处理的所有请求。LogFormat设置日志格式,建议设置为combined格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。检测方法1、判定条件查看logs目录中相关日志文件内容,记录完整。2、检测操作查看相关日志记录。3、补充说明2.3禁止Apache访问Web目录之外的任何文件要求内容禁止Apache访问Web目录之外的任何文件。操作指南1、参考配置操作编辑httpd.conf配置文件,Directory/OrderDeny,AllowDenyfromall/Directory2、补充操作说明设置可访问目录,Directory/webOrderAllow,DenyAllowfromall/Directory其中/web为网站根目录。检测方法1、判定条件无法访问Web目录之外的文件。2、检测操作访问服务器上不属于Web目录的一个文件,结果应无法显示。3、补充说明2.4目录列出要求内容禁止Apache列表显示文件操作指南1、参考配置操作(1)编辑httpd.conf配置文件,Directory/webOptionsIndexesFollowSymLinks#删掉IndexesAllowOverrideNoneOrderallow,denyAllowfromall/Directory将OptionsIndexesFollowSymLinks中的Indexes去掉,就可以禁止Apache显示该目录结构。Indexes的作用就是当该目录下没有index.html文件时,就显示目录结构。(2)重新启动Apache服务检测方法1、判定条件当WEB目录中没有默认首页如index.html文件时,不会列出目录内容2、检测操作直接访问(xxx为某一目录)2.5自定义错误信息要求(可选)要求内容Apache错误页面重定向操作指南1、参考配置操作(1)修改httpd.conf配置文件:ErrorDocument400/custom400.htmlErrorDocument401/custom401.htmlErrorDocument403/custom403.htmlErrorDocument404/custom404.htmlErrorDocument405/custom405.htmlErrorDocument500/custom500.htmlCustomxxx.html为要设置的错误页面。(2)重新启动Apache服务检测方法1、判定条件指向指定错误页面2、检测操作URL地址栏中输入~~~(一个不存在的页面)2.6设置session时间(可选)要求内容根据业务需要,合理设置session时间,防止拒绝服务攻击操作指南1、参考配置操作(1)编辑httpd.conf配置文件,Timeout10#客户端与服务器端建立连接前的时间间隔KeepAliveOnKeepAliveTimeout15#限制每个session的保持时间是15秒注:此处为一建议值,具体的设定需要根据现实情况。(2)重新启动Apache服务检测方法1、判定条件2、检测操作检查httpd.conf配置文件是否设置。2.7隐藏Apache的版本号(可选)要求内容隐藏Apache的版本号及其它敏感信息。操作指南1、参考配置操作修改httpd.conf配置文件:ServerSignatureOffServerTokensProd检测方法1、判定条件2、检测操作检查httpd.conf配置文件。2.8关闭TRACE要求内容关闭TRACE,防止TRACE方法被访问者恶意利用操作指南1、参考配置操作使用命令“vi/etc/httpd/conf/httpd.conf”修改配置文件,添加“TraceEnableOff”注:适用于Apache2.0以上版本检测方法1、判定条件2、检测操作客户端:#nc1.1.1.480输入下面两行内容后,两次回车OPTIONS*HTTP/1.1HOST:1.1.1.4服务器返回:HTTP/1.1200OKDate:Wed,13May200907:09:31GMTServer:Apache/2.2.3(CentOS)Allow:GET,HEAD,POST,OPTIONS,TRACEContent-Length:0Connection:closeContent-Type:text/plain;charset=UTF-8表示支持TRACE方法,注意查看是否还支持其他方法,如:PUT,DELETE等,一般情况下都不应该出现在生产主机上2.9禁用CGI(可选)要求内容如果服务器上不需要运行CGI程序,建议禁用CGI操作指南1、参考配置操作(1)使用命令“vi/etc/httpd/conf/httpd.conf”修改配置文件,把cgi-bin目录的配置和模块都注释掉#LoadModulecgi_modulemodules/mod_cgi.so#ScriptAlias/cgi-bin//var/检测方法1、判定条件2、检测操作使用命令“vi/etc/httpd/conf/httpd.conf”查看配置文件LoadModulecgi_modulemodules/mod_cgi.so#加载的模块ScriptAlias/cgi-bin//var/监听地址绑定(可选)要求内容服务器有多个IP地址时,只监听提供服务的IP地址操作指南1、参考配置操作使用命令“vi/etc/httpd/conf/httpd.conf”修改配置文件,修改Listenx.x.x.x:80检测方法1、判定条件2、检测操作使用命令“cat/etc/httpd/conf/httpd.conf|grepListen”查看是否绑定IP地址2.11权限限制要求内容严格设置配置文件和日志文件的权限,防止未授权访问操作指南1、参考配置操作:使用命令“chmod600/etc/httpd/conf/httpd.conf”设置配置文件为属主可读写,其他用户无权限使用命令“chmod644/var/log/httpd/*.log”设置日志文件为属主可读写,其他用户只读权限检测方法1、判定条件2、检测操作使用命令查看配置文件和日志文件的权限[root@centos~]#ls-l/etc/httpd/conf/httpd.conf-rw-r--r--1rootroot7571May1317:45/etc/httpd/conf/httpd.conf[root@centos~]#ls-l/var/log/httpd2.12补丁更新(可选)要求内容在不影响业务的情况下,升级解决高危漏洞,而且该补丁要通过实验测试。操作指南1、参考配置操作:访问,查看最新的apache版本,在实验室测试通过的前提下,编译升级apache,以解决高危漏洞。检测方法1、判定条件2、检测操作根据apache安装路径使用命令行查看版本情况。如:/usr/local/apache/bin/apachectl–v与需要的版本进行对比。
本文标题:Apache安全配置规范12-27
链接地址:https://www.777doc.com/doc-2897894 .html