Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / afsweb / README.BETA2
CommitLineData
805e021f
CE
1Copyright 2000, International Business Machines Corporation and others.
2All Rights Reserved.
3
4This software has been released under the terms of the IBM Public
5License. For details, see the LICENSE file in the top-level source
6directory or online at http://www.openafs.org/dl/license10.html
7
8AFS Web Security Pack Version 1.0 for the Apache Web Server.
9
10Release Notes
11
12I. Introduction
13
14AFS Web Security Pack is an extension available for selected Web servers
15that enables system administrators to provide secure access via a
16Web browser to documents stored in the AFS filespace. This document
17summarizes the changes made to AFS Web Security for this release, and
18provides installation and configuration instructions.
19
20Note: Due the long filenames and file extensions used for the AFS Web
21Security Pack distribution files, download of the AFS Web Security Pack
22 product to a PC sometimes results in incorrect filenames. Note that all
23AFS Web Security Pack distribution files are g-zipped tar files, even if the
24*.tar.gz file extension is lost during the download process.
25
26II. Installation Prerequisites
27
28Your system must meet the following software and disk space requirements
29to install this version of AFS Web Security Pack.
30
31Operating system: Solaris 2.5.1, AIX 4.1, AIX 4.2, or AIX 4.2.1
32Web server: Apache 1.2.6
33AFS (client): AFS Client 3.4a
34Disk Space: 650 KB
35
36Note: Due to security considerations, OpenAFS strongly recommends that
37AFS Web Security Pack be used only on a server enabled with Secure
38Sockets Layer (SSL).
39
40III. New Features and Product Changes
41
42The following list describes new features and changes that are included
43in this version of AFS Web Security Pack.
44
45* Configuration of AFS Web Security Pack is now easier and more flexible. The
46AFSMountPointDir and AFSLocation directives are no longer required.
47Instead, during configuration of AFS Web Security Pack, an authorization type
48(AFSAuthType) of AFS is now specified. (See the Installation and Configuration
49instructions that follow for additional details.)
50
51* The Log In dialog box that is displayed when users attempt to access
52the AFS file space via a web browser can now be customized adding the
53AFSLoginPrompt directive to the Apache server runtime configuration
54file. (See the Installation and Configuration instructions that follow for
55additional details.)
56
57
58
59* AFS Web Security Pack now provides the ability to log attempts to
60access AFS in which permission is denied. This logging can be used to
61determine if users are attempting to access information that they are not
62 authorized to view. To configure this logging, you must add the
63 SetAFSAccessLog directive to the Apache server runtime configuration file.
64(See the Installation and Configuration instructions that follow for
65additional details.)
66
67* AFS Web Security Pack now provides the ability to translate and access user
68directories that are specified with a special character such as a tilde (~),
69for example. http://www.yourcompany.com/~smith. To enable this feature, you
70must add the User Directory directive to the Apache server runtime
71configuration file. (See the Installation and Configuration instructions
72that follow for additional details.)
73
74* The previous version of AFS Web Security Pack did not correctly permit
75directory indexing of directories for which a user was assigned lookup
76permission. In addition, the Parent Link in directory indexes did not
77always work correctly. This version of AFS Web Security Pack corrects these
78problems.
79
80* This version of AFS Web Security Pack corrects a problem with the token cache
81that occasionally caused access to AFS to be incorrectly denied.
82
83* The previous version of AFS Web Security Pack did not accept AFS passwords
84that included a space. This version of AFS Web Security Pack corrects this problem.
85
86* This version of AFS Web Security Pack corrects a communication (pipe) problem
87that occasionally caused the message SERVER_ERROR to be returned. In
88addition, this version improves performance of AFS Web Security Pack.
89
90IV. Known Defects and Limitations
91
92* Due to a preexisting problem in the AFS UNIX product, the Apache
93server Fancy Indexing option does not function as expected when AFS
94directories are displayed. If the Fancy Indexing option is enabled
95on the Apache server, when a user initially browses an ACL-protected
96directory (with "system:anyuser l" access), the user is able to see
97file details for directories and links, but not for files. Once the
98user selects a file and enters a username and password, details for
99the files are then displayed. This problem is not caused by AFS Web
100Security Pack or the Apache server, but is due to a defect in the UNIX-based
101AFS code. We are working to address this problem and will make an
102announcement when a corrected version is available. In the interim,
103please be aware of this limitation as you continue testing.
104
105V. Upgrade Instructions for AFS Web Security Pack for the Apache Web Server
106
107Note: Use the following instructions to upgrade AFS Web Security Pack on
108your Apache Web Server if Beta Version 1 or Beta Version 2 of the product
109is already installed. (If this is the first time you are installing AFS Web
110Security Pack, follow the instructions in the next section, Installing and
111Configuring AFS Web Security PAck 1.0 for the Apache Web Server.)
112
1131. Replace the existing versions of the weblog, weblog_starter and
114libapacheafs.a files with the new files provided with this version
115of AFS Web Security Pack 1.0. Also, in the Apache src directory,
116replace the mod_afs.c or afs_module.c file with the new AFS Web Security Pack
117Module, afs_module.c.
118
1192. In the Apache server Configuration file, change the line that
120references the AFS Web Security Pack module so that the line appears as
121follows:
122
123 Module afs_module afs_module.o
124
125Note: If you want to enable AFS Web Security Pack to translate and access user
126 home directories, you must include the userdir_module when you build
127the Apache server. For information on including modules when building
128the Apache server, consult you Apache server documentation.
129
1303. In the Apache server src directory, run the Configure script to
131create a new configuration Makefile for your operating system.
132
1334. Stop the Apache server process (httpd). Then, issue the make
134command to compile the Apache server.
135
1365. In the Apache server runtime configuration file, remove (or comment
137out) the following two lines:
138
139 SetAFSMountpointDir /afs_mountpoint_directory
140 SetAFSLocation /afs_location
141
1426. In the Apache server runtime configuration file, replace (or
143comment out) the SetHandler afs-authentication parameter with the
144AFSAuthType AFS parameter, so that the Location directive appears as
145follows:
146
147 <Location /afs>
148 AFSAuthType AFS
149 </Location>
150
151where /afs is the directory (or symbolic link to the directory)
152that contains the mount points to AFS to be used by the Apache
153server and AFS Web Security Pack.
154
155Note: You can specify AFSAuthType AFS for multiple locations to indicate
156that AFS Web Security Pack authentication must be used when a user attempts to
157access a specific location. (In specifying a location, you can use wildcard
158characters if desired.)
159
1607. (Optional) To customize the authorization dialog box that is
161displayed when users attempt to access the AFS file space via a
162web browser, add the following line within the Location directive:
163
164 AFSLoginPrompt [Custom Text]
165
166where [Custom Text] is the text that you want to appear in the dialog
167box that prompts users to enter a user name and password to access AFS
168filespace.
169
1708. (Optional) To enable AFS Web Security Pack to access user directories,
171add the following lines to the Apache server runtime configuration
172file. This directive specifies the syntax used to access user
173directories and indicates that attempts to access user directories
174in the AFS filespace must be passed to AFS Web Security Pack:
175
176 <Location /~*>
177 AFSAuthtype AFS
178 </Location>
179
180Then, add the following line to the Apache server runtime configuration
181file to indicate the location of user directories in AFS:
182
183 UserDir [Users Directory]
184
185where Users Directory indicates the location of user's home directories.
186
187Note: To enable user directory access in this manner, the Apache Server
188must include the UserDir module. For information on including this
189module when building the Apache server, consult you Apache server
190documentation.
191
1929. (Optional) To enable logging of attempts to access AFS in which
193permission is denied, add the SetAFSAccessLog directive to the Apache
194server runtime configuration file as follows:
195
196 SetAFSAccessLog [Access Log File]
197
198where [Access Log File] is the full path log file in which failed access
199attempts are to be recorded.
200
20110. If necessary, rename the symbolic link to the AFS filespace in the
202Apache server's document root directory with the name specified in the
203Location directive for the AFS filespace in the server's runtime
204configuration file.
205
206VI. Installing and Configuring AFS Web Security Pack 1.0 for the Apache Web Server
207
208This section provides brief installation and configuration instructions
209for Apache AFS Web Security Pack (Version 1.0 for Apache version 1.2.6
210and Apache version 1.3.1). See the product documentation for complete installation
211and configuration instructions and for details about using the configuration script to
212set up AFS Web Security Pack on the Apache server.
213
2141. Uncompress and extract the files from the .tar.gz file, placing the
215files in the following locations, where Apache Installation Directory
216is the full pathname of the directory where the Apache Web server is
217installed:
218
219- Place both the weblog and weblog_starter files in one directory,
220for example, Apache Installation Directory/afswebsecurity. These files
221can be placed in any directory as long as they remain together. However,
222if the weblog and weblog_starter files are placed in a directory in AFS,
223ensure that either the user that the Apache Web server runs as, or the
224AFS group system:anyuser is designated as having read and lookup privileges
225on the directory's Access Control List (ACL).
226
227- Place the libapacheafs.a file in any directory, for example,
228Apache Installation Directory/afswebsecurity.
229
230- Place the afs_module.c file in the Apache src directory (Apache version 1.2.6)
231or in the src/modules/extra directory (Apache version 1.3.1)
232(generally located directly beneath the Apache Installation Directory).
233
234In addition, note the location of the AFS library file, libsys.a. This
235file is installed with the AFS client, and is generally located in the
236/usr/afsws/lib/afs directory.
237
2382. Modify the Apache Server Configuration File as follows.
239
240Locate the EXTRA_LIBS line in the file, and add the paths to the
241libapacheafs.a and libsys.a libraries so that the line reads as follows:
242
243 EXTRA_LIBS=[full path to libapacheafs.a] [full path to libsys.a]
244
245In the Module configuration section of the file, add a reference to the
246AFS Web Security Pack module. It is recommended that the AFS Web Security Pack
247module be the first Authentication module.
248To add the AFS module to the list of Apache server modules, add the following line
249to the Configuration file:
250
251 Module afs_module afs_module.o
252
253Note: If you want the server to attempt to stop completely if AFS
254initialization fails, also add -DSHUTDOWN_IF_AFS_FAILS to the
255EXTRA_CFLAGS line in this file. Otherwise, on startup if the
256initialization procedure fails on startup, the Apache server
257will continue to run but AFS authentication will always fail.
258
2593. Modify the Apache Server Runtime Configuration File (for example,
260httpd.conf) as follows.
261
262Add the following lines to the runtime configuration file:
263
264 SetAFSDefault [Cell cellname]
265 SetAFSCacheExpiration [cache_expiration]
266 SetAFSTokenExpiration [token_expiration]
267 SetAFSWeblogPath [weblog_starter_path]
268
269where the arguments for these Apache server directives are as follows:
270
271[cellname] - The name of the default AFS cell to be accessed via the
272Apache server and AFS Web Security Pack.
273
274[cache_expiration] -The maximum lifetime in seconds of an AFS token
275that is stored in the local cache. The default recommendation for
276this argument is 300 seconds (5 minutes).
277
278[token_expiration] -The maximum lifetime in seconds of an AFS token
279that is stored in the AFS kernel Cache Manager. The default
280recommendation for this argument is 60 seconds (1 minute).
281
282[weblog_starter_path] -The path to the AFS Web Security Pack weblog_starter program.
283Specify the full path or a path relative to the path set by the ServerRoot Apache
284directive.
285
286Note: To enable logging of failed attempts to access AFS in which permission
287is denied, also add the directive:
288
289 SetAFSAccessLog [Access Log File]
290
291where [Access Log File] is the full path of the log file in which
292failed access attempts are to be recorded.
293
294Then, add the following additional lines to the runtime configuration file:
295
296 <Location /[afs]>
297 AFSAuthType AFS
298 </Location>
299
300where [afs] is the request provided by users in combination with the
301server hostname and domain in order to access AFS filespace.
302
303Note: This directive only works within Location (and LocationMatch for Apache 1.3.1)
304tags and not in any other tags such as Directory or File.
305
306Note: You can specify AFSAuthType AFS for multiple locations to indicate
307that AFS Web Security Pack authentication must be used when a user attempts to
308access a specific location. (In specifying a location, you can use wildcard
309characters if desired.)
310
311(Optional) To customize the authorization dialog box that is displayed
312when a user attempts to access the AFS file space via a web browser,
313add the following line to the Location directive added in the previous
314step. The Location directive then appears as follows:
315
316 AFSLoginPrompt [Custom Text]
317
318where [Custom Text] is the text that you want to appear in the dialog box
319that prompts users to enter an AFS user name and password to access the
320AFS filespace.
321
322(Optional) To enable AFS Web Security Pack to access user directories, add the
323following additional Location directive to the Apache server runtime
324configuration file.
325
326 <Location /~*>
327 AFSAuthType AFS
328 </Location>
329
330Then, also add the following additional line to the Apache server runtime
331configuration file to indicate the location of user directories in AFS.
332
333 UserDir [Users Directory]
334
335where [Users Directory] indicates the location of user's home
336directories in AFS. The location is specified relative to the
337server document root directory.
338
339Note: To enable user directory access in this manner, the Apache
340server must include the User Dir module.
341
342Save and close the modified runtime configuration file.
343
3444. Stop the Apache server process (httpd). Then, configure and make
345the Apache server and start it up with the new runtime configuration
346file.
347
3485. Add the following to the shutdown or stopd file to shutdown the
349weblog_starter process BEFORE the kill -TERM for httpd.pid:
350
351 kill -TERM `cat [path to httpd.pid].afs`
352
353For example, if the httpd.pid file is in
354/local/stronghold/apache/logs/httpd.pid, then the stopd file should
355look something like this:
356
357 kill -TERM `cat /local/stronghold/apache/logs/httpd.pid.afs`
358 kill -TERM `cat /local/stronghold/apache/logs/httpd.pid`
359
360VII. AFS Web Security Pack Documentation
361
362Postscript and HTML versions of the documentation for the initial
363Beta release AFS Web Security Pack are available in the doc directory.
364
365VIII. Additional Information about Apache and SSL
366
367The following sites on the World Wide Web provide additional information
368about the Apache Web Server and SSL.
369
370* Apache Home Page http://www.apache.org
371* Stronghold Home http://www.c2.net
372* Stronghold International http://www.int.c2.net
373* Apache-SSL Home http://www.apache-ssl.org
374* SSLeay FAQ http://www.psy.uq.edu.au:8080/~ftp/Crypto/