字号: 小 中 大 |
推荐给好友
上一篇 |
下一篇
详细点评企业用户十大开源软件
发布: 2008-10-08 12:12 |
作者: 转载 |
来源:
测试时代采编 |
查看: 119次 | 进入软件测试论坛讨论
领测软件测试网
Apache
服务器的工作原理
Web系统是客户端/服务器式的,所以应该有服务器程序和客户端程序两部分。常用的服务器程序是Apache;常用的客户端程序是浏览器(如IE、Netscape、Mozilla)。我们可以在浏览器的地址栏内输入统一资源定位地址(URL)来访问Web页面。Web最基本的概念是超文本(Hypertext)。它使得文本不再是传统的书页式文本,而是可以在阅读过程中从一个页面位置跳转到另一个页面位置。用来书写Web页面的语言称为超文本标记语言,即HTML。WWW服务遵从HTTP协议,默认的TCP/IP端口是80,客户端与服务器的通信过程简述如下:
1)客户端(浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。
2)Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。
3)断开与远端Web服务器的连接。
Apache服务器面临的
安全问题
为了保护Web服务器不被恶意攻击和破坏,第一步就是要了解和识别它所面临的安全风险。以前,Web站点仅仅提供静态的页面,因此安全风险很少。恶意破坏者进入这类Web站点的唯一方法是获得非法的访问权限。
近年来,大部分Web服务器不再提供静态的HTML页面,它们提供动态的内容,许多Web站点与颇有价值的客户服务或电子商务活动应用结合在一起(这也是风险所在,通常不注意的)。
1)HTTP拒绝服务
攻击者通过某些手段使服务器拒绝对HTTP应答。这使得Apache对系统资源(CPU时间和内存)
需求剧增,最终造成系统变慢甚至完全瘫痪。Apache服务器最大的缺点是,它的普及性使它成为众矢之的。Apache服务器无时无刻不受到DoS攻击的威胁。主要包括以下几种形式。
-
数据包洪水攻击。一种中断服务器或本地
网络的方法是数据包洪水攻击,它通常使用Inte
.net控制报文协议(ICMP)包或是UDP包。在最简单的形式下,这些攻击都是使服务器或网络的负载过重,这意味着黑客的网络速度必须比目标的网络速度要快。使用UDP包的优势是不会有任何包返回到黑客的计算机。而使用ICMP包的优势是黑客能让攻击更加富于变化,发送有
缺陷的包会搞乱并锁住受害者的网络。目前流行的趋势是黑客欺骗目标服务器,让其相信正在受到来自自身的洪水攻击。
- 磁盘攻击。这是一种更残忍的攻击,它不仅仅影响目标计算机的通信,还破坏其硬件。伪造的用户请求利用写命令攻击目标计算机的硬盘,让其超过极限,并强制关闭。这不仅仅是破坏,受害者会遭遇不幸,因为信息会暂时不可达,甚至丢失。
- 路由不可达。通常,DoS攻击集中在路由器上,攻击者首先获得控制权并操纵目标机器。当攻击者能够更改路由器的路由表条目的时候,会导致整个网络不可达。这种攻击是非常阴险的,因为它开始出现的时候往往令人莫名其妙。毕竟,你的服务器会很快失效,而且当整个网络不可达,还是有很多原因需要详审的。
-
分布式拒绝服务攻击。最有威胁的攻击是分布式拒绝服务攻击(DDoS)。当很多堡垒主机被感染,并一起向你的服务器发起拒绝服务攻击的时候,你将伤痕累累。繁殖性攻击是最恶劣的,因为攻击程序会不通过人工干涉蔓延。Apache服务器特别容易受攻击,无论是对分布式拒绝服务攻击还是隐藏来源的攻击。为什么呢?因为Apache服务器无处不在。在万维网上分布着无数的Apache服务器,因此为Apache定制的病毒(特别是SSL蠕虫)潜伏在许多主机上;带宽如今已经非常充裕,因此有很多的空间可供黑客操纵。蠕虫攻击利用服务器代码的漏洞,通过SSL握手将自己安装在Apache服务器上。黑客利用缓冲溢出将一个伪造的密钥安装在服务器上(适用于运行低于0.9.6e版本的OpenSSL的服务器)。攻击者能够在被感染的主机上执行恶意代码,在许多这样的病毒作用下,下一步就是对特定的目标发动一场浩大的分布式拒绝服务攻击了。通过将这样的蠕虫散播到大量的主机上,大规模的点对点攻击得以进行,对目标计算机或者网络带来不可挽回的损失。
2)缓冲区溢出
攻击者利用CGI程序编写的一些缺陷使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。比如,一些Perl编写的处理用户请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令。
3)攻击者获得root权限
如果Apache以root权限运行,系统上一些程序的逻辑缺陷或缓冲区溢出的漏洞,会让攻击者很容易在本地获得
Linux服务器上管理员root权限。在一些远程的情况下,攻击者会利用一些以root身份执行的有缺陷的系统守护进程来取得root权限,或利用有缺陷的服务进程漏洞来取得普通用户权限,用以远程登录服务器,进而控制整个系统。
文章来源于领测软件测试网 https://www.ltesting.net/