Linux 版 (精华区)

发信人: netiscpu (网中鸟~~99%), 信区: Linux
标  题: UNIX平台Web服务器的构建及访问控制策略
发信站: 紫 丁 香 (Sun Jul  4 19:21:13 1999), 转信


UNIX平台Web服务器的构建及访问控制策略

    广州中山大学电子系 李晓宁
    一、引言
    在Internet迅速发展的今天,许多机构和单位都希望在Internet上建立自己的站点,
或应用Internet的技术建立自己的内部网Intranet。在Internet技术中,最基本最重要的
环节是构建WEB服务器及访问控制策略。下面讨论在UNIX 平台上WEB服务器的构建及访问
控制的具体实现。
    二、WEB服务器
    在Internet中,应用最多的WWW信息服务,所采用的技术是客户机 / 服务器模式技术
,即在服务器上运行WEB服务器软件,监听客户机请求,提供所需信息;在客户机上运行浏览
器软件,向服务器提出请求,并将所得到的信息提供给用户,两者共同完成用户访问网页的
工作。
    Web服务器软件httpd启动时读取配置文件,根据获取的参数来决定Web服务器httpd的
运行环境。因此,选择一个合适的WEB服务器软件是基础,配置好其参数文件是关键。
    三、编译产生WEB服务器
    WEB服务器软件在不断地更新,而且在许多情况下得到的是其源代码的压缩包。以UN
IX平台的Apache WEB服务器为例,其源代码为Apache_1_2_4.tar.gz压缩包。产生Apache
 服务器的步骤如下:
    1、将源代码压缩包Apache_1_2_4.tar.gz移至目录/usr/us0下。
    2、用解压缩应用程序gzip解压:  $ gzip  -d  Apache_1_2_4.tar.gz
    3、用tar 命令打开文档包:   $ tar  xvf  Apache_1_2_4.tar
    4、产生目录 /usr/us0/apache_1.2.4,其下为apache服务器的源代码程序。为方便
使用,可用符号链接产生一个软链接apache目录: $ln  -s  /usr/us0/apache_1.2.4   
/usr/us0/apache
    5、进入目录apache/src,编辑Configuration ,检查变量CC的值是否与要用的编译器
一致和变量CFLAGS的值是否合适,运行Configure进行编译。
    6、 进入support目录编辑Makefile,检查变量CC和变量CFLAGS,运行make进行编译。
    至此,编译产生WEB 服务器的工作已完成。
    四、WEB服务器的配置文件
    在/usr/us0/apache/conf 下Web服务器的配置文件:·httpd.conf  服务器配置文件
,其参数对服务器httpd如何运转作了最基本的技术描述。·srm.conf  服务器资源映象
文件,其参数定义httpd如何为提供文件服务,将客户机所请求的数据与服务器上实际数据
建立关系。·access.conf  服务器访问配置文件,其参数定义控制访问服务器的策略。
    如果使用超级服务器inetd启动httpd,还必须配置以下两个系统文件:·/ etc / in
etd.conf  超级服务器inetd启动配置文件,其参数定义inetd所要监听和启动的各种服务
器的有关参数。·/ etc / services   服务器服务文件,其参数定义服务器的名称与端
口信息。
    因此,采取standalone方式时,应配置文件:httpd.conf、srm.conf、access.conf;而
采取inetd方式时,应配置文件httpd.conf、srm.conf、access.conf、/ ect / inetd.c
onf、/ ect / services。
    下面阐述一些httpd.conf、srm.conf、access.conf配置文件中最重要的参数设置。
·服务器配置文件httpd.conf的参数:
    Server Type(服务器类型)
    standalone方式:通常用WEB服务器被频繁访问的情况。
    inetd方式:一般用于WEB服务器访问频率较低的情况。
    port(端囗)
    指定在standalone方式下服务器监听端口,缺省值为80。通过不同的端口号来区分不
同的http协议进程,在一个平台上可建立多台WEB服务器。如果在特权下运转服务器,该端
囗值应小于1023。   User&Group(用户和组)
    指定在standalone方式下,运行服务器的用户身份标识及组标识。从安全性考虑,应
专门为httpd建立合法但不具有shell的用户及组。
    ServerRoot(服务器根目录)
    给出Web服务器根目录,应与编译产生WEB服务器时的目录一致。·服务器资源映象文
