建立安全的Web站点

【摘要】Internet及Web已成为许多人日常生活、工作及交流的一种主要工具 。由于Internet是根据一定的共识进行自制、在全球范围内实现的庞大的系统,它并不在法律和政治范围内运行 。作为Web管理员,感触最深的是:确保Web安全不是件容易的事,并非一篇论文能说得清楚 。由于Internet和Web技术的开放性和多层次性,决定了Internet和Web的安全需要格外的关注 。本文就是作者根据日常工作环境,讨论如何建立安全的Web站点 。
在讨论Web站点安全之前,了解Web的技术原理,对于Web安全工作者而言应该是有益处的 。

一、Web技术简介
【建立安全的Web站点】World Wide Web称为万维网,简称Web 。它的基本结构是采用开放式的客户/服务器结构(Client/Server),分成服务器端、客户接收机及通讯协议三个部分 。
1、服务器(Web服务器)
服务器结构中规定了服务器的传输设定、信息传输格式及服务器本身的基本开放结构 。Web 服务器是驻留在服务器上的软件,它汇集了大量的信息 。Web服务器的作用就是管理这些文档,按用户的要求返回信息 。
2、客户接收机(Web浏览器)
客户机系统称为Web浏览器,用于向服务器发送资源索取请求,并将接收到的信息进行解码和显示 。Web浏览器是客户端软件,它从Web服务器上下载和获取文件,翻译下载文件中的HTML代码,进行格式化,根据HTML中的内容在屏幕上显示信息 。如果文件中包含图像以及其他格式的文件(如声频、视频、Flash等),Web浏览器会作相应的处理或依据所支持的的插件进行必要的显示 。
3、通讯协议(HTTP协议)
Web浏览器与服务器之间遵循HTTP协议进行通讯传输 。HTTP(HyperText Transfer Protocol,超文本传输协议)是分布式的Web应用的核心技术协议,在TCP/IP协议栈中属于应用层 。它定义了Web浏览器向Web服务器发送索取Web页面请求的格式,以及Web页面在Internet上的传输方式 。
Web服务器通过Web浏览器与用户交互操作,相互间采用HTTP协议相互通信(服务器和客户端都必须安装HTTP协议) 。Web服务器也称为HTTPd服务器(d是指UNIX系统中的daemon) 。最早的Web服务器软件是在UNIX系统上发展起来的,有CERN和NCSA两种类型 。现在占居市场分额最大的是Apache服务器软件,并且可以在多种环境下运行,如Unix、Linux、Solaris、Windows 2000等 。在Window环境下,由于Microsoft得天独厚的优势,因而IIS (Internet Information Server)成为Windows NT及 Windows 2000下主要的服务器软件 。
Web浏览器软件中,Netscape的Web浏览器NN(Netscape Navigator)、NC(Netscape Communicator)具有最广泛的系统平台支持,可以在所有平台上运行;Microsoft的IE(Internet Explorer)则是Windows平台上运行最完美的浏览器软件 。
Web服务器和Web浏览器之间通过HTTP协议相互响应 。一般情况下,Web服务器在80端口等候Web浏览器的请求, Web浏览器通过3次握手与服务器建立起TCP/IP联接 。
大多数Web服务器和Web浏览器已使用了HTTP/1.1版 。HTTP1.1具有许多新的特色:
(1) 能够识别主机名,允许多个虚拟主机名共存于一个IP上 。
(2) 具有内容协商的能力,允许服务器以多种格式存取资源,供Web服务器和Web浏览器选择最佳版本 。
(3) 通过持续性联接加速Web服务器的响应速度 。
(4) 允许Web浏览器请求索取文件的某部分,从而为端点续传功能提供更好的支持 。
4、公共网关接口介绍(CGI)
在讨论Internet和Web技术给人们提供潇洒服务的同时,不能不提到CGI(Common Gateway Interface) 。它是Web服务器与外部应用程序之间交换数据的标准接口软件 。有了CGI,Web网站将不只是静态页面的收藏点,而是可以通过在Web服务器上运行一定的程序,输出一个动态的页面 。CGI是一种独立于语言的接口,CGI程序可以使用任何可以访问环境变量和产生输出的编程语言来编写,有C、C、PERL、Shell等 。

推荐阅读