您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > Apache安全配置规范
Apache安全配置规范Apache安全配置规范Page1of151.概述1.1.目的本规范明确了APACHE安全配置方面的基本要求。为了提高APACHE的安全性而提出的。1.2.范围本规范适用于XXXX使用的APACHE。Apache安全配置规范Page2of152.配置规范Web安全已经远超过了Web服务器安全的范围,因为会有许多不同的Web安全漏洞,这些漏洞可能并不直接涉及Web服务器本身。为了加固Web服务,需要同时考虑几项安全技术。其中包括但不限于防火墙、入侵检测、DNS等。进行Apache加固前应先考虑以下内容:通过防火墙、路由器和交换机控制对Web服务器的访问部署网络入侵检测以监控对Web服务器的攻击有恰当的磁盘空间监控和日志轮换机制注册Web网站时登记的数据没有泄漏敏感信息的恰当地防护DNS防止域名劫持加固Web服务器底层的操作系统编码安全2.1.Apache的基础设置2.1.1.安装【说明】尽量使用厂商提供的Apache二进制安装包。使用厂商提供的安装包的好处包括:安装简便为所使用的操作系统定制而成经过了测试和QA的过程包括了可能需要的所有模块,甚至一些第三方模块如mod_ssl,OpenSSL,PHP,mod_perl和mod_Security厂商会发布与此版本相关的安全公告容易更新安全补丁,因为厂商会对出现的安全问题进行验证,并给出相应的建议。可以进行自动更新。使用的版本:尽量使用2.2.x版本。Apache安全配置规范Page3of152.1.2.使用ModSecurity【说明】强烈建议使用ModSecurity,因为其已经成为最广泛部署的Web应用防火墙。ModSecurity详细介绍见执行以下的功能:在WebServer处理前,拦截HTTP请求拦截请求的内容(RequestBody),例如POSTPayload拦截,存储,有选择性地验证上传的文件通过在设置文件中定义一系列的规则,执行对请求的分析在HTTPResponse发送给客户端之前拦截,并进行安全检测和相应的分析当对HTTPRequest或Response分析发现问题是,执行相应的预定义操作或者脚本执行日志审计ModSecurity中的CoreRuleSet通过协议一致性检查、攻击检测以及其他的错误检测提供对Web应用的防护。CoreRuleSet是Apache中的一系列配置文件。不同于IDS和IPS是针对于已知的漏洞,CoreRuleSet是基于通用的规则,目的是防止“零日攻击”和Web应用中常发现的未知漏洞。这些漏洞一般为一些自定义的代码。CoreRuleSet特点:优化了性能通过一些改进减少误报检测通用的攻击而不是特定的已知攻击,所以有更加的性能更详细的规则信息即插即用CoreRules使用了如下的技术:协议合规性:HTTPRequest验证HTTP协议异常限制HTTP各种协议属性Apache安全配置规范Page4of15HTTP使用策略攻击检测:恶意客户端软件检测,如恶意的自动程序,可以防止Spam通用的攻击检测,可以检测的攻击类型包括:oSQLinjectionandBlindSQLinjection.oCrossSiteScripting(XSS).oOSCommandInjectionandremotecommandaccess.oFilenameinjection.oColdFusion,PHPandASPinjection.oE-MailInjectionoHTTPResponseSplitting.oUniversalPDFXSS.检测对已安装在主机中的木马的访问错误检测,防止应用错误信息发送给客户端XML保护,检查XMLPayload搜索引擎监控【具体配置】可以在下载源代码,给出了安装的步骤。以下是ModSecurity的快速安装步骤:ExtracttheCoreRuleSetcontentintoadirectorycalledmodsecurityunderyourApacheconfigurationdirectory.Editandcustomizemodsecurity_crs_10_config.conf.Thisfilecontainscommentswhichexplainhowtosetupeachdirective.Youmayalsowanttoeditmodsecurity_crs_30_http_policy.confwhichsetsrulesspecifictoyourapplication.AddthedirectiveIncludeconf/modsecurity/*.conftoyourhttpd.confafterthelinewhereModSecurityitselfitloaded.RestartApache.Checkthattheserverworksnormally,andsimulateanattackbybrowsingtotheURL“pagenotfound”error,youshouldgeta“MethodNotImplemented”error.强烈建议开始的时候只使用MonitoringOnly模式,通过以下方式实现:ChangethedirectiveSecRuleEngineinfilemodsecurity_crs_10_config.conffromApache安全配置规范Page5of15OntoDetectionOnly.经过一段时间的观察和对错误信息的验证,再使用On的模式。2.1.3.最小化httpd.conf文件【说明】缺省的文件因为包括了许多模块的目录和一些说明导致非常大,使得配置文件难读和难以管理。建议建立一个空的配置文件后,一项项填入必要的配置。可以通过命令“apachectlconfigtest”命令测试文件的语法。【具体配置】增加一个新的配置文件(/usr/local/apache2/conf/httpd.conf),添加诸如以下的内容:#locationofthewebserverfilesServerRoot/usr/local/apache2#locationofthewebservertreeDocumentRoot/var/(PID)file,which#storesthePIDofthemainApacheprocessPidFile/var/最小化Apache模块【说明】禁用不必须的Apache模块,以减小Web服务器的风险并增加性能。只启用网站必须的功能模块。若不确定功能模块是否有用,可参考Apache文档站点禁止掉模块后测试功能性。【具体配置】观察Apache的配置文件,注释掉不需要的模块,如下示例:LoadModuleaccess_modulemodules/mod_access.soLoadModuleauth_modulemodules/mod_auth.soLoadModuleauth_anon_modulemodules/mod_auth_anon.so##LoadModuleauth_dbm_modulemodules/mod_auth_dbm.so##LoadModuleauth_digest_modulemodules/mod_auth_digest.so##LoadModuleldap_modulemodules/mod_ldap.so##LoadModuleauth_ldap_modulemodules/mod_auth_ldap.so##LoadModulecern_meta_modulemodules/mod_cern_meta.so##LoadModuledav_modulemodules/mod_dav.soApache安全配置规范Page6of152.1.5.创建Apache用户和组帐号【说明】一个尽量避免遭受攻击的方法是为Web服务器应用创建一个独特的、没有特权的用户ID和组。不应该使用类Unix系统中默认的“nobody”用户ID和组,由于该账户通常还为其他守护进程使用。Apache使用的帐号也不需要赋予访问其他服务的不必要的权限。而且Apache用户的用户ID应该分配1和499之间的一个值,由于这些值是为特殊的系统账户保留,而不可以被普通用户使用。【具体配置】创建一个名字类似:apache的用户来运行WebServer,如下例子中,指定Webdocumentroot为该用户的主目录该用户永远不应被使用用来登录Shell通过以下命令创建新的apache用户#groupaddapache#useraddapache-gapache-d/dev/null-s/sbin/nologin该命令禁止了apache用户的登录在Apache配置文件中键入如下两行:UserapacheGroupapache2.1.6.限制访问【说明】检查Allow和Deny指令(Directive)的访问控制逻辑性,限制对操作系统根目录、Web根目录及其他目录的访问。注意“Order”指定的顺序。如下例子中,Orderallow,denyallowfromapache.orgdenyfromfoo.apache.org“Order”指令的顺序表明先评估Allow指令,Allow指令表明来自于apache.org域的所有访问都不允许,Deny指令表明禁止掉来自于foo.apache.org域的访问。合起来的意思是“除了来自于foo.apache.org域的访问外,允许所有其它来自apache.org域的访问”【具体配置】增加OSRoot目录的访问控制:Apache安全配置规范Page7of15为了防止目录遍历到DocumentRoot以外的内容,应该添加下面的指令。Directory/OptionsNoneAllowOverrideNonedenyfromall/DirectoryApache存在一个缺省访问的功能,就是如果WebServer能找到一个正常的URL路径,就可以将该路径映射的文件提供给Client,除非明确禁止掉这个URL路径。增加OSRoot和DocumentRoot目录的访问控制:以下例子允许任何人访问DocumentRootDirectory/var/以下例子指定IP段(202.54.X.X)访问DocumentRootDirectory/var/通过选项指令(OptionsDirective)加强目录的功能性控制【说明】为了增加安全性,只有那些必要的功能才被开启,所有其他的功能应该被禁止。OptionDirectiv
本文标题:Apache安全配置规范
链接地址:https://www.777doc.com/doc-3381994 .html