字号: 小 中 大 |
推荐给好友
上一篇 |
下一篇
详细点评企业用户十大开源软件
发布: 2008-10-08 12:12 |
作者: 转载 |
来源:
测试时代采编 |
查看: 113次 | 进入软件测试论坛讨论
如何配置一个
安全的Apache
服务器 1)勤打补丁。使用最高和最新的安全版本对于加强Apache
Web服务器的安全是至关重要的。将你的OpenSSL升级到0.9.6e或者更高版本,伪造的密钥将起不了任何作用,也不能渗透到系统里。
2)隐藏和伪装Apache的版本。通常,软件的漏洞信息和特定版本是相关的,因此,版本号对黑客来说是最有价值的。默认情况下,系统会把Apache版本模块都显示出来(http返回头)。所以,安装完Apache服务器之后,最好隐藏和伪装Apache的版本号。
3)建立一个安全的目录结构。
4)为Apache使用专门的用户和用户组。按照最小特权原则,给Apache分配一个合适的权限,让其能够完成Web服务。最小特权原则是系统安全中最基本的原则之一,它限制了使用者对系统及数据进行存取所需要的最小权限,既保证了用户能够完成所操作的任务,同时也确保非法用户或异常操作所造成的损失最小。
必须保证Apache使用一个专门的用户和用户组,不要使用系统预定义的账号,比如nobody用户和nogroup用户组。
5)
Web目录的访问策略。对于可以访问的Web目录,要使用相对保守的途径进行访问,不要让用户查看任何目录索引列表。
- 禁止使用目录索引;
- 禁止默认访问;
- 禁止用户重载。
6)Apache服务器访问控制方法
7)管理Apache服务器访问日志
- 相关配置文件说明。
-
Web服务器日志轮循。Web服务器日志轮循比较好的方式有三种:第一种方法是利用
Linux系统自身的日志文件轮循机制logrotate;第二种方法是利用Apache自带的日志轮循程序rotatelogs;第三种是使用在Apache的FAQ中发展已经比较成熟的日志轮循工具cronolog。对于大型的Web服务器来说,往往使用负载均衡技术提高Web站点的服务能力,这样后台有多个服务器提供Web服务,大大方便了服务的分布规划和扩展。如果有多个服务器,需要对日志进行合并,统一进行统计分析。因此为了保证统计的精确性,需要严格按照每天的时段来自动生成日志。
- 使用php MyVisites分析Apache日志
8)Apache服务器的密码保护
。.htaccess文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。.htaccess文件提供了针对目录改变配置的方法,即通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录及其所有子目录。.htaccess的功能包括设置网页密码、设置发生错误时出现的文件、改变首页的文件名(如index.html)、禁止读取文件名、重新导向文件、加上
MIME类别、禁止列目录下的文件等。注意,.htaccess是一个完整的文件名,不是***.htaccess或其他格式(当然也有管理员把其设置成其他名字,但一般都是使用.htaccess)。另外,上传.htaccess文件时,必须使用ASCII模式,并使用chmod命令改变权限为644(RW__R__R__)。每一个放置.htaccess的目录和其子目录都会被.htaccess影响。例如,在/abc/目录下放置了一个.
htaccess文件,那么/abc/和/abc/def/内所有的文件都会被它影响,但/index.html不会被它影响,这一点是很重要的。
9)减少CGI和SSI风险。CGI脚本的漏洞已经成为Web服务器的首要安全隐患,通常是程序编写CGI脚本中产生了许多漏洞。控制CGI脚本的漏洞除了在编写时需要注意对输入数据的合法性检查、对系统调用的谨慎使用等因素外,首先使用CGI程序所有者的UID来运行这些程序。这些CGI程序即使存在某些漏洞,那么其危害也仅限于该UID所能够访问的文件。也就是说,这样只能伤害用户的文件,而不会对整个系统带来致命的影响。通过安装和使用suEXEC的应用程序,可以为Apache服务器提供CGI程序的控制支持(从Apache
l.3版以后,suEXEC已经作为Apache服务器的一部分),可以把suEXEC看作一个包装器,在Apache接到对CGI程序的调用请求后,它将这个调用请求交给suEXEC来负责完成具体的调用,并且从suEXEC获得返回的结果。
10)让Apache服务器在“监牢”中运行。所谓的“监牢”是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使被破坏或侵入,所受的损伤也不大
11)使用SSL加固Apache。使用具有SSL功能的Web服务器,可以提高网站的安全
性能。SSL协议工作在Linux
TCP/IP协议和HTTP协议之间,SSL使用加密方法来保护Web服务器和浏览器之间的信息流。SSL不仅用于加密在互联网上传递的数据流,而且还提供双方身份验证。这样就可以安全地在线购物而不必担心别人窃取信用卡的信息。这种特性使得SSL适用于那些交换重要信息的地方,像电子商务和基于Web的邮件。
12)Apache服务器防范DoS。Apache服务器对拒绝服务攻击的防范主要通过软件Apache DoS Evasive
Maneuvers Module
来实现。它是一款mod_access的替代软件,可以对抗DoS攻击。该软件可以快速拒绝来自相同地址对同一URL的重复请求,通过查询内部一张各子进程的哈希表来实现。同时可以使用
Linux系统强大的命令手段防范Dos攻击。
13)利用LDAP对Apache进行认证。
14)其他安全工具。使用tcp_wrappers和AIDE可以为系统提供额外的保护。使用tcp_wrappers可以进一部控制访问权限。AIDE是一个数据完整性检测工具,可以帮助系统管理员监视系统是否被改动过,你可以在AIDE的配置文件中编制特定的策略,监视Web服务器的配置文件、数据和CGI文件是否被修改。另外Se
linux也可以保护Apache服务器。如果对目录服务比较熟悉,还可以使用LDAP服务器对Apache服务器进行访问认证。