件srm.conf的参数:
    DocumentRoot(文档根目录)
    指定Web服务器存放提供文档服务的目录。
    DirectoryIndex (目录索引)
    在浏览器的URL中未指出文档时,指定WEB返回给浏览器的文档名,同时也是一个安全
措施,因为此项缺省,服务器会向浏览器提供该目录的完整列表。
    ScriptAliax(脚本别名)
    设定存放CGI脚本的目录,第一参数为客户端URL中应给出的虚路径,第二参数为CGI脚
本文件实际存放的路径。·服务器访问文件access.conf的参数:  文件采用的语法格式
: <  Directory  目录名 >  访问控制块 <  / Directory  >  在块中可使用下列命令
:AllowOverride
    控制全局访问文件Access.conf与用户.Htaccess文件之间的关系,参数可为:
    ·NONE服务器忽略在该目录中的.htaccess文件。
    ·ALL信任服务器上的所有用户,用户.Htaccess可以覆盖全局访问文件选项 (缺省值
)。Option
    用来控制目录中所具有的服务器特性,参数为:
    ·NONE  不允许任何新的功能。
    ·ALL  允许任何新的功能(缺省值)。
    ·FOLLOWSYMLINKS
    在指定目录中服务器沿用符号链接。
    ·INDEXS 服务器允许用户在指定目录中请求索引,关闭此选项只能关闭服务器生成
的文件列表,而不是Index.htm口令保护命令组及参数   AuthName 口令键入窗的提示字
符串。   AuthType  使用身份验证的方法,值为Basic。   AuthGroupFile 组文件的全
程路径名。   组文件格式为  口令组名:成员1 成员2
    成员3 …成员n   AuthUserFile 用户口令文件的全程路径名。 口令文件的建立:$
/usr/usd/apache/support/
    htpasswd  -c  全程口令文件名、用户名  其中:-c  建立新口令文件。
    五、 应用实例
    构建以standalone方式启动的WEB 服务器,使该服务器文档只允许来自zsu.edu.cn的
主机访问。WEB空间下的sample 目录仅允许用户名为isde的访问。限于篇幅只给出需要
重新配置的关键参数。
    1、配置·/usr/us0/apache/conf/httpd.conf   服务器配置文件  ServerType   
standalone  port  80  user  nobody  group  nogroup  ServerRoo t   /usr/us0/a
pache·/usr/us0/apache/conf/srm.conf
     服务器资源映象文件  DocumentRoot  /usr/us0/docs  DirectoryIndex  index.
html  ScriptAlias
    /cgi-bin//usr/us0/apache/
    cgi-bin/·/usr/us0/apache/conf/access.conf  服务器访问文件  < Directory
     /usr/us0/apache/cgi-bin >
     Options
    Indexs
    FollowSymlinks  < / Directory >  < Directory  /usr/us0/docs >
     allowoverride  all
     < Limit
    GET >
    order  deny , allow
    deny from all
    allow  from  zsu.edu.cn
     < / Limit >  < /Directory >·/usr/us0/docs/sample/ . htaccess
    用户目录的访问文件  AuthUserFile /usr/us0/secure/.htpasswd  AuthName Sec
uritTest  AuthType Basic  < LIMIT GET >
    order deny , allow
    deny from all
    allow from zsu.edu.cn
    require valid-user  < /LIMIT >·建立用户口令文件  $ /usr/us0/apache/supp
ort/htpasswd  -c  /usr/us0/secure/.htpasswd  isde
    Adding password for isde.
    New password:
    Re-type new passwdord2.制作信息  在 /usr/us0/docs下制作名为index.html的H
TML文件3.启动Web服务器  $ /usr/us0/apache/httpd
    -d   /usr/us0/apache4.检测Web服务器  在客户机浏览器的URL向WEB(域名为www.
ee.zsu.edu.cn)发出请求。如果WEB服务器构建正确时,合法访问者可浏览到页面信息。
    六、结束语
    Web 服务器在Internet / Intranet 技术中是关键的一个环节,只有对Web 服务器运
作及配置文件的机理有较充分的了解,才能根据实际情况进行Web服务器的构建,使服务器
既安全又能良好地运行。

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: dns.mtlab.hit.ed]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.750毫秒