分享
 
 
 

Apache服务器的保护

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

本文将讨论UNIX平台下,Apache WEB服务器安装和配置的安全问题。我们假定阅读本文 的系统管理员已经针对自己站点的情况选择了相关的模块,并且能够进行配置、创建和排 除故障。本文的主要目的是帮助你简历一个安全的Apache歪脖(web :P)服务器。

在众多的Web服务器产品中,Apache是应用最为广泛的一个产品,同时也是一个设计上非 常安全的程序。但是,同其它应用程序一样,Apache也存在安全缺陷。本文主要针对三个 安全缺陷进行讨论,包括:使用HTTP协议进行的拒绝服务攻击(denial of service)、3缓冲 区溢出攻击以及被攻击者获得root权限。注意:合理的配置能够保护Apache免遭多种攻 击,但是在网络层上的拒绝服务攻击则不是调整Apache的配置所能够防止的。本文所涉及 的是使用HTTP(应用层)协议进行的拒绝服务攻击。

Apache的主要缺陷

HTTP拒绝服务

攻击者通过某些手段使服务器拒绝对HTTP应答。这会使Apache对系统资源(CPU时间和内 存)需求的剧增,最终造成系统变慢甚至完全瘫痪。

缓冲区溢出

攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存 请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。比如一些Perl编写的处理用户 请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令或者使系统宕机。

被攻击者获得root权限

Apache一般以root权限运行(父进程),攻击者通过它获得root权限,进而控制整个系统。

获得最新的Apache

使用最安全版本对于加强Apache Web服务器的安全是至关重要的。

你可以从Apache的官方网站http://www.apache.org获得Apache的最新版本。

配置文件的保护

Apache Web服务器有三个主要的配置文件,它们一般位于/usr/local/apache/conf目录。这三 个文件是:httpd.con、srm.conf和access.conf。这些文件是整个Apache的控制中心,因 此需要对三个配置文件有所了解。httpd.conf文件是主配置文件;srm.conf允许你填加资源 文件;access.conf设置文件的访问权限。这些文件的配置可以参考http://httpd.apache.org/ docs/mod/core.html

服务器访问控制

access.conf文件包含一些指令控制允许什么用户访问Apache目录。应该把deny from all作为 初始化指令,然后使用allow from指令打开访问权限。你可以允许来自某个域、IP地址或 者IP段的访问。例如:

order deny,allow

deny from all

allow from sans.org

密码保护

使用.htaccess文件,可以把某个目录的访问权限赋予某个用户。系统管理员需要在 httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录的访问控制。以下是一 个.htaccess示例文件:

AuthName PrivateFiles

AuthType Basic

AuthUserFile /path/to/httpd/users

require foo <---一个有效的用户名

然后,使用如下命令填加一个用户:

# htpasswd -c /path/to/httpd/users foo

Apache日志文件

系统管理员可以使用日志格式指令来控制日志文件的信息。使用LogFormat "%a %l"指 令,可以把发出HTTP请求浏览器的IP地址和主机名记录到日志文件。出于安全的考虑, 你至少应该那些验证失败的WEB用户,在http.conf文件中加入LogFormat "%401u"指令可以 实现这个目的。这个指令还有其它的许多参数,用户可以参考Apache的文档。另 外,Apache的错误日志文件对于系统管理员来说也是非常重要的,错误日志文件中包括服 务器的启动、停止以及CGI执行失败等信息。

安全相关的指令

在Apache配置文件中,有一些安全相关的指令可以使用。这些指令的详细用法可以参考 http://httpd.apache.org/docs/mod/directives.html。

使用以下指令可以帮助你减小拒绝服务的威胁:

LimitRequestbody: 数字参数,控制HTTP请求的大小。

LimitRequestFields: 数字参数,控制请求头的数目。

KeepAlive: 设置连接的生存期。

KeepAliveTimeout: 限制等待请求的时间。

使用以下指令可以帮助你叫嚣缓冲区溢出的危险:

LimitRequestFieldSize: 限制每个请求头的大小。

LimitRequestLine: 限制每个请求行的大小。

CGI(ommon Gateway Interface,通用网关接口)的安全威胁

CGI的安全性非常重要,攻击者可以利用CGI的缺陷获得系统信息、执行系统命令、占用 系统资源。如果一个CGI程序使用静态分配的内存,就可能为缓冲区溢出攻击提供机会。 为了减少这种风险,程序员应该在CGI代码中使用动态分配内存。除了CGI编写人员应该 注意外,系统管理员可以采取对CGI进行封装(例如:suEXEC或者CGI Wrap)的办法加强 CGI的安全性。通过这种方式可以使CGI程序以某个独立的用户权限运行,即使发生缓冲 区溢出,也只影响那个用户的目录/文件。

perl是一种功能非常强大的脚本语言。主要用于文本的处理,程序员还可以通过perl脚本使 用系统调用。如果程序编写的不好,就会为攻击者闯入服务器大开方便之门。因此,使用 perl脚本一定要小心,以免出现此类漏洞。在perl脚本中,处理请求数据之前,最好能够调 用专门的检查例程对输入的合法性进行检查。除此之外,还要确保Apache不是以root的权 限运行的,Perl脚本被限制在某个特定的目录下运行。

SSI(Server-Side Includes)的安全

使用SSI,程序员可以建立一些常用的例程,在需要时把这些例程包含进他们的代码 中。SSI还允许有条件地执行外部程序,攻击者可能利用这个条件让服务器执行他们的恶 意程序。在access.conf文件中使用IncludesNoEXEC指令,可以关闭执行SSI文件的功能。 不过这条指令会造成服务器不执行CGI脚本或者程序。

其它安全工具

使用TCP Wrappers和Tripwire可以为你的系统提供额外的保护。你可以使用TCP Wrappers 来控制Telnet或者FTP的访问权限。Tripwire是一个数据完整性检测工具,可以帮助系统管 理员监视系统是否被改动过,你可以在Tripwire的配置文件中编制特定的策略,监视Web 服务器的配置文件、数据和CGI文件是否被修改。

总结

Apache是一个优秀的歪脖服务器,虽然Apache的开发者非常注重其安全性,但是由于 Apache非常庞大,难免会存在安全隐患。Apache的安装维护中需要注意以下问题:

检查文件和目录的权限是否恰当。

httpd.conf、srm.conf和access.conf的设置是否适当

使服务器日志文件能够记录尽可能详细的信息。

对某些需要特别保护的目录使用密码保护(.htaccess)。

对CGI脚本或者程序进行封装。

如果CGI使用Perl编写,要详细检查其安全性

检查SSI指令

使用TCP Wrappers和Tripwire。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有