You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by ra...@madhaus.utcs.utoronto.ca on 1996/06/05 20:24:24 UTC
MS FrontPage Caveats Note
This is from the FrontPage distribution:
FrontPage must have read/write access to the web's content, configuration
files, the /usr/local/frontpage directory, and if possible, the HTTP server
process itself (to send a SIGHUP restart signal).
If your web server is using a protected port (a port less than 1025), the web
server must run as root. See the "Security Issues" section below for some
important security concerns. Also, see the "Restarting the Server" section
below, which describes how this limits FrontPage.
2. The FrontPage Server Extensions run under the server as a CGI program. In
order for the FrontPage Server Extensions to send the restart signal to the
HTTP server, the server's CGI programs must run under the same user account as
the HTTP server itself. Your choices are:
- Run both HTTP server and CGI scripts as root. In this case, the
UserId (if CERN) or User (if NCSA or Apache) field in your httpd.conf
file should be set to root, and you should launch the server as root.
This scheme is not necessarily a good idea however; for maximum UNIX
security, as few things as possible should run as root. See "Security
Issues" below for more details.
* FrontPage allows the users to upload executable CGI scripts. If you run
the HTTP server as root and allow the server's CGI scripts to run as root,
authors can upload arbitrary executables and shell scripts which can be
run with root privileges.
* If you run the HTTP server as root, and if you allow FrontPage users
to upload arbitrary CGI scripts, users can eventually get root privileges.
* Authors can upload arbitrary shell scripts which can affect all webs under
your HTTP server.
* FrontPage's Save Results Bot can allow the user to save form results into
a file named by a file path. If you run the HTTP server as root,
and allow the server's CGI scripts to run as root, authors can set up a form
where the results are written to an arbitrary file in the file system.
* FrontPage's Save Result Bots can allow the user to pipe form results into
an arbitrary program. This allows security holes identical to those
described above.
----
Per-User Webs
=============
Per-user webs are webs located in users' home directories, typically in a
directory with a name like "public-html". (FrontPage uses whatever
subdirectory you have set in the server's configuration file as the per-user
web directory.) FrontPage allows you to create per-user webs. To do this,
create webs prefixed with the "~" character (for example, ~fred).
Note, however, that the FrontPage Server Extensions run under a single user
account (the one the HTTP server's CGI scripts run as). Therefore, this can
cause some file-access conflicts: FrontPage may not be able to write into the
per-user web directory; even if it can, users may not be able to read or
modify files from their UNIX logins that were created with FrontPage.
If you want to use FrontPage to modify per-user webs, do one of the following
when setting up per-user webs:
- Before installing FrontPage into a user's web, change the owner/group
of all the per-user web's files to the FrontPage user/group. Also,
change the file access permissions to be compatible with the HTTP
server's umask.
- Change the /etc/group file so that each user is in the FrontPage
group. Use a group-inclusive umask for the HTTP server. Then, change
the group and access modes of the user's per-user web directories and
files so that they are writable by their group and so that their group
is the FrontPage group. Note however, that using this scheme will
allow these users to modify any files in any other web under the HTTP
server from their UNIX login.