主页 > 知识库 > 服务器 > Apache/IIS >

Linux服务器安全策略详解之Apache简介

来源:it168 作者:曹江华 发表于:2012-06-20 10:01  点击:
6.1 Web服务器软件Apache简介 随着网络技术的普及、应用和Web技术的不断完善,Web服务已经成为互联网 上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本章将重点介绍Web面临的主要威胁,并结合在Linux中使用最 多的Apache
6.1  Web服务器软件Apache简介
  随着网络技术的普及、应用和Web技术的不断完善,Web服务已经成为互联网 上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本章将重点介绍Web面临的主要威胁,并结合在Linux中使用最 多的Apache服务器,介绍进行Web服务器安全配置的技巧。
  6.1.1  Apache的发展历史
  Apache 源自由NCSA(University of Illinois, Urbana-Champaign)所开发的httpd。在1994年中期,许多Web主管自行发展自己的外加功能及修正码。一小批的Web主管通过私人 电子邮件聚集在一起来实现他们的改变(以"patches",即补丁的形式出现)。在1995年2月底,8位核心贡献者成立原始的Apache组织(取自 A PAtCHE),1995年4月,Apache 0.6.2公布。
  在1995年5月到7月,一个新的服务器架构被开发出来(程序名 为Shambhala),包含了模块结构及API。这个服务器架构是基于存储池的存储器配置及要调整的预设分支处理模式开发的。这个开发群体在7月份将此 服务器架构转换到新的服务器上,并为Apache 0.7.x新增特色,于8月推出了Apache 0.8.8。在一年之内,Apache服务器超过了NCSA的httpd成为Internet上排名第一的服务器。
  Apache的强项是极大的市场占有率:Apache是今天网际网路金字招牌第一号,远远将竞争者抛在后面。特别是,Apache市场占有率表现出几个使对方望尘莫及的优势:
  ① 起源于HTTP协议--降低了用户加入协议来支援新的应用软件的门槛;
  ② 给UNIX/Linux带来生机--Apache走到哪里,UNIX/Linux就走到哪里;
  ③ 支援厂商的支持,为Apache提供的工具/模块持续成长。
  特别是IBM宣布将把Apache作为其WebSpehre应用服务器的一部分,这一轰动的宣布被商业报纸称为是开放源代码软件的一次突破。
