Departmental Web Server Structure, Draft Proposal

DRAFT 6.2
1 February 1995
Nathan Bush, nbush@uci.edu
Shohreh Bozorgmehri, shohreh@uci.edu
University of California Irvine Office of Academic Computing

Most current online copy kept at http://www.oac.uci.edu/X/W6/web-struc/web-struc.html


Introduction

In the simplest case, all the documents available via a single web server come from a single source and none of the materials needs to be hidden from the users of that machine. In this case, using a single account to create web documents and making all of them world-readable allows them to be served over the web.

One significant drawback of this approach is that all the documents can be modified by any user with access to the single account being used and only by such a user. An obvious solution to this problem is to use separate accounts for different users or groups of users. This allows different individuals and groups to use a common server to distribute files provided that those files are readable by the server. In many cases, ``readable by the server'' can be adequately translated into ``readable by any user on the system.'' After all, the web server is going to publish the documents to the world. But web access to various documents and services can be limited by a variety of mechanisms, and one is still left with the question of limiting access to documents by other users of the system. Running web servers only on systems with severely restricted login bases is one way to approach this problem. Judicious structuring of the login accounts and groups is the approach this proposal outlines.

There are situations where it is not appropriate to have all web documents left world-readable. The documents may come from multiple, unrelated sources. The documents may contain sensitive information, and will need to be protected from access by other users on the machine. The web server may get the documents from a file system that is also exported to another networked machine, whose users should not have access to the information.

The solution is simplest when the documents only need to be protected from users not involved in their creation. A special group can be created that all information providers and the web server itself will share. The documents can be set to this group ownership, and will no longer need to be left world readable.

If information providers need to protect documents from each other, several groups can be created, one for each information provider. The server will need to belong to all of these groups. This method is most secure, but is limited by the number of distinct groups which the operating system allows any single user to belong to.

All of these situations can be addressed by creating special web information providing accounts and groups, and setting memberships and privileges appropriate to individual situations.


Users Involved in Web Operation

In summary, we can consider the system administrators as managers of an office building in which an office manager (w3admin) establishes the conditions under which a distribution clerk (w3serv) responds to requests from clients by delivering information which individual and institutional information providers have authorized be released.

This structure provides for a central point of contact for all issues relating to the web server. It also clearly defines who is responsible for maintenance of the web server, and who is responsible for the information it contains.


Implementation Methods

This document outlines three alternative methods to implement Departmental Web Server Structure. In addition, it discuses the advantages and disadvantages of each strategy.

All three structures provide separate logins and some way of grouping to provide more security on Web space. In all methods, the web server runs as a special user account w3serv which delivers to web clients documents made available by information providers.

The first method describes the base (recommended) method. It limits the proliferation of groups by reliance on the w3pubg group to which the web server pseudo-user, w3serv, belongs.

Using this method, there are two disadvantages. An information provider either must allow ``world'' access to files being published or must set group ownership of such files to a group of which w3serv is a member (e.g., w3pubg). On the other hand, this may be an advantage - giving the information providers ability to ``publish'' documents only when necessary. Furthermore, because all documents belong to the same group, and all information providers are members of this group, all information providers have the ability to read all documents on the web server.

In second method (a more secure method), each information provider has a special account and belongs to a special group. People who maintain the web documents can share this account. The web server account must belong to all information provider groups in addition to its own primary group to make all documents accessible by the web server. Therefore, all documents can have ``640'' (owner-read-and-write, group-read) permission; a document needs to be readable only by group and not by others to be readable by the web server.

This way different information providers cannot access each other's documents. The only draw back would be the limitation on the number of groups that the web server can belong to. If the number of information providers grows then this method cannot be implemented.

The third method (the simplest method), does away with the special information provider groups entirely. All information providers belong to the same group and any group-readable file is accessible to all other information providers and access via the web server is limited only by server-dependent mechanisms.


Alternative Structures

The following provides a summary of implementation details for each method and it discusses their advantages and disadvantages.

(2) Information providers' home directories should have 700 permission for more security if they are located outside of the document space. Because all information providers belong to the same group, any other permission makes it possible to accidentally grant access to files in the publisher account to all other information providers. If the publisher account home directory is inside the document space, the permissions could be set to 710 or 750.

Another disadvantage of methods 1 and 3 is the way they handle Zot Dispatch Append. Group writability allows both w3serv and an information provider full access to the appended file, but allows this to all information providers! -- giving up significant amount of security. One solution is to create a special group w3writeg to which the information provider and w3serv belong. In addition, the group ID of the append file has to be w3writeg.

In conclusion, obtaining simpler implementation implies giving up some security. Departments should decide what method best fits their environment and needs.


Notes for All Methods

  1. winst* home directories are optional.
  2. All publisher accounts should use umask 027
  3. For DocumentRoot permissions:

Web Server Activities by User Type

This chart lists several activities that are part of web server operation. It indicates which users perform each activity and the permissions required for each.

Activity		root      w3admin   w3serv    winst*    indiv
========		========  ========  ========  ========  ========

start/restart server	*         -         -         -         -
alter server cfg/bin	*         *         -         -         -
read server cfg/bin	*         *         *         -         -

add dirs in web		*         +         -         +         -
add docs in web		*         +         -         +         -
read docs in web	*         *         *         +         +

chown			*         -         -         -         -
chgrp/chmod		*         +         -         +         +

Legend

* user can perform this activity with no restrictions
+ user can perform this activity with some restrictions
- user cannot perform this activity

Nathan Bush, nbush@uci.edu and Shohreh Bozorgmehri, shohreh@uci.edu
Departmental Web Server Structure, Draft Proposal