Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

http/www安全

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

1.前言

  还记得美国为首的北约轰炸我驻南联盟使馆,大家义愤填膺但又无可奈何,于是有黑客呼吁黑美国佬的网站,很快大家纷纷学习攻击Web的方法和技巧,并且成功的黑了美国的几个军事主页,有的还挂上了五星红旗。这令美国政府十分尴尬。要投巨资维护Web站点的安全。另一个最近的例子是,国内最大的综合性网站新浪在某天上午被黑客成功攻击,其门户页面被换成了黄色页面。给新浪造成了不小的副作用。这两个例子说明了Web站点的安全是十分重要的,可以说,随着Internet的飞速发展,Web的安全其重要性逐渐超过其他应用安全。同时,由于Web必须要有开放性,这就是说,必须让任何人都能够有访问的权利,因此,使得防范更加困难。

  Web的安全分为服务器安全和客户端安全(浏览器),前者主要针对Web的构建者,后者针对普通的用户。本章将就这两方面展开讨论。

2.什么是HTTP 

  HTTP(Hypertext Transfer Protocol)超文本传输协议允许用户从WWW(World Wide Web)以及其他分布式信息系统请求和接受超文本的内容。它运行在TCP之上并用绑定服务器端口80,然后它还可以使用其他端口和协议来提供一个可靠的数据流。它是一个请求/响应协议。为了获得信息,一个浏览器客户程序(如netscape)向一个Apache服务器建立一个TCP连接并请求一个资源(“GET”)。服务器检查请求并根据服务器配置和包含的内容进行响应。服务器也许发送一个超文本标记语言(HTML)文件、文本、图片、声音、影像或一个java applet,它们可以在浏览器显示出来。服务器也可以运行一个程序来响应浏览器的请求(如通用网关接口或服务器的应用程序接口)。

  测试HTTP连接的一个简易方法(同时也是一个潜在的安全漏洞)是telnet到一个Web服务器主机的端口80。可以输入“GET/”来浏览站点的基本HTML文档(如index.html),如下所示(去掉了HTML内容):

  telnet www.mysite.com 80
  Trying…
  Connected to www.mysite.com.
  Escape character is ‘^]’
  (在此敲入GET /) GET /

  下面刷的出来一个html的文件,例如:

  <html>
  <head>
  <title>老虎之家</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  </head>
  
  <frameset rows="128,327*" frameborder="YES" border="0" framespacing="0" cols="*
    <frame name="topFrame" scrolling="NO" noresize src="index-3.html" >
  <frame name="mainFrame" src="index-2.html"> </frameset> <noframes><body bgcolor="#FFFFFF"> </body></noframes> </html> Connection closed by foreign host.

3.安全风险的分类 

  Web安全风险一般可以分为三类:

  • 对Web服务器及其相连LAN的威胁
  • 对Web客户机的威胁
  • 对服务器和客户机之间的通信信道的威胁

3.1.服务器的风险

  通常的网络安全总是设置各种各样的限制,使得不明身份的人无法获得非授权的服务

  但是Web服务器恰恰相反,它希望接受尽可能多的客户,对客户几乎没有任何限制和要求,好了,这样,相对于其他网络服务器,Web是最容易受到攻击的。最常见的威胁是HTTP服务器软件中的bug、错误的配置、不安全的CGI程序或者缺乏强大的机密功能等等。服务器通常受到的侵害有:修改和替换服务器提供的内容;获得对服务器访问控制保护的保密文档的访问权;在服务器上执行任意命令并破坏服务器的系统安全;检查日志文件来危害用户的隐私;进行服务拒绝攻击,使服务器或者网络连接失败。

3.2.客户端风险

  浏览网页是一个并不十分安全的活动。Bug、不合适的“活跃内容”和脚本以及服务器管理可以带给浏览者如下危害:应用程序和系统崩溃;包括病毒和特洛一木马在内的恶意代码;丢失保密的信息;隐私被侵犯等等。

  主要的Web浏览器都支持下载嵌在HTML主页中的脚本并在浏览器中执行他们的功能。通常,这些程序用来与用户交互并在浏览器和服务器之间传输信息。例如,在Netscape的javascript和微软的Vbscript中都存在过bug。甚至在没有bug时,对一个有恶意的Web管理员来说,把能够突破保密措施或引起严重损失的脚本放在HTML主页中也是挺容易的。一种常见的攻击方式是创建一个javascript来欺骗性的产生一个错误信息或一个提示来要求用户提供网络登录ID和口令。其他的客户风险来自于隐私的侵犯。许多Web站点为客户写了一个验证cookie,cookie可以跟踪用户并暴露他们去了什么站点。按照指定cookie处理的RFC的要求,客户软件应提供一种方式来指明cookie应该或不应该被保存的域。

3.3.传输安全

  在Web客户机和Web服务器之间传输的信息可能在连接的任一端或中间任何地方被窃听或截取,包括客户机的LAN、服务器的LAN、客户机的ISP、服务器的ISP、两个ISP之间的任何中介网络。

    幸运的是,目前IPSec(IP协议安全体系结构)的提出,使得网络通信可以通过在IP层进行认证和加密。但是目前还没有普及。

4.保护Web服务器的安全 

4.1.选择安全的服务器软件

  在Linux上有很多的httpd服务器软件。例如:

更多相关文章
Power by linux-cn.com 粤ICP备05006655号