6.1.2  市场情况
  统计显示,最流行的Web服务器是OSS/FS。比如,Apache就是现在排行第一的Web服务器,其市场份额比位于第二位的IIS高出了一倍多。
  1.互联网上Web服务器统计
   Netcraft在Web服务器上的统计(http://www.netcraft.com/survey)显示,自从1996年4月以 后,Apache就成为了Web服务器领域应用最为广泛的软件。而在此前,使用最广泛的Web服务器是   NCSA Web服务器(这是Apache的前身,也是OSS/FS)。它在1995年8月至1996年3月间占据了Web服务器市场份额第一的位置。从2000年 开始,Netcraft就尝试只计算那些"活跃"的Web站点。因为很多Web站点被创建以后并未被使用(比如,虽然注册了域名但并未使用),这样的站点 就属于"非活跃"的站点,很显然,这种统计方式更能反映实际的情况。在统计活跃的站点时,2006年6月的数据是Apache占据了61.25%的市场份 额,IIS占据了29.71%,而Sun的份额是1.53%,Zeus的份额是0.62%。图6-1反映的是1995年9月至2006年6月,Web服务 器市场份额的变化情况(链接http://news.netcraft.com/archives/web_server_survey.html)。



  图6-1  Netcraft公司统计的Web服务器使用情况
  2.商业网站统计
   E-soft(http://www.securityspace.com/s_survey)进行的另外一个独立的调查也显示了Apache在Web 服务器领域占有统治地位。截至2006年7月1日,该调查把Web服务器进行了细分,共调查了8 676 467个Web服务器,得出商业站点(.com)使用的Apache名列第一,市场份额是70.60%,接下来是IIS(23.93%)。链接 http://www.securityspace.com/s_survey/data/200606/domain.html,如图6-2所示。
  3.安全服务器领域
   Netcraft报道,Apache已经超越微软成为开发者首选的SSL服务器,有44.0%的加密链接网站使用Apache作为服务器,43.8%使 用微软产品。作为SSL协议的最初开发者,Netscape原本拥有最多的市场。但是Netscape的市场份额很快被微软借助IIS所超越,IIS在几 年内始终拥有40%~50%的市场。Apache的第一版本不支持SSL,因为美国对加密算法有出口限制,所以开源项目的加密部分必须放到美国境外进行开 发,同时必须单独发布。因此许多独立的项目为Apache提供了SSL支持,包括Apache-SSL和mod_ssl。但是当时一些商业版本的SSL模 块,比如,c2net的Stronghold更为流行。到了Apache第二版本,mod_ssl被作为默认模块包含进来,Apache开始成为一个流行 的SSL服务器。Netcraft关于SSL的调查自从1996年开始跟踪互联网上不断增多的支持SSL的Web服务器所用的服务器软件、操作系统和验证 算法(http://news.netcraft.com/archives/2006/04/26/apache_now_the_leader_ in_ssl_servers.html)。



  图6-2  E-soft统计的.com网站使用Web服务器的情况
   E-soft也专门对安全的服务器(支持SSL/TLS的Web服务器,比如电子商务站点)进行了调查,即使是在这些领域,Apache的市场份额也有 52.07%,而在同一领域中,IIS的份额是39.66%。因为Stronghold是将Apache重新打包以后发行的产品,所以Apache这个领 域的实际市场份额应该更多(链接http://www.securityspace.com/s_survey/sdata/200606 /index.html)。
  很显然,各个Web服务器的市场份额经常都处于变化之中,最新的情况我们可以查看上述的相关链接。实际上,在最新的数据中,Apache依然遥遥领先。
6.1.3  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服务器的连接。
  下面是一个客户端发送给Web服务器请求的数据包的内容:
  GET /engineer/ideal/list.htm HTTP/1.1
  Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
  application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
  Referer: http://www.linuxar.com.cn/engineer/ideal/
  Accept-Language: zh-cn
  Accept-Encoding: gzip, deflate
  User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
  Host: www.linuxar.com.cn
  Connection: Keep-Alive
   从代码中可以看到,在客户端的请求里包含了很多有用的信息,如客户端类型等。Web服务器会将请求的Web页内容发送返回给客户端。HTTP/1.1说 明:HTTP/1.1(超文本链接协议1.1版本)是HTTP协议的最新版本。HTTP协议是运行在TCP/IP协议组上的万维网应用协议。HTTP /1.1提供了比前一版本更快的访问网站速度,同时针对网络资源进行优化,降低了网络流量。HTTP/1.1由互联网工程任务组开发。现在大部分服务器和 网站都支持HTTP/1.1协议。
  下面是一些HTTP/1.1能够加快网页访问速度的原因。
  (1)以往的HTTP协 议每次访问应用程序时,都会进行创立及撤销链接的步骤。HTTP/1.1在首次访问网站时建立持久链接,将多个请求批量或通过管道发送到输出缓冲区内。 TCP协议允许将多个来自IP层的数据包请求或回复命令集中到一个TCP段中。因此减少了反复建立链接所需的时间,同时由于没有了不必要的申请链接数据 包,也降低了网络流量。由于将命令通过管道输送,大大提高了TCP段的效率。总之,网络流量降低了,性能提高了。
  (2)当支持 HTTP/1.1的浏览器发现网页是未压缩网页时,会将网页进行压缩后进行传输,这样可以节约更多流量空间,不过由于网页中的图片文件一般都已经被压缩 过,因此,这种压缩对图片多的网页不太有效。除持久链接及其他改进后的性能之外,HTTP/1.1还允许多个域名共享同一IP地址。这简化了网络服务器对 虚拟主机数目管理的处理量。
6.1.4  Apache服务器的特点

有帮助
(0)
0%
没帮助
(0)
0%