|
知识路径: > 网络信息安全概述 > 网络信息安全目标与功能 > 网站安全需求分析与安全保护工程 > Apache Web安全分析与增强 >
|
考试要求:熟悉
相关知识点:21个
|
|
|
|
|
|
网站管理员要经常关注Apache官方网址公布的HTTP服务器软件包缺陷修正和升级信息,及时升级系统或添加补丁。使用最高和最新安全版本可以加强Apache Web软件的安全性。
|
|
|
|
.htaccess文件是Apache服务器上的一个配置文件。.htaccess的功能包括设置网页密码、设置发生错误时出现的文件、改变首页的文件名(如index.html)、禁止读取文件名、重新导向文件、加上MIME类别、禁止列目录下的文件等。
|
|
|
|
按照最小特权原则,给Apache Web服务程序分配一个合适的权限,让其能够完成Web服务。必须保证Apache使用一个专门的用户和用户组,不要使用系统预定义的账号,比如nobody用户和nogroup用户组。
|
|
|
|
通常来说软件的漏洞信息和特定版本是相关的,因此,版本号对黑客来说是最有价值的。默认情况下,系统会把Apache的版本系统模块都显示出来。Apache Web软件包版本号的屏蔽方法是,修改配置文件httpd.conf,找到关键字ServerSignature和ServerTokens,将其参数设定为ServerSignature Off和ServerTokens Prod,然后重新启动Apache服务器。
|
|
|
|
对于可以访问的Web目录,要使用相对安全的途径进行访问,不要让用户查看到任何目录索引列表,具体要求如下:
|
|
|
(1)设定禁止使用目录索引文件。Apache服务器在接收到用户对一个目录的访问请求时,会查找DirectoryIndex指令指定的目录索引文件。默认情况下该文件是index.html。如果该文件不存在,那么Apache会创建动态列表为用户显示该目录的内容。通常这样的设置会暴露Web站点结构,因此需要修改配置文件禁止显示动态目录索引。按如下方式修改配置文件httpd.conf:
|
|
|
|
Options指令通知Apache禁止使用目录索引。FollowSymLinks表示不允许使用符号链接。(2)禁止默认访问。首先禁止默认访问,只对指定目录开启访问权限,如果允许访问/var/www/html目录,使用如下设定:
|
|
|
|
(3)禁止用户重载。禁止用户对目录配置文件(.htaccess)进行重载(修改),使用如下设定:
|
|
|
|
|
Apache Web文件目录安全设置可以通过操作系统来实现,对于不同的目录,最佳安全实践如下。
|
|
|
(1)ServerRoot保存配置文件(conf子目录)、二进制文件和其他服务器配置文件。conf的属主和权限设置如下:
|
|
|
|
(2)DocumentRoot保存Web站点的内容,包括HTML文件和图片等。DocumentRoot的属主和权限设置如下:
|
|
|
|
(3)Apache服务器CGI目录的属主和权限设置如下:
|
|
|
|
(4)Apache服务器执行目录的属主和权限设置如下:
|
|
|
|
(5)Apache服务器日志目录的属主和权限设置如下:
|
|
|
|
|
Apache默认目录或不必要的文件通常会给Apache服务器带来安全威胁,为了增强Apache的安全,建议将其删除。Apache需要删除的默认目录或不必要的文件如下:
|
|
|
|
|
|
|
|
(1)构建Apache Web服务器“安全沙箱”。
|
|
|
所谓“安全沙箱”是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使被破坏或侵入,服务器的整体也不会受到损害。可以用jail软件包来帮助简化建立Apache Web chroot安全机制。
|
|
|
(2)使用Open SSL增强Apache Web安全通信。
|
|
|
使用具有SSL(安全套接字层协议)功能的Web服务器,可以提高Apache网站的安全。SSL使用加密方法来保护Web服务器和浏览器之间的信息流。SSL不仅用于加密在互联网上传递的数据流,而且还提供双方身份验证。这种特性使得SSL适用于那些交换重要信息的活动,如电子商务和基于Web的邮件。
|
|
|
|
使用TCP Wrappers强化Apache Web服务器访问控制,如下图所示。
|
|
|
|
|
部署TCP Wrappers的Web服务器,可以通过配置TCP Wrappers的hosts.allow、hosts.deny文件,指定IP地址访问特定的服务。
|
|
|