Secure Web Server Administration Guide

TAG:  web server 
Published Time: -
Filetype: pdf
Filesize: 0
Secure Web Server for Tru64 UNIX Administration Guide Printed in the US Published: December 2006
©Copyright 2006 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor'sstandard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.. UNIX isaregistered trademark of The Open Group
Table of Contents About ThisDocument......................................................................................................... 9 1Intended Audience.................................................................................................................................. 9 2Document Organization.......................................................................................................................... 9 3Typographic Conventions........................................................................................................................ 9 4Related Information................................................................................................................................. 9 5HPEncouragesY our Comments ............................................................................................................. 10 1 Overview ....................................................................................................................... 11 1.1 Accessing the Secure Web Servers ........................................................................................................ 11 1.1.1 Choosinga Web Server ................................................................................................................ 12 1.1.1.1 Secure Web Server 1.3.......................................................................................................... 13 1.1.1.2 Secure Web Server 2.0.......................................................................................................... 13 1.1.1.3 Tomcat Java Servletand JavaServer Pages Container .............................................................. 14 1.1.2 Managing the Apache Web Servers ............................................................................................... 14 1.1.2.1 Migration Utilities for the Secure Web Server ........................................................................ 15 1.1.2.2 Tuning Tru64 UNIX for the Secure Web Server ...................................................................... 16 1.1.3 Managing the Administrator Password ......................................................................................... 16 1.2 WebServer Administration Functions .................................................................................................. 17 1.3 DynamicModules............................................................................................................................... 17 1.4 TomcatJava Servletand JavaServer Pages Container ............................................................................. 17 1.5 SSLandtheSecure Web Server............................................................................................................ 17 2 Managing the Secure Web Server ............................................................................ 19 2.1 ChangingConfiguration Parameters..................................................................................................... 19 2.1.1 Changing Server Tuning Parameters ............................................................................................. 21 2.1.2 Changing Access Control Entry Parameters .................................................................................. 22 2.1.3 Changing Listening Port and IP Address Parameters ..................................................................... 24 2.1.4 Changing Virtual Host Parameters for the Public Web Servers ........................................................ 25 2.1.5 Changing URL Default Parameters for the Public Web Servers ....................................................... 29 2.1.6 Changing HTML Directory Alias Parameters for the Public Web Server .......................................... 30 2.1.7 Changing CGI Directory Alias Parameters for the Public Web Server .............................................. 31 2.1.8 Changing Logging and Reporting Parameters ............................................................................... 31 2.2 ChangingPublic Web Server User Accounts ......................................................................................... 33 2.3 Displaying Public Web Server Status .................................................................................................... 34 2.4 Displaying Public Web Server Information ............................................................................................ 35 2.5 Viewing WebServer Reports and Log Files ........................................................................................... 35 2.6 Refreshing the Administration Web Server Log Files ............................................................................. 37 2.7 Startingand Stopping the Secure Web Server ........................................................................................ 37 2.8 Changingthe Password for the Administration Web Server ................................................................... 38 2.9 AllowingRemote Access to the Administration Web Server ................................................................... 38 2.10 Dynamically Adding and Removing Server Modules ........................................................................... 40 3UsingDynamic Modules ............................................................................................. 43 3.1 Secure WebServer Support for Apache Dynamic Modules ..................................................................... 43 3.1.1 Standard Modules Provided as DSO Modules ............................................................................... 43 3.1.2 Nonstandard Modules Provided as DSO Modules ......................................................................... 43 3.2 Activating the Apache DSO Modules ................................................................................................... 44 3.2.1 Usingthe LoadModule Directive .................................................................................................. 44 3.2.2 Usingthe AddModule Directive ................................................................................................... 44 3.2.3 Verifying the Configuration File ................................................................................................... 44 3.2.4 Activating an Apache DSO Module —Example............................................................................ 45 Table of Contents 3
4 Implementing the Tomcat Java Servletand JavaS erver Pages Container.............. 47 4.1 TomcatOverview................................................................................................................................ 47 4.2 Using Tomcatasa Standalone Public Web Server .................................................................................. 47 4.3 LocatingTomcat Directories ................................................................................................................. 48 4.4 Selectinga Java Environment ............................................................................................................... 48 4.5 StartingTomcat................................................................................................................................... 48 4.5.1 Starting and Stopping Tomcat from the Administration Utility ....................................................... 48 4.5.2 Restarting Tomcat ina Non-TruCluster Environment ..................................................................... 49 4.5.3 Restarting Tomcat ina TruCluster Environment ............................................................................ 49 4.5.4 TomcatLog Files......................................................................................................................... 50 4.6 Accessing the Tomcat Administration and Manager Applications .......................................................... 50 4.7 Accessing the Tomcat Examples ........................................................................................................... 51 4.8 LocatingAdditional Information .......................................................................................................... 51 5 Enabling the Secure Socket La yer Protocol ............................................................... 53 5.1 SSLConcepts...................................................................................................................................... 53 5.2 EnablingSSL Support from the Web Server Administration Utility ......................................................... 53 5.3 Generatinga Private Key ..................................................................................................................... 54 5.4 Generatinga Certificate Request .......................................................................................................... 55 5.5 Generating and Installinga Test Certificate ........................................................................................... 57 5.6 Installinga Digital Certificate ............................................................................................................... 58 5.7 ViewingCertificate Details .................................................................................................................. 59 5.8 Enablingand Disabling SSL fora Web Server ........................................................................................ 60 5.9 Testing YourSSL Connection ............................................................................................................... 61 5.10 Specifying Public Web Server Access to HTTP and HTTPS Connections ................................................ 61 5.11 Migrating Your Netscape Digital Certificate to the Secure Web Server ................................................... 62 5.11.1 Prerequisites for Migration ......................................................................................................... 62 5.11.2 Migrating the Netscape Digital Certificate ................................................................................... 62 AS ecureWebServer 1.3 Components and Modules ................................................ 65 BSecureWebServer 2.0 Components and Modules ................................................ 67 Glossary ............................................................................................................................ 69 Index ................................................................................................................................. 71 4 Table of Contents
List of Figures 1-1 Secure WebServer Main Menu ........................................................................................................... 12 1-2 Secure WebServer Administration Menu ............................................................................................ 12 2-1 Change Configuration Parameters Menu for Public Web Server 2.0....................................................... 20 2-2 Change Tuning Parameters Form ........................................................................................................ 21 2-3 Change Access Control Entries Form ................................................................................................... 22 2-4 Change Listening Ports and IP Addresses Form ................................................................................... 24 2-5 Change Public Web Server 1.3 Virtual Hosts Form ................................................................................ 25 2-6 Modify Public Web Server 1.3 Virtual Hosts Form ................................................................................ 26 2-7 Change Public Web Server URL Defaults Form .................................................................................... 29 2-8 Change Public Web Server HTML Directory Aliases Form .................................................................... 30 2-9 Change Public Web Server CGI Directory Aliases Form ........................................................................ 31 2-10 Change Public Web Server Logging and Reporting Parameters Form .................................................. 32 2-11 Manage the Public Web Server Form ................................................................................................. 34 2-12 Reports and Log Files for the Public Web Server ................................................................................ 35 2-13 Manage the Administration Web Server Menu ................................................................................... 36 2-14 Reports and Log Files for the Administration Web Server Menu ......................................................... 36 2-15 Start/Stop the Administration Web Server Form ................................................................................. 37 2-16 Change the Password for All Administration Servers Form ................................................................ 38 2-17 Change Administration Web Server Configuration Parameters Menu .................................................. 39 2-18 Modify Administration Web Server Access Control Entry Form .......................................................... 39 2-19 Dynamically Add/Remove Server Module Form ................................................................................ 41 4-1 Manage the Tomcat Java Servletand JSP Engine Form .......................................................................... 49 4-2 Start/Stop the Tomcat Java Servletand JSP Engine Form ....................................................................... 49 5-1 Manage SSLforthePublic Web Server Menu ....................................................................................... 54 5-2 Generatea Private Key —Results....................................................................................................... 55 5-3 Generatea Certificate Request Form .................................................................................................... 56 5-4 Certificate Request Success Notice ....................................................................................................... 57 5-5 Test Certificate Installation Success Notice ........................................................................................... 57 5-6 Manage SSLMain Menu with Additional Options ............................................................................... 58 5-7 Installa Certificate Text Field .............................................................................................................. 59 5-8 Certificate File in Readable Format ...................................................................................................... 60 5-9 Enable SSLConfirmation Page ............................................................................................................ 61 5-10 SSL Connections Error Message ........................................................................................................ 61 5
6
List of Tables 1-1 Command-Line Commands for Managing the Secure Web Server 1.3.................................................... 14 1-2 Command-Line Commands for Managing the Secure Web Server 2.0.................................................... 15 1-3 Command-Line Commands for Managing the Tomcat Web Server ........................................................ 15 2-1 Configuration Files for Secure Web Servers .......................................................................................... 19 2-2 Server Tuning Parameters and Associated Directives ............................................................................ 21 2-3 Access Control Parameters and Associated Directives .......................................................................... 23 2-4 Listening Port/IP Address Parameters and Associated Directives .......................................................... 25 2-5 Virtual Hosts Parameters and Associated Directives ............................................................................. 27 2-6 URL Default Parameters and Associated Directives .............................................................................. 30 2-7 HTML Directory Alias Parameters and Associated Directives ............................................................... 31 2-8 CGI Directory Alias Parameter and Associated Directive ...................................................................... 31 2-9 Logging and Reporting Parameters and Associated Directives .............................................................. 33 2-10 Activity Reports for the Secure Web Servers ...................................................................................... 36 4-1 Tomcat LogFiles................................................................................................................................ 50 A-1 Secure WebServer 1.3 Components ..................................................................................................... 65 A-2 Standard Secure Web Server 1.3 Modules ............................................................................................ 65 A-3 Secure WebServer 1.3-Related Modules ............................................................................................ 66 A-4 Additional Modules Provided with the Secure Web Server ................................................................... 66 B-1 Secure WebServer 2.0 Components ..................................................................................................... 67 B-2 Standard Secure Web Server 2.0 DSO Modules ..................................................................................... 67 B-3 Secure WebServer 2.0-Additional Modules ....................................................................................... 68 7
8
About ThisDocument This document describes the administration tasks for configuring and managing the Secure Web Server forT ru64 UNIX™ (powered by Apache). 1 Intended Audience This document is intended for the system administrator who manages Internetservices on a Tru64 UNIX AlphaServer system. 2 Document Organization This document is organized as follows: Chapter1 Provides an overview of the Secure Web Server. Chapter2 Describes the general administration tasks for managinga Secure Web Server. Chapter3 Explains how to implement dynamic modules. Chapter4 Explains how to implement the Tomcat Java Servletand JSP Engine. Chapter5 Describes how to enable the Secure Socket Layer (SSL) to provide secure Internet connections toy our server. Appendix A Lists the Secure Web Server 1.3 components and modules. AppendixB Lists the Secure Web Server 2.0 components and modules. This manual also containsa glossary and an index. 3TypographicConv en ti ons This document uses the following typographical conventions: %, $, or# A percent sign represents the Cshellsystem prompt. A dollar sign represents the system prompt for the Bourne, Korn, and POSIX shells. A number sign represents thesuperuser prompt. audit (5) Amanpage. The manpagenameis audit , and it is located in Section 5. Ctrl+x A key sequence. A sequence such as Ctrl+x indicates that you must hold down the key labeled Ctrl while you press another key or mouse button. Key The name of a keyboard key. Return and Enter both refer to the same key. User input Commands and other text that you type. Variable The name of a placeholder in a command, function, or other syntax display that you replace with an actual value. 4Related Information Consult the following documentation for information on installing, configuring, and administering Internet solutions on Tru64 UNIX operating systems. Inter net Express Documentation For information on installing, configuring, and administering Open Source and other Web server-related software, seethe Documentation Bookshelf provided with HPInternet Express. (HP includes the Internet Express CD-ROMs with Tru64 UNIX AlphaServer systems.) •Reading documentation using the Administration utility: After installation of the Secure Web Server subset (IAEAPCH), the Internet Express Documentation subset (IAEDOC), and the Internet Express Administration utility (IAEADM subset), you can access the Administration utility for Internet Express and read the documentation following the link from theWebpageat: 1Intended Audience 9
http:// hostname.domain :8081. •Reading documentation using the public Web server: You can also read the documentation without the Administration utility using the public Web server (ifyouchoseto configure one) to access the documentation index page at http:// hostname.domain /documents/bookshelf.html. If this URL does not work, verify that theW ebserver configuration file, /usr/internet/httpd/admin/conf/httpd.conf, contains the following line: Alias /documents/ "/usr/internet/docs/IASS/" You can read the installed documentation directly from the file system usinga Web browser running on the same system by using the file URL: file:/usr/intern et/docs/IASS/bookshelf.html. •Reading documentation from the Internet Express Installation and Documentation CD-ROM: You can access the Documentation Bookshelf on the Internet Express CD-ROM. The documentation is available in the following formats: —HTML —PDF Tru64 UNIXOperating System Documentation The Documentation Overview describes the documentation that comes with the HPTru64 UNIX operating system. The Tru64 UNIX documentation main page can be accessed from the following URL: http://h30097.www3.hp.com/docs/ Tru64 UNIXB estPractices Documentation Tru64 UNIXBest Practices describe specific tasks for Internetaswellas other topics. You can find these documents at the following URL: http://h30097.www3.hp.com/docs/best_practices/ 5HPEncourages Your Comments HP encourages your comments concerning this document. We are committed to providing documentation that meets your needs. Send any errors found, suggestions for improvement, or compliments to: feedback@fc.hp.com Please include the following information along withy our comments: •Thefulltitleof the document •Thesection numbers and page numbers of the information on which you are commenting •The versions of Tru64 UNIX and Internet Express that you are using •If known, the type of processor that is running Tru64 UNIX 10 About ThisDocument
1 Overview The SecureWeb Server (powered by Apache) is an implementation of the Apache Software Foundation's (ASF) Apache HTTP server for Tru64 UNIX. It containsa packaged, integrated and tested version of many of the popular components of the Apache Web server (mod_ssl, PHP, fastcgi, and others) and the modules that are used with it. In addition, the Apache Software Foundation'sTomcatJavaServlet and JavaServer Pages (JSP) are provided to handle Java based dynamic content. Note: For InternetExpress Version 6.0 and later, two versions of the Secure Web Server are offered: Secure Web Server 1.3 (based on Apache Version 1.3) and the Secure Web Server 2.0 (based on Apache Version 2.0). At installation, you can choose either version for the public Web server. (The Administration Web Server continues touse the Secure Web Server 1.3.) See Section 1.1.1: Choosinga Web Server for more information. The SecureWeb Server integrates other features beyond the core modules supplied by ASF, including: •Supportfor Dynamic Shared Objects (DSO). •Supportfor SSL connections (HTTPS) usinga DSO module. •Supportfor APXS, which allows third party modules to be built against and used with an installed Secure WebServer. •Supportfor SUexec, once it is enabled in the server (an additional configuration is required to enable it). •Supportforthe Atallahardware accelerator cards. •Supportforthe Tomcat Java Servletand Java Server Pages (JSP) container. In addition, all modules provided with the Apache code base are built-in or provided as adynamic shared object (DSO). The SecureWeb Server provides a Web-based administration interface that allows an administrator to perform common management tasks on the Web server. You access these administration pages from the Web ServerAdministration utility (see Section 1.1: Accessing the Secure Web Servers ). The SecureWeb Server is available on the Associated Products CD-ROM, included with the Tru64 UNIX operating system distribution, and is also available with Internet Express for Tru64 UNIX. HP includes theInternet Express CD-ROM with Tru64 UNIX AlphaServer systems. If you need the Internet Express CD-ROM, you can contact your HP representative. The part number for the Internet Express product is QB-3NCAA-SA. The Secure Web Server is also available for download from the HPW ebsite: http://www.tru64unix.compaq.com/internet/ 1.1 Accessing the Secure Web Servers The SecureWeb Server provides the following servers for managing Internetservices: •Public—The public Web server is an instance of the Secure Web Server, listening on Port 80, that can be configured as a general purpose Web server and used by anyone. The installation procedure lets you select this port for the Apache Version 2.0 or Apache Version 1.3. If you choose to install both Apache versions for public Web servers, you can use Port 80 for one server instance only and must select a different port for the other. •Administration—The Administration Web Server is an instance of the Secure Web Server that listens on Port 8081. It provides an administration interface for the Secure Web Servers accessible froma Web browser. The URLtakesthe form: http:// host.domain.name : port where host.domain.name represents the fully qualified host name of the local system (the system on whichInternet Express is installed) and port represents the port Web server is listening on (either Port 80 or8081). 1.1 Accessing the Secure Web Servers 11
The Administration Web Server is initially accessible from the local system only. To allow access froma remote system when running the Secure Web Server, see Section 2.9: Allowing Remote Access to the Administration Web Server . To access the Secure Web Servers, follow these steps: 1. From an HTML-based Web browser (such as Netscape Navigator Version 4.5 or later, Microsoft Internet Explorer Version 4.0 or later, or Mozilla), enter the URL, including the proper port. When you access the Administrationserv er, you are prompted fora user name and password. 2. Entera user name and password. The default user name for Web server administration is admin. During installation, the system administrator sets a password to be used for the Web server administration accounts. To change the password for the Administration Web Server, see Section 1.1.3: Managing the Administrator Password . Figure 1-1 shows the Secure Web Server main menu when you first log in. Figure1-1 Secure Web Server Main Menu When you choose Web Server Administration from the main menu, the Web Server Administration menu is displayed, listing the available servers and providing a link for changing server passwords. Figure 1-2 shows theW eb Serv er Administration menu. In addition to the links for the Administration Web Server and Public WebServer, when you install Apache Version 2.0, an additional link, Manage the Public Web Server 2.0, is displayed. Figure1-2 Secure Web Server Administration Menu When you access the Web server, you are given access to privileged files and can perform system management tasks until exiting the browser. Do not leave an administration session unattended. Limit access to the admin account to those individuals authorized to perform Internetsystem management tasks. 1.1.1 Choosinga Web Server For InternetExpress Version 6.0 and later, you have the choice of installing any of three Web servers: Apache Version 2.0, Apache Version 1.3, and a standalone Tomcat server. 12 Overview
Each Webserverhas strengths and weaknesses that you should evaluate prior to choosing which server to install. It is possible to install all of the server options and configure them to respond to different ports. If the port you choose is other than the default HTTP port (port 80), then you must include the port number intheURLofthe request. The following sections evaluate each of the Web server options. 1.1.1.1 Secure Web Server 1.3 The SecureWeb Server 1.3 is the traditional Web server powered by the Apache Version 1.3 code base. This server has a long history of reliability and the largest selection of Apache modules (see Appendix A: Secure WebServer 1.3 Components and Modules ). Use this Webserverunder the following conditions: •Youarerunning applications where the existing Web content depends on Apache modules that have not been ported to the Apache Version 2.0 API. •Youarerunningan older version of Apache Version 1.3 and you need to minimize transitional risks (i.e., upgrading to anew er version of Apache). The SecureWeb Server 1.3 offers the following strengths: •The SecureWeb Server 1.3 offers a proven code base, and provides robust and fault tolerant service. •Most Apachemodulesw ere written for the Apache Version 1.3 code base, therefore most existing modules will work properly. As the Secure Web Server 1.3 is not multithreaded, it does not have problems with modules that use libraries that are not thread safe. •The PHPmodule provided in Apache Version 1.3 contains the most features. •The SecureWeb Server 1.3 is easily configured to support SSL connections. •The SecureWeb Server 1.3 is supported asa TruClustermulti-instance application. The SecureWeb Server 1.3 has the following weaknesses: •Itdoesnotsupport IPv6. •The ApacheVersion 1.3 code base is no longer inactive development by the Apache Software Foundation. •JSPandJavaServlet requests must be forwarded to Tomcat. 1.1.1.2 Secure Web Server 2.0 The SecureWeb Server 2.0 is powered by the new Apache Version 2.0 code base. Apache Version 2.0 isa major revision of the Apache code base that provides for running applications in a multithreaded environment. Use the Secure Web Server 2.0 for new installations where there are no dependencies on Apache modules that are not yet available for the Apache Version 2.0 code base. (See Appendix B: Secure Web Server 2.0 Components and Modules fora list of the Apache Version 2.0 modules.) Migrating existing Web servers based on Apache Version 1.3 to Apache Version 2.0 is normally a straight forward process for most installations. The main configuration file, httpd.conf, requires very little modification to work with the new Apache architecture. The major issue with migration is the availability of Apache modules where a subset of modules do not yet support the Apache Version 2.0 API. The SecureWeb Server 2.0 offers the following strengths: •Thenewcodedesign uses threads and is intended to provide for more efficient delivery of content. •The SecureWeb Server 2.0 supports IPv6. •The ApacheSoftw are Foundation is actively dev eloping this code base. •The SecureWeb Server 2.0 is easily configured to support SSL connections. •The SecureWeb Server 2.0 is supported asa TruClustermulti-instance application. The SecureWeb Server 2.0 has the following weaknesses: •Existing Apache modules based on the Apache Version 1.3 API require porting to the new module API. Currently, only a small number of modules have been ported. In addition, because Apache Version 2.0 usesmultithreaded programming, all Apache modules (and the libraries they depend on) must also be thread safe. •The PHPmoduledoesnot include some features that are present in servers based on Apache Version 1.3 duetothread-safety issues of the libraries used by the optional features. 1.1 Accessing the Secure Web Servers 13
•JSPandJavaServlet requests must be forwarded to Tomcat. •The SecureWeb Server 2.0 currently does not support FrontPage, and Auth_ldapextensions. 1.1.1.3 Tomcat Java Servletand JavaS erver Pages Container The TomcatJava Servletand JavaServer Pages container (i.e., Tomcat server) was originally used as a service for handling requests forwarded by another Web server. The current version of Tomcat isa full-featured Web server. Choose the Tomcat server when your applications primarily supply Java-based dynamic content in the form of Java Servletand JavaServer Pages (JSP) with the supporting static Web content. The Tomcatserverhas the following strengths: •Itprovidesthe fastest handling of Java Servletand JSP requests. •Whenusedwiththe Fast Java Virtual Machine and adequate resources, the Tomcat server provides comparable performance to the Apache Web servers. •Using the Tomcatserverstandalone provides significant improvements to response time, compared to requests forwarded through an Apache Web server to Tomcat. The Tomcatserverhas several weaknesses: •Although traditional CGI and Server Side Includes (SSI) are supported (requires Java 1.3 or later), they are disabled by default. Traditional CGI and Server Side Includes (SSI) are not considered strengths ofTomcatandare recommended primarily for transitional use during the development of aW ebapplication. CGI and SSI can bypass any Java-based security settings that are configured into the Java Security Manager. •The Tomcatserverdoes not support common Apache extensions such as PHP. •Configuring Tomcat to support SSL connections is a complicated process, requiring installation and configuration of Java components that are not included with this kit. Information on configuring Tomcat to support SSL connections can be found at the Tomcat Web site: http://jakarta.apache.org/tomcat •The Tomcatserverruns as a single instance ina TruCluster. •By default, the Tomcat server does not support running as anon-privileged user when listening on privileged ports (less than 1024). This kit provides a program that allows Tomcat to avoid this restriction, starting Tomcat as the root user, and then switching to an unprivileged user after opening ports. 1.1.2 Managing the Apache Web Servers All installed Web servers are configured to restart when the system reboots. It is also possible to start and restart the serv ers from the command line. You can configure the Web servers to make them disabled. A disabled Web server will not be started on system reboot and will not start when the startup script is invoked. This feature allows a system administrator to better manage the migration of the Secure Web Server from Version 1.3 to Version 2.0 by configuring them touse the same ports while allowing only one version to run. Table 1-1 lists the commands for managing the Secure Web Server 1.3. Table1-1 Command-Line Commands for Managing the Secure Web Server 1.3 Command Action /sbin/init.d/httpd_public start Start the server /sbin/init.d/httpd_public stop Stop the server /sbin/init.d/httpd_public restart Restart the server /sbin/init.d/httpd_public cluster-start Start the server on all Cluster Members /sbin/init.d/httpd_public cluster-stop Stop the server on all Cluster Members /sbin/init.d/httpd_public cluster-restart Restart the server on all Cluster Members 14 Overview
Table1-1 Command-Line Commands for Managing the Secure Web Server 1.3 ( continued ) Command Action /sbin/rcmgr -c set APACHE1 ENABLE Enable the server sbin/rcmgr -c set APACHE1 DISABLE Disable the server /sbin/rcmgr -c get APACHE1 Check server status Table 1-2 lists the commands for managing the Secure Web Server 2.0. Table1-2 Command-Line Commands for Managing the Secure Web Server 2.0 Command Action /sbin/init.d/hpapache2 start Start the server /sbin/init.d/hpapache2 stop Stop the server /sbin/init.d/hpapache2 restart Restart the server /sbin/init.d/hpapache2 cluster-start Start the server on all Cluster Members /sbin/init.d/hpapache2 cluster-stop Stop the server on all Cluster Members /sbin/init.d/hpapache2 cluster-restart Restart the server on all Cluster Members /sbin/rcmgr -c set APACHE2 ENABLE Enable the server /sbin/rcmgr -c set APACHE2 DISABLE Disable the server /sbin/rcmgr -c get APACHE2 Check server status Table 1-3 lists the commands for managing the Tomcat Web server. Table 1-3 Command-Line Commands for Managing the Tomcat Web Server Command Action caa_start tomcat Start the server in a TruCluster environment /sbin/init.d/tomcat start Start the server caa_stop tomcat Stop the server in a TruCluster environment /sbin/init.d/tomcat stop Stop the server /sbin/rcmgr -c set TOMCAT ENABLE Enable the server /sbin/rcmgr -c set TOMCAT DISABLE Disable the server /sbin/rcmgr -c get TOMCAT Check server status 1.1.2.1 Mig ration Utilities for the Secure Web Server This section describes the following utilities for migrating theiPlanet Web Server to the HP Secure Web Server for Tru64 UNIX: •certmig—MigratesiPlanet 4.xcertificatesto the Secure Web Server. This utility, an extension of thePK12UTIL utility provided by the Mozillacommunity, uses Network Security Services (NSS) libraries to convertiPlanet certificates, key translations, and certificate chains to those of the Apache Web Server. •test_certmig.sh—Providesawrapper around certmigfor importing and extracting the list certificates in aniPlanet 4.1.xCertificate database. •mkcert.sh—Generates private keys, certificate signing requests, and certificates. •cache_util.pl—Helps optimize file caching by reviewing the most commonly accessed files in logs/access_log and by creating a caching file list. This file caching utility is bundled with HP Apache2.0. 1.1 Accessing the Secure Web Servers 15
1.1.2.2 Tuning Tru64 UNIX for the Secure Web Server Proper system tuning can haveasignificant impact on the performance of the Secure Web Servers. The Secure WebServersoftw are includes thekerneltuner shell script that sets the primary tuning recommendations for Internetserver performance. These recommendations are described in the Tuning Tru64 UNIXfor Internet Services manual, available from the following URL: http://h30097.www3.hp.com/docs/internet/TITLE.HTM Additional system performance tuning settings are also described in this document. Note: Because Internetserver configurations differ, a recommended setting may not provide optimal performance for all configurations. Carefully plan your Tru64 UNIX system performance tuning settings. Thekerneltuner utility is installed in the bin subdirectory under the Web server root directory for each Secure WebServer Public Web server. Run this utility as root. For example: # su root # cd /usr/opt/hpapache2/bin # ./kerneltuner The above example runs thekerneltuner utility in interactive mode. In this mode, the root user can choose which system tuning recommendations will be configured. Optionally, a kerneltuner script can configure all the system tuning recommendations without interaction from the user by running it with the kerneltunerutilitywiththe-scommandlineoption: # /usr/opt/hpapache2/bin/kerneltuner -s You do not have to run the kerneltuner utility for each Secure Web Server you installed. Instead, run the utility once on each system or TruClustermember where the Secure Web Server software is installed. For the primary tuning settings to take effect, reboot your system. You can reboot the system after running thekerneltuner utility, or you can wait fora more convenient time. 1.1.3 Managing the Administrator Pass word During installation of the Secure Web Server, a single Web administration user is created for accessing all Administration Web Server instances. Theusernameis admin. The administrator password is set to the password that you entered during installation. If you know the administrator password, you can change it using the Web Server Administration utility ( Section2.8: Changing the Password for the Administration Web Server ). If you received y our Secure Web Server softwarepreinstalled from HP or if you have forgotten your administrator password, the /usr/internet/httpd/bin/dbmmangecommand lets you create, view, add, and update the contents of the Administrator user database. To run the dbmanage command and change the administrator password, follow these steps: 1. Loginastheroot user, then run the following command: # /usr/internet/httpd/bin/dbmmanage /usr/internet/httpd/userdb/admin adduser admin 2. Thedbmanage command initializes the database (if needed) and prompts you fora password for Web user administrator, admin. If the user administrator already exists, the following message is displayed: Sorry user 'admin' already exists ! If you receive this message, rerun thedbmanage command as follows (note that adduserisnow update): # /usr/internet/httpd/bin/dbmmanage /usr/internet/httpd/userdb/admin update admin 16 Overview
The command promptsyoufora password and updates the database. 3. After updating the database, if the Administration Web Server is already running, you should not have to restart it. If you need to restart the Administration Web Server, run the following command: # sbin/init.d/httpd_admin restart 1.2 Web ServerAdministrati on Functions All SecureWeb Server administration functions are performed using Port 8081. All activity is recorded in the associated log files ( Section 2.5: Viewing Web Server Reports and Log Files ). Management tasks available from the Secure Web Server administration menus include: •Changing configuration parameters, including tuning parameters, access control entries, listening ports and addresses, virtual hosts, URL defaults, HTML directory aliases, CGI directory aliases, and logging and reporting parameters. •Managing user accounts, displaying status, and viewing information for the public Web server •Changing passwords for the Administration Web Server •Allowing remote access to the Administration Web Server •Viewing server activity reports, access log files, and error log files, and refreshing these files •Starting and stopping the Secure Web Servers These tasks are described in detail in Chapter 2 . 1.3 DynamicModules Dynamic modules, also called Dynamic Shared Objects (DSO) or shared libraries, are loaded into the server process space only when necessary to assure that overall memory usage is reduced. You can use DSO modules to customize the Secure Web Server. Chapter 3 describes how to activate the Apache DSO modules. Appendix A lists the standard Apache Version 1.3 modules and Appendix B lists the standard Apache Version 2.0 modules provided with this release. 1.4 TomcatJava Servletand JavaS erver Pages Container Tomcat, provided with the Secure Web Server, isa Java Servletand JavaServer Pages (JSP) container developed by the Apache Software Foundation'sJakartaproject. The Tomcat engine is most commonly used with commercial grade Web servers such as Apache and can also be used as a standalone Web server. Tomcat is provided as an optional Secure Web Server subset that, when installed, allows the public instance of the Secure Web Server to be configured to seamlessly pass requests for Java Servletand JSP pages to the Tomcat container. Chapter4 describes how to start Tomcat, use the Tomcat examples, and locate Tomcat directories and files. 1.5 SSLandtheSecure Web Server The SecureWeb Servers have built-in support for the Secure Socket Layer (SSL) on port 443. The HTTPS protocol is the most widely-used method for performing secure transactions on the Web. The protocol is supported by most Web servers and clients. SSL providesprivacy, guaranteed through encryption. Although information can be intercepted by a third party, the perpetrator cannot read the information without a private encryption key. If the information received will not decrypt properly, the recipient can determine whether the information has been tampered with during transmission. SSL alsoprovides authentication through digital certificates that are generated for SSL, although the source of digital certificates might not always be credible foronlinepayment transactions. Secure Web Server SSL encryption uses a secret key nested within public key encryption and authenticated through digital certificates. Chapter5 describes the administration functions that you perform to enable SSL on your server: 1.2 WebServer Administration Functions 17
•Generatingapriv ate key. •Generatinga request fora digital certificate. •Generating and installing a test certificate, installing an actual certificate, and then viewing its details. •Enabling (or disabling) SSL capabilities. •Testing your SSL connection. •Limiting access to HTTPS connections. •Special considerations for enabling SSL on public Web servers. 18 Overview
2 Managing the Secure Web Server This chapter describes the administration tasks available from the Web Server Administration utility that allow you to manage the Secure Web servers. Access the Web Server Administration utility by logging into the Administration Web Server that listens on port 8081. The Secure Web Servers currently installed and managed by the administration utility are listed on the top-level Web Server Administration form. When you install additional versions of the Secure Web Server, they are added to the Web Server Administration form. Choosing a Web server on the Web Server Administration form displays the administration tasks for that server. The administration tasks for each Web server differ based upon the Web server version and the Web server type: administration or public. Administration tasks that apply only to the management of the Administration Web Server: •Changethe password for the Administration Web Server ( Section 2.8: Changing the Password for the Administration Web Server ) •Allow remote access to the Administration Web Server ( Section 2.9: Allowing Remote Access to the Administration Web Server ) Administration tasks that apply only to management of the Public Web server: •Display public Web server status ( Section 2.3: Displaying Public Web Server Status ) •Display public Web server information ( Section 2.4: Displaying Public Web Server Information ) •Dynamically add or remove server modules ( Section 2.10: Dynamically Adding and Removing Server Modules ) Administration tasks that apply to both Administration and public Web servers: •Change configuration parameters for the Secure Web Servers ( Section 2.1: Changing Configuration Parameters ) •Change public Web server user accounts ( Section 2.2: Changing Public Web Server User Accounts ) •Viewserver activity reports or the access and error log files for the Web servers ( Section 2.5: Viewing Web ServerReports and Log Files ) •Refreshtheaccess log and error log files for the Web servers ( Section 2.6: Refreshing the Administration Web ServerLog Files ) •Startandstopthe Web servers ( Section 2.7: Starting and Stopping the Secure Web Server ) •Enableandmanage the Secure Socket Layer (SSL) with the Secure Web Server ( Chapter 5 ). 2.1 ChangingConfigurati on Parameters A configuration parameter is specified by a directive and is stored in one of the configuration files listed in Table 2-1 . Table2-1 Configuration Files for Secure Web Servers Configuration File Server /usr/internet/httpd/admin/conf/httpd.conf Administration Web Server /usr/opt/hpapache2/conf/httpd.conf Public WebServer 2.0 /usr/internet/httpd/conf/httpd.conf Public WebServer 1.3 You can specify the following types of configuration parameters: •Server tuning parameters ( Section 2.1.1: Changing Server Tuning Parameters ) •Access control entries ( Section 2.1.2: Changing Access Control Entry Parameters ) •Listening ports and addresses ( Section 2.1.3: Changing Listening Port and IP Address Parameters ) •Virtual hosts ( Section 2.1.4: Changing Virtual Host Parameters for the Public Web Servers ) •URL defaults ( Section 2.1.5: Changing URL Default Parameters for the Public Web Servers ) •HTML directory aliases ( Section 2.1.6: Changing HTML Directory Alias Parameters for the Public Web Server ) 2.1 ChangingConfiguration Parameters 19
•CGI directory aliases ( Section 2.1.7: Changing CGI Directory Alias Parameters for the Public Web Server ) •Loggingand reporting parameters ( Section 2.1.8: Changing Logging and Reporting Parameters ) Figure2-1 shows the menu for changing the configuration parameters for the Public Web Server 2.0. Figure2-1 Change Configuration Par am eters Menu for Public Web Server 2.0 The SecureWeb Server configuration files are read in the following order: •httpd.conf •ssl.conf (Secure Web Server 2.0 only) •srm.conf •access.conf Note: By default, the access.conf andsrm.conf configuration files do not contain any directives. While they remain supported in the Secure Web Server 1.3, all directives are defined inhttpd.conf. Directives either exist in the httpd.conf file itself or are included in it by use of the Include directive. If you specify the same directive in more than one configuration file, the first directive found takes precedence. In the tables in the following sections, a directive enclosed in angle brackets can be defined using multiple lines and must be delimited bya <directive> ... </directive> pair, where directive is the directive name. The following example shows the proper syntax fora multiple-line directive: <Limit GET POST> order deny,allow deny from all allow from host1.domain.namedomain2.name </Limit> Through the Change Configuration Parameters menu for each server, the Web Server Administration utility allows you to set many of the frequently used configuration parameters described in this section. If you want to take advantage of more specialized functionality, you must manually edit the Secure Web Server configuration files listed in Table 2-1 . Avoid modifying the configuration parameters that are handled by the Administration utility when manually editing these files. 20 Managing the Secure Web Server
Fora complete listing of configuration file directives, seethe Apache Web site for the appropriate directiv es for theW ebserver version: For the Secure Web Server 1.3: http://www.apache.org/docs/mod/directives.html For SecureWeb Server 2.0: http://httpd.apache.org/docs-2.0/mod/directives. html 2.1.1 Changing Server Tuning Parameters To change the serv er tuning parameters: 1. From the Web Server Administration menu, choose the link to the Web server that you want to change. You can change the configuration parameters on either the Public or Administration Web servers. For example, choose Manage the Public Web Server 2.0 to change the tuning parameters of the Public Webserver 2.0. 2. From the Managethe Public Web Server 2.0 menu, choose Change Configuration Parameters. 3. From the Change Public Web Server 2.0 Configuration Parameters menu, choose Change Server Tuning Parameters. Figure 2-2 shows the Change Tuning Parameters form for the Public Web server 2.0. A Change Tuning Parameters form is also available for the Public Web Server 1.3, but it has different tuning parameters than the Public Web Server 2.0. A Change Tuning Parameters form is also available for the Administration Web Server. (See Figure 2-13 .) Figure2-2 Change Tuning Par ameters Form 4. On the Change Server Tuning Parameters form ( Figure 2-2 ), change one or more of the parameters. Table 2-2 shows which Web Server directive is associated with each parameter field on the Change Tuning Parameters form and the type of value expected. Parameters that apply only to Public Web Server 2.0 are specified for 2.0 only. Table2-2 Server Tuning Par ametersand Associated Directives Description Directive Parameter Minimum number of unused server child processes to maintain MinSpareServers number Minimum Spare Servers Maximum number of unused server child processes left running before additional child processes are killed MaxSpareServers number Maximum Spare Servers 2.1 ChangingConfiguration Parameters 21
Table2-2 Server Tuning Par ametersand Associated Directives ( continued ) Description Directive Parameter Initial number of server child processes StartServers number Start Servers Upper limit on configurable number of processes ServerLimit number Server Limit (for 2.0 only) Upper limit on the configurable number of threads per child process ThreadLimit number Thread Limit (for 2.0 only) Maximum number of server processes for client connections MaxClients number Maximum Connections Number of requests handled before child process is terminated MaxRequestsPerChild number Maximum Requests/Connection The number of threads created by each server child process ThreadsPerChild number Threads PerChild (for 2.0 only) Maximum number of idle threads MaxSpareThreads number Maximum Spare Threads (for 2.0 only) Minimum number of idle threads available to handle request spikes MinSpareThreads number Minimum Spare Threads (for 2.0 only) Time (seconds) tow ait for response before terminatinga connection Timeout number Connection Timeout (secs) Whether or not to hold open a connection after the initial connection is lost KeepAliveon|off Enable Keepalive Time (seconds) tow ait for subsequent connection ona KeepAlive connection KeepAliveTimeout number Keepalive Timeout (secs) Number of times to reuse a connection MaxKeepAliveRequests number Maximum Keepalive Retries 2.1.2 Changing Access Control Entry Parameters You can change access control entries for any of the installed Web Servers. The steps in this section describe how to change the access control entry for the Public Web server 2.0. The steps are similar for the other Web servers. 1. From the Change Public Web Server 2.0 Configuration Parameters form, choose Change Access Control Entries. Figure 2-3 shows the Change Access Control Entries form for the Administration Web Server. This form is also available for the Public Web servers. Figure 2-3 Change Access Control Entries Form 2. By default, each Web server has one main access control entry controlling access to the document root directory of the server. In general, this entry should be the only entry you might want to change, though many access control entries are listed. The access control entries for each Web server'sdocument root areas follows: •/usr/internet/httpd/admin/htdocs (Administration Web Server) •/usr/internet/httpd/htdocs (Public Web server 1.3). •/usr/opt/hpapache2/htdocs (Public Web server 2.0) 22 Managing the Secure Web Server
You can also change access control entries for the following locations (for the public Web servers only): •/server-status •/server-info You can add an access control entry fora directory or location you have created for the Web server. Table 2-3 shows which Secure Web Server directive is associated with each parameter field on the Change Access Control Entries form and the type of value expected. Table 2-3 Access Control Par ametersand Associated Directives Description Directive Parameter path , name , and filename can contain wildcards. <Directory path >| <Location name >| <Files filename > Type and Specification Specify one of the following Limit Access Methods: •GET—Standard HTML access; parameters can be passed as part of theURL. •POST—Form access; parameters are passed separately. •GET POST •All Methods Whenyouchoose All Methods (the default), the Limit directive is not specified in the access.conf file for this Type and Specification (directory, location, or file). <Limit method > Limit AccessMethods Specifies the order in which to process the deny fromandallow fromdirectives. order1 deny,allow| order allow, deny Precedence List of fully or partially qualified host or domain names, separated by spaces. You cannot use wildcards and you must use completeDNS fields (for example, domain.comdoesnotmatch mydomain.com). allowfrom1 all| allow from host_list Hosts Allowed Access List of fully or partially qualified host or domain names, separated by spaces. You cannot use wildcards and you must use completeDNS fields (for example, domain.comdoesnotmatch mydomain.com). denyfrom1 all| deny from host_list Hosts DeniedAccess To authenticate only specific users, set User Authentication to For Selected Users, and select one or more users from the Selected Users list. (These users are defined in the file specified by the AuthDBMUserFile directive. To add a user to this list, use the Change Web Server UserAccounts form.) To authenticate all users, set User Authentication to For All Valid Users. If no Webserver user accounts exist, Authentication is disabled. require user_list User Authentication and Selected Users Portion of the string displayed in the Username/Password dialog box that prompts for user name ("Enterusername for name at host:port :"). AuthName string Authentication Prompt Name When the Enable CGI Script Execution check box is selected, allows CGI scripts to be executed from within the specified directory. Options ExecCGI2 CGI Execution 1 The Administration utility expects this directive to be defined within the context of the Limit directive. 2 The Administration utility expects this directive to be defined within the context of the Directory directive. 2.1 ChangingConfiguration Parameters 23
In the following example, the Limit directive allows access to the specified domains and hosts only: <Limit GET POST> order deny, allow deny from all allow from host1.domain1.namedomain2.name </Limit> In the following example, access is allowed to everyone except the specified hosts and domains: <Limit GET POST> order allow, deny allow from all deny from host1.domain1.namedomain2.name </Limit> 2.1.3 Changing Listening Port and I PA ddress Parameters Normally, aWebserver listens for HTTP requests on all known IP addresses on a system. The default (or primary) port, port 80, is used for each address. The Change Listening Ports and Addresses form allows you to limit the IP addresses and portsa Web server listens toby allowing you to enter specific addresses and ports for the serv er. If your system has been configured to support the IPv6 protocol, IPv6 style addresses can be entered in this form as well. However, IPv6 addresses can be used only with the Secure Web Server2.0 public Web server. IPv6 style addresses should not be used in the Change Listening Ports and Addresses form for the Secure Web Server 1.3. From the Change Public Web Server 2.0 Configuration Parameters form ( Figure 2-1 ), choose Change Listening Ports and Addresses. Figure 2-4 shows the Change Listening Ports and Addresses form for Public WebServer 2.0. A similar form is also available from the Change Administration Web Server Configuration Parameters form. (See Figure 2-13 .) Figure2-4 Change Listening Ports and I PA ddresses Form Table 2-4 shows which Secure Web Server directive is associated with each parameter field on the Change Listening Ports and Addresses form and the type of value expected. 24 Managing the Secure Web Server
Table2-4 Listening Port/IPA ddress Par ametersand Associated Directives Description Directive Parameter Specifies one or more ports or IP addresses to listen on Listen [IP address:]port Active IPAddress and Active Port (Primary and Additional) Defines the SERVER_PORT environment variable used by CGIscripts. Port port Active IPAddress and Active Port (Primary only) For example, if your system has eight IP addresses configured, but you want the public Web server to listen on only two of those ports, you can explicitly define these two addresses as the Active IP Addresses for the server. Optionally, you can specifya different port for each address. (Port 80 is normally used.) If you want to listen to all known IP addresses on more than one port (for example, Ports 80 and 81), specify Active Port 80 and Active Port 81 and leave the Active IP Address field blank for both ports. 2.1.4 Changing Virtual Host Parameters for the Public Web Servers You can specify virtual host parameters for the public Web servers only. 1. From the Change Configuration Parameters form for either the Public Web Server 1.3 or Public Web Server 2.0 (for example, see Figure 2-1 ), choose Change Virtual Hosts. Figure 2-5 shows the Change Public WebServer 1.3 Virtual Hosts form. Figure 2-5 Change Public Web Server 1.3 Virtual Hosts Form The first time you access the Change Virtual Hosts form ( Figure 2-5 ), the only choice is to add anew virtual host. Thereafter, each virtual host you add is displayed on this form in the Existing Virtual Hosts list box. Note: Before you create each virtual host, you must create a Listen directive in the Public Web Server for the virtual host using the Change Listening Ports and Addresses form. If no Listen directive is specified for the virtual host, the Public Web Server will not respond to client requests that match the host names, IP addresses, and ports specified in its virtual host directives. See section Section 2.1.3: Changing Listening Port and IP Address Parameters for information on creating Listen directives for the Public Web Server. To add anew virtual host: a. Enter the host names and/or IP addresses (with optional port values) into the New Virtual Host field on the form as they would appear inavirtualhost Web server directive. b. Click on Add. The Add Public Web Server Virtual Host form is displayed. (This form is similar to the Modify Public Web Server Virtual Host form in Figure 2-6 ). c. Specify the type of virtual host (Name-based or IP-based) and any additionaldirectiv es for the new virtual host: 2.1 ChangingConfiguration Parameters 25
When the value for the Virtual Host Name field matches the hostnamesand IP address values you entered, a Name-based virtual host is created. •Whenyousetthe value of the Virtual Host Name field to NONE, an IP-based virtual host is created. d. Click on Submittoaddthe new virtual host to the Public Web Server. 2. To change the configuration for an existing virtual host, select the virtual host from the list box and click on Modify. The Modify Public Web Server Virtual Hosts form is displayed ( Figure 2-6 ). Figure 2-6 Modify Public Web Server 1.3 Virtual Hosts Form Table 2-5 shows which Secure Web Server directive is associated with each field on the Modify Public Web ServerVirtual Hosts form ( Figure 2-6 ) and the type of value expected. When afield on this form is left blank or when the"use default value"option is selected for the field, the directive associated with the field is not included in (or removed from) the virtual host. In this case, the virtual host inherits the value of the associated directive from the global-specified value of the directive for the Public Web Server: •Ifnoglobalvalue is specified for the associated directive, the directive'sdefaultvalueis used as the value of the directive in the virtual host. •Ifthedefault value for the directive is"unspecified" (for example, as with Script Alias), the directive does not apply to the virtual host when the field in the form is left blank. 26 Managing the Secure Web Server
Table 2-5 Virtual Hosts Par ametersand Associated Directives Description Directive Parameter Name of the Name-based virtual host. When this directive is not set to NONE, the value should always match the Host Name or IP Address and Port Numberofthe virtual host. Setting the value to NONE creates an IP-based virtual host by not setting the NameVirtualHost directive. NameVirtualHost hostname[:port] | IP address[:port] Virtual HostName Host name or IP address of the virtual host; port number is optional. VirtualHost hostname[:port] | IP address[:port] Host NameorIP Address and Port Number The amount of time the server supporting the virtual host will w ait for the following events: the total amount of time it takes to receivea GET request, the amount of time between receipt of TCP packetsona POST or PUT request, the amount of time betweenACKson transmissions ofTCPpacketsin responses, the default value of this directive is 300 second. Timeout seconds Connection Timeout The number of seconds the server supporting the virtual host will w ait fora subsequent request before closing the connection. Once a request has been received, the timeout value specified by the Timeout directive applies. Setting KeepAliveTimeout to a high value may cause performance problems in heavily loaded servers. The higher the timeout, the more server processes will be kept occupied waiting on connections with idle clients. The default value of this directive is 15 seconds. KeepAliveTimout seconds Keepalive Timeout Provides for long-lived HTTP sessions that allow multiple requests to be sent over the same TCP connection. These connection types are the default forHTTP1.1 clients. To enable KeepAlive connections, set KeepAlive toOn. The default value of this directive is On. KeepAlive[On|Off |use default value] Enable Keepalive Limits the number of requests allowed on a persistent connection (KeepAlive On) for the virtual host. The default value of this directive is 100. MaxKeepAliveRequests number Maximum KeepAlive Retries Configures thew ay the server serving the virtual host determines its own name and port. With UseCanonicalName set to On, the server will use the hostname and port specified in the Server Name directive. With UseCanonicalName set to Off, the server will form self-referential URLs using the hostname and port supplied by the clients Host: header. Set UseCanonicalName to DNS forusewith mass IP-based virtual hosting when you need to support older client systems that do not provide a Host: header. The default value for this directive is On. UseCanonicalName[On|Off|DNS|use default value] Use Canonical Name Host name; used in URL parsing. ServerName hostname Server Name Sets the alternate names for the virtual host. ServerAlias hostname [ hostname ]... Server Alias Full path of the directory containing the default Webhomepagefor the specified Host Name or IP Address. The default value for this directive is /usr/local/apache/htdocs. DocumentRoot path Document Root 2.1 ChangingConfiguration Parameters 27
Table 2-5 Virtual Hosts Par ametersand Associated Directives ( continued ) Description Directive Parameter Dynamically configures the location of the document root fora given virtual host based on the value of server name. If interpolated-directory is set to none, then VirtualDocumentRoot is turned off. This directive cannot be used in the same context as the VirtualDocumentRootIP directive. This directive applies only to the Secure Web Server 2.0. VirtualDocumentRoot interpolated-directory Virtual Document Root Dynamically configures the location of the document root fora given virtual host based on the value of the serv er IP address. If interpolated-directory is set to none, then VirtualDocumentRootIP is turned off. This directive cannot be used in the same context as the VirtualDocumentRoot. This directive applies only to the Secure Web Server 2.0. VirtualDocumentRootIP interpolated-directory Virtual Document Root IP Allows CGIscripts to be stored in the local file system other than under the Document Root. URLs witha (%-decoded) path beginning with URL-path will be mapped to local files beginning with the second argument, which is a full pathname on the local file system. ScriptAlias URL-path file-path| directory-path Script Alias Dynamically configures the location of the CGI directory fora given virtual host based on the value of the server name. If interpolated-directory is set to none then VirtualScriptAlias is turned off. This directive cannot be used in the same context as the VirtualScriptAlia sIP directive. This directive applies only to the Secure Web Server 2.0. VirtualScriptAlias interpolated-directory | none Virtual Script Alias Dynamically configures the location of the CGI directory fora given virtual host based on the value of the server IP address. If interpolated-directory is set to none then VirtualScriptAlia sIP is turned off. This directive cannot be used in the same context as the VirtualScriptAlias directive. This directive applies only to the Secure Web Server 2.0. VirtualScriptAlia sIP interpolated-directory | none Virtual Script Alias IP E-mail address of the Web system administrator. ServerAdmin e-mail address Server AdminMail Address Adjusts the verbosity of the messages recorded in the ErrorLogfile for the virtual host. When set to use default value, the LogLevel directive is not set for the virtual host, and the value is inherited from the global server value. The default value of this directive is warn. LogLevelemerg | alert | crit | error | warn | notice | info | debug | use default value Log Level Full or relative path to error log file. Relative paths are specified from the Web server'srootdirectory. The default value of this directive is logs/error_log . ErrorLog path Error Log 28 Managing the Secure Web Server
Table 2-5 Virtual Hosts Par ametersand Associated Directives ( continued ) Description Directive Parameter The LogFormat directive can take one of two forms. In the first form, where only one argument is specified, this directive sets the log format that will be used by logs specified in subsequent TransferLogdirectiv es. The second form of the LogFormat directive associates an explicit format with a nickname. This nickname can then be used in subsequent CustomLogdirectiv es. When a nickname is specified, this directive does not affect subsequent TransferLogdirectiv es. The default value of this directive is"%h%l%u %t"%r"+. LogFormat format |nickname[ nickname ] Log Format Full or relative path of the transfer (access) log file. Relative paths are specified from the Web server root directory. TransferLog path Transfer Log Full or relative path and format of a log file for the virtual host. Relative paths are specified from the Web server root directory. CustomLog path Custom Log Fora comprehensive document on virtual host support, seethe following Web sites: http://www.apache.org/docs/vhosts/index.html (for Secure Web Server 1.3) http://httpd.apache.org/docs-2.0/vhosts (for Secure Web Server 2.0) 2.1.5 Changing URL De fault Parameters for the Public Web Servers This section describes the steps to change the URL Default Parameters for Public Web Server 1.3. The steps for Public WebServer 2.0 are similar. You can specify the URL default parameters for the public Web server only. 1. From the Change Public Web Server 1.3 Configuration Parameters form ( Figure 2-1 ), choose Change URL Defaults. Figure 2-7 shows the Change Public Web Server 1.3 URL Defaults form. Figure2-7 Change Public Web Server URL Defaults Form 2. From the Change Public Web Server URL Defaults form ( Figure 2-7 ), specify the default HTML directory and defaulthomepage (index page) for users on your system. By convention, the default HTML directory is public_html and the default homepage is index.htmlon UNIX systems. When the Recognize.cgi Files As CGI Scripts parameter is enabled, files with the .cgiextensionin the user'sdefault HTML directory (or in a directory where CGI script execution is enabled) are executed as CGI scripts. Table 2-6 shows which Secure Web Server directive is associated with each field on the Change URL Defaults form and the type of value expected. 2.1 ChangingConfiguration Parameters 29
Table 2-6 URLDefault Parameters and Associated Directives Description Directive Parameter Path relative toauser'shomedirectory for the user's HTML homedirectory. The default is public_html. UserDir path User'sHTMLHome Directory One or more file names, separated by spaces, that define the default page displayed when an HTTP request specifiesa directory path only (withoutafile name). DirectoryIndex filename list Directory Index Page Name When this field is enabled, the comment character in this line is remov ed from thehttpd.conf file. When this field is disabled, the line is commented out. AddHandlercgi-script.cgi Recognize.cgi Files As CGI Scripts 2.1.6 Changing HTML Directory Alias Parameters for the Public Web Server You can specify the HTML Directory Alias parameters for the public Web servers only. This section describes the steps to change the HTML Directory Aliases for the Public Web server 1.3. The steps are similar for the Public Web server 2.0. From the Change Public Web Server 1.3 Configuration Parameters form ( Figure 2-1 ), choose Change HTML Directory Aliases. Figure 2-8 shows the Change Public Web Server 1.3 HTML Directory Aliases form. Figure 2-8 Change Public Web Server HTML Directory Aliases Form URL pathsarerooted only by aliases, not by actual directories. The system-defined aliases areas follows: •icons—Defines the directory to search for browser-specific icons. When an HTTPrequest specifiesa directory other than the user'sHTMLhome directory ( Table 2-6 ), the icons used in the resulting display to identify subdirectories and files are obtained from the directory associated with the icons alias. •copyrights—Defines the directory in which the copyright information is installed. •documents—Defines the directory in which the book files are installed. Normally, these aliases should not be changed or deleted. However, you can specify anew HTML alias for any directory by providing an alias name and the full path name of the directory you want to associate with the alias. To add anew HTML alias: 1. On the Change HTML Directory Aliases form, enter the new alias name in the New Alias Name field and click on Add. 2. On the AddHTML Directory Aliases form, specify the full pathnamefor the directory associated with the new alias in the Actual Directory field. 3. Click on Submit. The WebServer Administration utility displaysa confirmation message indicating that the configuration file has been successfully updated. 4. Click on Submittohavethe public Web server on the indicated port reread its configuration file. Wait a few seconds before using the navigation bar. 30 Managing the Secure Web Server
When you determine that an alias is no longer useful, you can remove it by selecting the alias name from the Existing Alias Names list box and clicking on Delete. Table 2-7 shows which Secure Web Server directive is associated with each field on the Change Public Web ServerHTML Directory Aliases form and the type of value expected. Table2-7 HTML Directory Alias Par ametersand Associated Directives Description Directive Parameter Alias Specification (New Alias Name) specifies the alias part of the directive and Actual Directory specifies the path . Alias alias path Alias Specification and Actual Directory 2.1.7 Changing CGI Directory Alias Parameters for the Public Web Server You can specify the CGI Directory Alias configuration parameters for the public Web server only. 1. From the Change Public Web Server Configuration Parameters form ( Figure 2-1 ), choose Change CGI Directory Aliases. Figure 2-9 shows the Change Public Web Server 1.3 CGI Directory Aliases form. Figure 2-9 Change Public Web Server CGI Directory Aliases Form 2. Specify an alias name and the full path name of the directory you want to associate with the alias. Table 2-8 shows which Secure Web Server directive is associated with each field on the Change Public Web ServerCGI Directory Aliases form ( Figure 2-9 ) and the type of value expected. Table 2-8 CGIDirectory Alias Par ameterand Associated Directive Description Directive Parameter Alias Specification (New Alias Name) specifies the alias part of the directive and Actual Directory specifies the path . ScriptAlias alias path Alias Specification and Actual Directory 2.1.8 Changing Logging and Reporting Parameters Use the Change Logging and Reporting Parameters form to specify the following: •Thehostname associated with an IP address in the log file. (Server performance can decrease when you enable host name lookup.) •E-mail address for mail intended for the server administrator (if not specified anywhere else in the configuration files). •The URLofthe HTML page to display when the browser receives any of the following error codes: Note: Although both servers are capable of generating the following errors, the Change Logging and Reporting Parameters form for different versions of the Secure Web Server display different lists of errors. Errors that appear only in the Secure Web Server 2.0 Change Logging and Reporting Parameters form are specified for Version 2.0 only. 2.1 ChangingConfiguration Parameters 31
—Bad Gateway—The server, when acting as a gateway or proxy, received an invalid response from a server (Version 2.0 only). —Bad Request—Usually caused by a malformed URL (Version 2.0 only). —Unauthorized—Usually caused by an incorrect user name or password. —Forbidden—Access to the directory, location, or file is explicitly prohibited or the file is protected. —File NotFound—File or path name alias does not exist. —Gone—The requested resource is no longer available at the server (Version 2.0 only). —Method No tAllowed—File or path name alias does not exist (Version 2.0 only). —Not Implemented—The server does not support the functionality required to fulfill the request (Version2.0 only). —Precondition Failed—The preconditiongiv en in one or more of the request-header fields evaluated to false (Version 2.0 only). —Request Timeout—The client did not produce a request within the time that the server was prepared tow ait (Version 2.0 only). —Request Entity Too Large—The request entity is larger than the server is willing or able to process (Version 2.0 only). —Service Unavailable—The server is temporarily overloaded or maintenance is required (Version 2.0 only). —Server Error—Usually caused by a malformed HTTP header generated bya CGI script. —Variant Also Varies—The HTTP variant also varies; the status is not yet defined. (Version 2.0 only). From the Change Public Web Server 2.0 Configuration Parameters form ( Figure 2-1 ), choose Change Logging and Reporting Parameters. Figure2-10 shows the Change Logging and Reporting Parameters form for the Public Web Server 2.0. The form for the Public Web Server 1.3 is has fewer server responses. (See Table 2-9 .) This form is also available for the Administration Web Server. Figure2-10 Change Public Web Server Logging and Reporting Par am eters Form Table 2-9 shows which Secure Web Server directive is associated with each field on the Change Logging and Reporting form ( Figure 2-10 ) and the type of value expected. 32 Managing the Secure Web Server
Table 2-9 Logging and Reporting Par ametersand Associated Directives Description Directive Parameter When set toon, the server performs DNS lookupsonIP addresses to include host names in logging records. HostnameLookups on|off Enable Hostname Lookups E-mail address displayed with some error pages. ServerAdmin e-mail address Server AdminMail Address Specifies a page or text string to display upon receivinga"bad password"error. If specified, the URL for 401errorsmustbe local. (The http://host.domain.name prefix is not permitted.) ErrorDocument 401 URL | string "Unauthorized"Error Response URL Specifies a page or string to display upon receivinga"no authorization" or"file access"error. ErrorDocument 403 URL | string "Forbidden"Error Response URL Specifies a page or text string to display upon receivinga"file not found"error. ErrorDocument 404 URL | string "File NotFound"Error Response URL Specifies a page or text string to display upon receiving an internal error or CGIformat error (most likely related to a problem with HTTP header information). ErrorDocument 500 URL | string "Server Error"Error Response URL 2.2 ChangingPublic Web Server User Accounts You can establish Secure Web Server user accounts to control access to the public Web servers. You can enable a different level of access to each combination of user name and password that you specify. The password you specify fora Web server user account is nota UNIX system password; that is, you will not find these passwords in the /etc/passwdfile. The first time you access the Change Web Server User Accounts menu, the only option is to add anew Web server user account. Thereafter, each user account you create is displayed on this menu in the Existing Web ServerUsers list box, allowing you to change the password for the account or delete the account. To add a Webserveruser account to control access to the public Web server: 1. On the WebServer Administration menu, choose the public Web ser veryouwantto manage. Figure2-11 shows the Manage the Public Web Server 1.3 menu and available options. 2.2 ChangingPublic Web Server User Accounts 33
Figure2-11 Manage the Public Web Server Form 2. From the Managethe Public Web Server 1.3 menu, choose Change Web Server User Accounts. 3. On the Change Public Web Server User Accounts form, enter the account name in the New Web Server Userfield. 4. Click on Add. The Add Public Web Server User Account form is displayed. 5. Entera password in the New Password field. 6. Verify the password for the user by typing the same password in the Verify Password field. 7. Click on Submit. The WebServer Administration utility displaysa confirmation message indicating that the new user account has been successfully created. You can use the navigation bar at the top of the page to return to the Change Public Web Server User Accounts form. To change a user'spassword, select the user name from the Existing Web Server Users list box and click on Modify. Specify anew password, verify the password, and click on Submit. To delete a user account, select the user name from the Existing Web Server Users list box and click on Delete. 2.3 Displaying Public Web Server Status To display the status of Public Web Server 1.3, from the Manage the Public Web Server 1.3 menu, choose Display WebServer Status. Similarly, to display the status of Public Web Server 2.0, from the Manage the Public WebServer 2.0 menu, choose Display Web Server Status. The WebServer Status page allows you to see how welly our server is performing. The current server statistics are displayed in an easy-to-read form. The DisplayServer Status and Display Server Information links under the Manage the Public Web Server menu return a"Forbidden server"error if you try to access them fromaremote Web browser after opening up access controls to remote systems on the Administrationserv er. To avoid this problem, open access controls on the Location/server-info and Location/server-status entries for the public Web server in the Change Access Control Entries form under Change Configuration Parameters. For more information on the data displayed on the Web Server Status page, go to one of the following Apache Website URLs: http://www.apache.org/docs/mod/mod_status.html (for Secure Web Server 1.3) http://httpd.apache.org/docs-2.0/mod/mod_status. html (for Secure Web Server 2.0) 34 Managing the Secure Web Server
2.4 Displaying Public Web Server Information To display information for the public Web server, on the Manage the Pubic Web Server menu (1.3 or 2.0), choose Display Web Server Information. The WebServer Information page displaysa comprehensive overview of the server configuration, including all installed modules and directives in the configuration files. The DisplayServer Status and Display Server Information links under the Manage the Public Web Server menu return a"Forbidden server"error if you try to access them fromaremote Web browser after opening up access controls to remote systems on the Administrationserv er. To avoid this problem, open access controls on the Location/server-info and Location/server-status entries for the public Web server in the Change Access Control Entries form under Change Configuration Parameters. For more information on the data displayed on the Web Server Information page, go to one of the following Apache Website URLs: http://www.apache.org/docs/mod/mod_status.html (for Secure Web Server 1.3) http://httpd.apache.org/docs-2.0/mod/mod_status. html (for Secure Web Server 2.0) 2.5 Viewing WebS erver Reports and Log Files During its normal operation, the Web server puts information in two log files. The access log keeps track of requests for use of this server and the information requested. The error log maintains a record of errors that occurred since the log file was last refreshed. You should periodically save and recreate these log files so they do not get too large. See Section 2.6: Refreshing the Administration Web Server Log Files . To view the access log file or error log file fora Web server: 1. From the Web Server Administration menu, choose the Manage form for the version of the server whose logy ouwant to view (for example, the Public Web Server 1.3). In this case, the Manage the Public WebServer 1.3 menu is displayed. See Figure 2-11 . 2. From the Managethe Public Web Server 1.3 menu, choose View Server Reports and Log Files. The Report and Log Files for the Public Web Server 1.3 menu is displayed ( Figure 2-12 ). Figure2-12 Reports and Log Files for the Public Web Server 3. Choose the item corresponding to the log file you want to view. The entries in the chosen log file are shown 100 lines at a time with the most recent entries first. You can use the navigation bar at the top of each page to return to the Report and Log Files menu. To generate the activity reports for anyone of the Web Server instances: 1. From the Web Server Administration menu, choose the server for which you want to generate activity statistics; for example, the Administration Web Server. The Manage the Administration Web Server menu is displayed ( Figure 2-13 ). 2.4 Displaying Public Web Server Information 35
Figure2-13 Manage the Administration Web Server Menu 2. From the Managethe Administration Web Server menu, choose View Server Reports and Log Files. The Reportand Log Files for the Administration Web Server menu is displayed ( Figure 2-14 ). This menu contains more reports than listed on the Reports and Log Files for the Public Web Server menu. Figure2-14 Reports and Log Files for the Administration Web Server Menu 3. From the Reports and Log Files for the Administration Web Server menu, click on Generatea Summary Report. For your convenience, a link to the Analog HTML documentation is also provided at the bottom of the page; look for This analysis was produced by analogx.xx, where x.xx indicatesthe version number. The activity reports are generated using analog, an Open Source utility that analyzes log files. The analog configuration file is located in /usr/internet/httpd/admin/analog/analog.cfg. Table 2-10 describes the various activity reports that you can generate for the public and administration instances of the Secure Web Server: Table2-10 Activity Reports for the Secure Web Servers Description Report For the time period shown at the top of the page, the following statistics are shown: the total requests that were completed, failed, and redirected; the number of distinct hosts served; the number of corrupt log file entries; and the total bytes transferred. Summary Report Shows how many requests were processed by month. Monthly Report Shows how many requests were processed each day since the last time the server was started. Daily Summary Report Shows how many requests were processed each hour. Hourly Summary Report 36 Managing the Secure Web Server
Table2-10 Activity Reports for the Secure Web Servers ( continued ) Description Report Shows all domains with any traffic, sorted by amount of traffic. Domain Report Shows all directories to depth 1 with at least 0.01%of the traffic, sorted by amount of traffic. Directory Report For more information, visit the analog Web site: http://www.analog.cx 2.6 Refreshing the Administration Web Server Log Files To refresh the access log, the error log, or both, follow these steps: 1. From the Secure Web Server Administration menu, choose the server for which you want to refresh the log files; for example, the Administration Web Server. The Manage the Administration Web Server menu is displayed. (See Figure 2-13 .) 2. From the Managethe Administration Web Server menu, choose Refresh Server Log Files. 3. On the Refresh Server Log Files form, select the check box corresponding to the log file you want to refresh. You can select one file or more files. 4. Click on Submit. For each log file you select, the Web Server Administration utility makes a backup copy of the log file and creates an empty file to replace it. The Web Server Administration utility also restarts the httpdserver daemon. 2.7 Startingand Stopping the Secure Web Server To stop or restart the Secure Web Server instances: 1. From the Web Server Administration menu, choose the ser veryouwantto start or stop; for example, the Administration Web Server. The Manage the Administration Web Server menu is displayed ( Figure2-13 ). 2. From the Managethe Administration Web Server menu, choose Start/Stop the Administration Web Server. If the server is running, the Web Server Administration utility shows you the current status of the server and offers the following operations: •Stop—Shuts down the server daemon listening on the port shown in the title of the form. Use this operation to prevent the server from responding to requests. •Restart—Restarts the server daemon listening on the port shown in the title of the form. Use this operation to enable any change to the server configuration files. Figure2-15 shows the Start/Stop the Administration Web Server form when the server is running. Figure2-15 Start/Stop the Administration Web Server Form If the server is not running, the utility offers the following control operations: 2.6 Refreshing the Administration Web Server Log Files 37
•Start—Starts the server daemon listening on the port shown in the title of the form. •Restart—Stops and restarts the server daemon listening on the port shown in the title of the form. Use this operation to enable any change to the server configuration files. 3. Click on the button corresponding to the operation you want to perform. The Web Server Administration utility confirms the request and performs the operation. The Start/Stop form for Public Web Server 1.3 or Public Web Server 2.0 offers the following additional control operation: Save Options—Saves the Web server daemon command line options. The options are displayed in the text field labeled"Start with options"in the Start/Stop form. Changing the options displayed in the"Start with options"text field changes the options that will be saved. These options take affect the next time the Web server is started. Clicking on the Start or Restart button in the form also saves the displayed options. 2.8 Changingthe Pass word for the Administration Web Server To change the password used for the Administration Web Server: 1. From the Web Server Administration menu, choose Change the Password for All Administration Servers. The Change the Password for All Administration Servers form is displayed ( Figure 2-16 ). Figure2-16 Chang et he Password for All Administration Servers Form 2. Enter the new password in the New Password field and again in the Verify New Password field. 3. Click on Submit. The new password takes effect immediately. If you decide not to change the password, cancel the operation by clicking on one of the following: •The Clearbuttonatthe bottom of the form •Oneofthelinkson the navigation bar at the top of the form togo to another Administration menu 2.9 AllowingRemote Access to the Administration Web Server The installation procedure installs the Administration Web Server on port 8081 and initially allows access to the server from the local system only. Note: Usinga Webserverona remote system to manage user accounts and other system services poses a security risk. That is, unless the Secure Socket Layer (SSL) is enabled on your Web server, all data, including passwords, is transmitted between the Web server and the browser in clear text. Thisunencrypted data is subject to interception by network snooping. Carefully evaluate the security risks toy our system before you enable remote access to the Administration utility or other serv er administration. See Chapter 5 for information on setting up your Web server with SSL. To allow access to the Administration Web Server from remote systems: 38 Managing the Secure Web Server
1. From the Web Server Administration menu, choose Manage the Administration Web Server. The Manage the Administration Web Server menu is displayed ( Figure 2-13 ). 2. From the Managethe Administration Web Server menu, choose Change Configuration Parameters. The ChangeAdministration Web Server Configuration Parameters menu is displayed ( Figure 2-17 ). Figure2-17 Change Administration Web Server Configuration Par am eters Menu 3. From the Change Administration Web Server Configuration Parameters menu, choose Change Access Control Entries ( Figure 2-3 ). 4. On the Change Access Control Entries menu, select Directory /usr/internet/httpd/admin/htdocsfromthe Existing Access Control Entries list box, then click on Modify. The Modify Administration Web Server Access Control Entry form is displayed ( Figure2-18 ). Figure2-18 Modify Administration Web Server Access Control Entry Form 2.9 AllowingRemote Access to the Administration Web Server 39
5. In the Hosts Allowed Access field, enter one of the following: host.domain.name fora specific host .domain.name fora specific domain •allforanyremote host For more information on the Allow command, seethe Apache documentation at the following Web site: http://www.apache.org/ 6. Click on Submit. The WebServer Administration utility displaysa confirmation message. 7. On the confirmation page, click on Submit to reload the Administration Web Server configuration file. 2.10 Dynamically Adding and Re moving Server Modules This section describes how to dynamically add or remove server modules. Appendix A lists the standard Apache Version 1.3 modules and Appendix B lists the standard Apache Version 2.0 modules provided with this release. To dynamically add or remove server modules, follow these steps: 1. From the Secure Web Server Administration menu, choose the server for which you want to refresh the log files; for example, the Administration Web Server. The Manage the Administration Web Server menu is displayed. (See Figure 2-13 .) 2. From the Managethe Administration Web Server menu, choose Manage Public Web Server 2.0. 3. On the Manage Public Web Server page, choose Dynamically Add/Remove Server Modules. A form ( Figure 2-19 ) is displayed that shows the available server modules. 40 Managing the Secure Web Server
Figure2-19 Dynamically Add/Remove Server Module Form 4. To add a server module, check in the corresponding check box. To removeasever module, uncheck the corresponding check box. 5. Click on Submit. Not all modules can be added or removed. If the add/remove operation reports an error, check the module error log. 2.10 Dynamically Adding and Removing Server Modules 41
42
3UsingDynamic Modules Dynamic modules provide a means of allowing developers and third parties to extend the capabilities of the Secure WebServer. When properly configured in the server configuration file, these modules will be loaded into theW ebserv erat startup time. As the Secure Web Server is powered by Apache, modules conforming to the Apache DSOAPI can be use with the Secure Web Server. The SecureWeb Server can be customized using dynamic modules provided from Apache and other sources. Fora complete list of the Secure Web Server 1.3 modules (DSO and integrated), see Appendix A . See Appendix B fora complete list of the Secure Web Server 2.0 modules. This chapter provides the following information: •Secure WebServersupport for dynamic modules ( Section 3.1: Secure Web Server Support for Apache Dynamic Modules ). •Activating the Apache dynamic modules ( Section 3.2: Activating the Apache DSO Modules ). 3.1 Secure WebS erver Support for Apache Dynamic Modules Apache dynamic modules can be obtained from many sources. These include: •Modules that are part of the Apache distribution. •Modules from the Apache Module Register on the Web: http://modules.apache.org . The Module registry contains alist of modules that are available for use with Apache based servers. These modules derive from a variety of sources, and can often be easily built and used with the Secure Web Server. •Custom-written modules from various sources. Occasionally, aWebsitehas special needs that cannot be easily addressed using the existing Secure Web Server functionality of and are not readily available from existing modules. In these cases, aWebsitecan create custom modules based on the Apache DSOAPI thatextends the functionality of the Secure Web Server. The SecureWeb Server integrates many Apache modules and provides many other modules as dynamic shared objects (DSO). The DSO modules are not integrated because they are not usually part of the default configuration of an Apache server. Section 3.1.1: Standard Modules Provided as DSO Modules lists the standard Apache modules provided as DSO modules. Section 3.1.2: Nonstandard Modules Provided as DSO Modules lists nonstandard DSO modules provided in the Secure Web Server kit. (Nonstandard DSO modules are modules not from the Apache Foundation.) Administrators can build Apache modules for use with the Secure Web Server. The standard Apacheapxs utility (/usr/internet/httpd/bin/apxsor/usr/opt/hpapache2/bin/apxs) is provided with the Secure WebServerto assist you during compilation and installation of the Apache modules. Instructions for compiling modules using theapxsutility are usually included with the source code for that particular module. Instructions can also be found in the standard Apache documentation on the Web: http://www.apache.org . Standard Apache documentation is also included with the Secure Web Server in the IAEAPDOCxxx subset, installed in/usr/internet/httpd/apdocs. Standard Apache 2.0 documentation is installed in /usr/hpapache2/manual. 3.1.1 Standard Modules Provided as DSO Modules The SecureWeb Server provides several standard Apache modules as DSO modules. These are modules that are included in source form as part of the Apache Version 1.3 source distributions and Apache Version 2.0 sourcedistribution. Although there are many modules that are included in the distributions, many of them are not included in the default server configuration. The optional modules are provided in the form ofDSOmodulesso they can be activated if needed. Table A-2 lists and describes the modules for the Secure WebServer 1.3. Table B-2 lists and describes the modules for the Secure Web Server 2.0. 3.1.2 Nonstandard Modules Provided as DSO Modules In addition to the standard Apache modules, the Secure Web Server provides DSO modules from sources outside the Apache Foundation. Table A-3 and Table A-4 provide alist of nonstandard modules for the Secure Web Server 1.3. Table B-3 provides alist of nonstandard modules for the Secure Web Server 2.0. 3.1 Secure WebServer Support for Apache Dynamic Modules 43
3.2 Activating the Apache DSO Modules To activate an Apache DSO module, you must modify the httpd.confserverconfiguration file, as follows: 1. Adda LoadModule directive. 2. Add an AddModuledirective, if the ClearModuledirectiveisused. 3. Add additional module configuration-specificdirectiv es. 4. Restart the server for the configuration changes to take effect. Usually, an Apache DSO module will not perform any useful function until the module-specific configurationdirectiv es activate the module'sfunctionality. The module-specific documentation explains the module configurationdirectiv es. For Apache DSO modules provided with the Secure Web Server, refer to either the Apache documentation provided with the Secure Web Server kit, or the documentation available on the Apache Web site: http://httpd.apache.org 3.2.1 Usingthe LoadModule Directive The LoadModule directive enables dynamic module loading by the Web server. This directive must occur before any other configuration directive for the module being loaded. The LoadModule directive has the following form: LoadModule module_identifier filename The module_identifier variable is the internal module definition variable name, that is documented in the module documentation. The filename parameter is the loadable module on disk that the server will load. The filename can be an absolute path ora path relative to the server root as defined by thehttpd.conf file. If the ClearModuledirective is present, it signals the server that the list of loaded modules needs to be reordered. The ClearModule directive begins the process by clearing the internal list of modules, thus providing the configuration file with a complete list of all modules (integrated and DSO). Each module is readded to the module list with an AddModule directive ( Section 3.2.2: Using the AddModule Directive ). 3.2.2 Usingthe AddModule Directive The AddModule directive is used by the Web server to build alist of modules in order of precedence. The directive is only needed if the ClearModule directive is used to zero out the module list. If the ClearModule directive is not used, then the module precedence is in the order that they were loaded. The AddModule directive has the form: AddModule source_file The source_file is the filename of the compilation unit that contained the module declaration. To determine the proper filename touse, seethe module-specific documentation. 3.2.3 Verifying the Configuration File After adding the configurationdirectiv es to the httpd.conf file, the file syntax can be reviewed prior to restarting the server. The following command directs the server to verify the specified configuration file: For SecureWeb Server 1.3: # /usr/internet/httpd/bin/httpd -t -f /usr/internet/httpd/conf/httpd.conf For SecureWeb Server 2.0: # /usr/opt/hpapache2/bin/httpd -t -f /usr/opt/hpapache2/httpd.conf 44 Using Dynamic Modules
3.2.4 Activating an Apache DSO Module—Example The example in this section shows how to activate the mod_usertrack Apache DSO module, which uses Cookies to track users. To activate the module, use the httpd.conf configuration file for the default public server/usr/internet/httpd/conf/httpd.conf and follow these steps: 1. Define the LoadModule directive as follows: LoadModule usertrack_module   libexec/mod_usertrack.so 2. If the ClearModuledirective is defined, add the module to the module list with an AddModule directive: AddModule mod_usertrack.c 3. Define the module-specificdirectiv es, for example: CookieName OurTestCookie CookieTracking on 4. Track the generated cookies by using a directive for another Apache module (that is, one that is integrated in the Secure Web Server). This directive will cause the cookies to be logged into a file called clickstream, in the logs directory relative to the server root. For example: CustomLog logs/clickstream "%{cookie}n %r %t" 3.2 Activating the Apache DSO Modules 45
46
4 Implementing the Tomcat Java Servletand JavaS erver Pages Container This chapter contains the following information: •Overview ofTomcat ( Section 4.1: Tomcat Overview ) •Using Tomcat asastandalone public Web server ( Section 4.2: Using Tomcat as a Standalone Public Web Server ) •Locating Tomcat directories ( Section 4.3: Locating Tomcat Directories ) •Selectinga Java environment ( Section 4.4: Selectinga Java Environment ) •Starting Tomcat ( Section 4.5: Starting Tomcat ) •Accessing the Tomcat administration and manager Web-based applications ( Section 4.6: Accessing the Tomcat Administration and Manager Applications ) •Accessing the Tomcat examples ( Section 4.7: Accessing the Tomcat Examples ) •Locating additional information ( Section 4.8: Locating Additional Information ) 4.1 TomcatOverview Tomcat is a Java Servletand JavaServer Pages (JSP) container provided through the Apache Software Foundation Jakarta project. The Tomcat container is most commonly used with commercial grade Web servers such as Apache. It can also be used as a standalone Web server. Tomcat is provided with the Secure Web Server as an optional subset (IAETOMCAT xxx , where xxx is the version number of the Secure Web Server release). When this subset is installed: •Thepublic instance of the Secure Web Server can be configured to seamlessly pass requests for Java Servletand JavaServer Pages to the Tomcat engine. With the Secure Web Server handling the direct interaction with the browser, it can provide additional functionality that Tomcat cannot provide by itself, such as IPv6 support and Apache modules used for access control. •Tomcatcanbe configured to act as a standalone Web server. For sites with primarily Java-based dynamic content, this option generally improves performance and response time. •Tomcat maybe configured to act simultaneously a standalone Web server and asarequest handler from the Secure Web Server. The Tomcatsubset createsa Cluster Application Availability (CAA) resource when it is used ina TruCluster environment. Tomcat is configured as a single instance resource so that it can take advantage of sessions and other capabilities ofa Java Servlet environment. The public instances of the (multi-instance) Secure Web Serverare configured to communicate with the Tomcat instance and will handle the failoverofthe Tomcat resource. For more information on developing and installing servlets and JSPs, see Section 4.8: Locating Additional Information . After installing or updating an application, the Tomcat container and the public Web server may need to be restarted. For information on starting Tomcat, see Section 4.5: Starting Tomcat . 4.2 Using Tomcatasa Standalone Public Web Server Tomcat maybe installed as a standalone public Web server. When you install Tomcat in this manner, the server is configured to respond to HTTP requests on a specified port. Tomcat was previously used exclusively asabackendtoan Apache-based Web server. It has now evolved intoafull-featured Web server. AW ebserveris normally run as anon-privileged user to reduce potential security risks. The Secure Web Server has provisions for switching to the user httpdafterit has opened its ports. To perform the same actions with Tomcat, you must run a program called jsvcwhenev er the Web server port configured is less than 1024. Thejsvcprogramis part of the Tomcat source distribution. This installation will automatically use thejsvcprogram, if needed, when Tomcat is started with the /sbin/init.d/tomcat script orby using the Manage the Tomcat Java Servletand JSP Engine link from the Web Server Administration menu (see Section 4.5.1: Starting and Stopping Tomcat from the Administration Utility ). 4.1 TomcatOverview 47
4.3 LocatingTomcat Directories After installation, Tomcat resides in the /usr/internet/httpd/tomcat directory. Applications (Java Servletsand JSPs) are installed under the /usr/internet/httpd/tomcat/webappsdirectory. Tomcat-specific configuration information is installed in the /usr/internet/httpd/tomcat/conf directory. 4.4 Selectinga Java Environment In some cases, multiple Java Development Environment kits (JDK) might be installed on a system. You can customize the Java environment used to power the Tomcat container by specifying which Java Development Environment kit (JDK) touse and by adding optional parameters to the java command. Customizing the Java environment is also useful when special tuning of the Java Runtimeisdesired. Tomcat first uses values specified in the /usr/internet/httpd/tomcat/bin/setenv.sh initialization file. If no values are specified in this file, Tomcat uses the Java system default. When you first install the Tomcat subset, it creates the /usr/internet/httpd/tomcat/bin/setenv.sh initialization file (if it does not already exist) so that Tomcat will use the newest version of the JDK that is present at installation. If you want touse a different version of the JDK, change the JAVA_HOME and JAVA_CMD variables defined in the initialization file. The JAVA_HOME and JAVA_CMD variables should always reference the same JDK; if they do not, Tomcat will fail to operate properly. The JAVA_CMD variable should be quoted to allow for the addition of arguments. The following example shows a /usr/internet/httpd/tomcat/bin/setenv.sh initialization file with additional java command arguments: JAVA_HOME=/usr/opt/java/131 JAVA_CMD="$JAVA_HOME/bin/java -classic" export JAVA_HOME JAVACMD 4.5 StartingTomcat Section4.5.1: Starting and Stopping Tomcat from the Administration Utility describes how to start, stop, and restart Tomcat as a standaloneserv er from the Web Server Administration utility. Starting or restarting Tomcat is different if you are running your Secure Web Server ina TruCluster environment. Section 4.5.2: Restarting Tomcat in a Non-TruCluster Environment describes how to restart Tomcat using the tomcat startup script when it is not ina TruCluster environment. Section 4.5.3: Restarting Tomcat in a TruCluster Environment describes how to restart Tomcat using the caa_start and cluster_restart scripts when runningTomcatin aTruCluster environment. Section4.5.4: Tomcat Log Files gives the location of the Tomcat log files. The SecureWeb Server startup script is designed to detect the presence of Tomcat and start the Web server with additional command-line directives that enable the communication with Tomcat and cause the dynamic configuration files generated by Tomcat to be used. The Tomcatengine creates a number of configuration files each time it is started. These configuration files containdirectiv es that determine the information the Secure Web Server will serve and the requests that should be directed to the Tomcat engine. Note: To take full advantage of the changes in Web contexts, the Secure Web Server configuration must be changed to map the new contexts and then the web server must be restartedwhenev er you change the Tomcat configuration. 4.5.1 Starting and Stopping Tomcat from the Administration Utility You can start, stop, and restart thestandalone Tomcat server from the Web Server Administration utility. To start the Tomcat server: 48 Implementing the Tomcat Java Servletand JavaServer Pages Container
1. On the WebServer Administration menu, choose Manage the Tomcat Java Servletand JSP Engine. The Managethe Tomcat Java Servletand JSP Engine form is displayed. 2. On the Managethe Tomcat Java Servletand JSP Engine form, click on Start/Stop the Manage the Tomcat JavaServlet and JSP Engine ( Figure 4-1 ). Tomcat starts the server and displays a message that the server is running. Figure4-1 Manage the Tomcat Java Servletand JSP Engine Form To stop and restart the Tomcat server: 1. On the Managethe Tomcat Java Servletand JSP Engine form, click on Start/Stop the Manage the Tomcat JavaServlet and JSP Engine ( Figure 4-1 ). The Start/Stop the Manage the Tomcat Java Servlet and JSPEngineform is displayed ( Figure 4-2 ). Figure4-2 Start/Stop the Tomcat Java Servletand JSP Engine Form 2. Click on stop to stop the server. Tomcat displays a message that the server is stopped. 3. To restart the server, click on restart. Tomcat displays a message that the server is again running. 4.5.2 Restarting Tomcat ina Non-TruCluster Environment To start Tomcatandthe Secure Web Server that is not part ofa TruCluster environment: 1. If Tomcatis running, use the stop command to stop the server: # /sbin/init.d/tomcat stop And this command to restart the server: # /sbin/init.d/tomcat restart 2. Start the Tomcatserver using the start command: # /sbin/init.d/tomcat start 3. Restart the public instance of the Secure Web Server using the restart command: # /sbin/init.d/httpd_public restart 4.5.3 Restarting Tomcat ina TruCluster Environment To restart Tomcat and the Secure Web Server ina TruCluster environment: 4.5 StartingTomcat 49
1. If Tomcatis running, use thecaa_stop command to stop the server: # caa_stop tomcat And this command to restart the server: # /sbin/init.d/tomcat restart 2. Start the Tomcat Server using thecaa_start command: # caa_start tomcat 3. Restart (on all cluster members) the public instance of the Secure Web Server using the cluster-restart command: # /sbin/init.d/httpd_public cluster-restart 4.5.4 TomcatLog Files Tomcat records log files in the/usr/internet/httpd/logs directory. Table 4-1 lists the log files Tomcat creates and providesa description of each file. Table4-1 Tomcat Log Files Description Log File Tomcat startup log tomcat_startup.log Tomcat general log catalina.out Access requests log, shared with the Secure Web Server access_log Failed access requests log, shared with the Secure Web Server error_log The process IDoftheTomcat process. tomcat.pid 4.6 Accessing the Tomcat Administration and Manager Applications Tomcat provides Web-based applications for administering the Tomcat deployment and for managing thelifecycleof Web applications running within the Tomcat container. To access the Tomcat Web-based administration features: 1. On the WebServer Administration menu, choose Manage the Tomcat Java Servletand JSP Engine. The Managethe Tomcat Java Servletand JSP Engine form is displayed. This menu allows you to start or stop the Tomcat Java Serveletand JSP Engine (see Section 4.5.1 ) and perform the following Web-based administration functions: •Accessthe Tomcat administrationserv er-An Open Source Web-based server for administering the Tomcat Server, server resources (for example, data sources, mail sessions), and server user definitions (i.e., users, groups, and roles). •Manage Tomcat Web applications -An Open Source management tool for managing Tomcat-based Web applications. 2. To access the Tomcat administration serv er, click on Access the Tomcat Administration Server. For Internet Express users, the administratorusername and password is identical toy our Internet Express username (admin) and password. If the Internet Express or Secure Web Server Administration Server is not installed, you must manually create the Tomcat Administratorusername and password. Refer to the Configuring Manager Application Access section on the following URL for instructions on how to createa Tomcat Administratorusername and password: http:// Tomcatstandalone Web server name :8082/tomcat/tomcat-docs/manager-howto.html 3. To manage Tomcat Web Applications, click on Manage Tomcat Web Applications. By default, access to these management applications is limited to browsers running on the local host and requires that users successfully authenticate before being granted access. The local host restriction is established by access control valves in the/usr/internet/httpd/tomcat/conf/server.xmlfile. To modify this restriction: 50 Implementing the Tomcat Java Servletand JavaServer Pages Container
•Edittheserver.xmlfiletochange the list of allowed hosts, or •Delete the Valve element entirely to remove host-based restrictions. •Restart Tomcat for the changes to take effect. Seethe specific instructions in Section 4.5.1: Starting and Stopping Tomcat from the Administration Utility for restarting Tomcat in anon-cluster or cluster environment. Note: The default restriction requires that a browser on the local host must access the management applications usingURLsthat begin with http://localhost/. If you attempt to access the applications with URLs that begin with http:// actual_hostname_of_local_host /, it will be rejected. User authentication is provided by a custom realm that allows a user who successfully authenticates as the Secure WebServer administration user to be mapped to the Tomcat user roles admin and manager. These roles are required to access the administration and Web application management utilities. If this initial authentication attempt fails, the realm then attempts to authenticate via Tomcat'sdefaultuser authentication database, defined by the /usr/internet/httpd/tomcat/conf/tomcat-users.xmlfile. To change the behavior of this custom realm, modify the /usr/internet/httpd/tomcat/conf/server.xmlfileas necessary and then restart Tomcat. 4.7 Accessing the Tomcat Examples The Tomcatsubset includes Web applications for the Tomcat documentation and example Java Servlets andJavaServerP ages. The Web applications are installed in the /usr/internet/httpd/tomcat/samples directory. The Web applications are deployed by default and are accessed by specifying the name of your host domain, as follows: http:// yourhost.domain /tomcat/ To prevent the Web applications from being deployed, perform the following task: Edit the/usr/internet/httpd/tomcat/conf/server.xmlfileand comment out or remove the following entries: <Context path="/tomcat" docBase="/usr/internet/httpd/tomcat/samples/ROOT.war" reloadable="false" debug="0" /> <Context path="/tomcat/examples" docBase="/usr/internet/httpd/tomcat/samples/examples.war" reloadable="false" debug="0" /> <Context path="/tomcat/docs" docBase="/usr/internet/httpd/tomcat/samples/tomcat-docs.war" reloadable="false" debug="0" /> <Context path="/tomcat/webdav" docBase="/usr/internet/httpd/tomcat/samples/webdav.war" reloadable="false" debug="0" /> 4.8 LocatingAdditional Information Additional information about Tomcat can be found in the following locations: •The JakartaProject Web site: http://jakarta.apache.org •Tomcat documentation Web site: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/index.html 4.7 Accessing the Tomcat Examples 51
52
5 Enabling the Secure Socket La yer Protocol To enhance the security of communications bet weeny our Web browser and administrative instances of the Secure WebServer, the Secure Web Servers have built-in support for the Secure Socket Layer ( SSL ) protocol. This chapter describes how SSL provides secure Internet connections and how touse Internet Express to enable SSL on your server. 5.1 SSLConcepts The SSLprotocolisa widely used method for performing secure transactions on the Web. This protocol is supported by most Web servers and clients including Netscape Navigator and Microsoft Internet Explorer. SSL providesprivacy, guaranteed through encryption. Although information can be intercepted by a third party, the perpetrator cannot read the information without the private encryption key ( session key ). If the information is received and will not decrypt properly, the recipient can determine that the information has been tampered with during transmission. Authentication is provided through digital certificates generated forSSL, though the source of digital certificates might not always be credible foronlinepayment transactions. SSL encryption uses a secret key nested within public key encryption , authenticated through certificates. Secret key encryption provides faster access than public-key encryption alone. Initially, the client and server exchange public keys, and then the client generates a session key fora specific transaction. The client encrypts the session key with the server'spublickeyand sends the information to the server. Then, and for the remainder of the transaction, the client and the server use the session key for private key encryption. Completinga transaction with an SSL-enabled server follows this general procedure: 1. A client sends a request fora document to be transmitted using the https: protocol by prefixing the URL withhttps://. 2. The server sends the client its certificate. 3. The client verifies that the certificate was issued by a trusted Certificate Authority (CA). If the client does not verify theCA, it gives the user the option to continue or to terminate the transaction. 4. The client compares information in the certificate with informationreceiv ed concerning the site; specifically, the domain name and the public key. If the information matches, the client accepts the site as authentic. 5. The client tells the server what ciphers (encryption algorithms) it uses to communicate. 6. The client generatesa session key using the agreed-upon cipher. 7. The client encrypts the session key with the server'spublickeyand sends the information to the server. 8. The server receives the encrypted session key and decrypts the information with the session key. 9. The client and the server then use the session key for the remainder of the transaction. For additional information about SSL, seethe mod-ssl Web site: http://www.modssl.org/docs 5.2 EnablingSSL Support from the Web Server Administration Utility Using the WebServ er Administration utility, you can manage support for SSL connections. Follow these steps: 1. On the Secure Web Server Administration menu, select the Web server for which you want to enable (or disable) SSL support, for example, the public Web server. The Manage the Public Web Server menu is displayed (see Figure 2-11 ). 2. Choose Manage SSL for the Public Web Server. The SSL menu options are displayed ( Figure 5-1: Manage SSLforthePublic Web Server Menu ), initially showing the following options: •Generateaprivate key ( Section 5.3: Generatinga Private Key ) •Generatea certificate request ( Section 5.4: Generatinga Certificate Request ) 5.1 SSLConcepts 53
•Generate and install a test certificate ( Section 5.5: Generating and Installinga Test Certificate ) •Installa certificate ( Section 5.6: Installinga Digital Certificate ) 3. Proceed to generate a private key ( Section 5.3: Generatinga Private Key ) and request a digital certificate ( Section5.4: Generating a Certificate Request ). Note: The steps for managing SSL that are described in this chapter use public Web server examples. Steps for managing SSL for the Administration Web Server are identical. Figure5-1 Manage SSL for the Public Web Server Menu When you enable SSL for the first time, you must generate a private key and then generatea certificate request. A Certificate Authority (CA), such as VeriSign ( http://www.verisign.com ), processes the request and provides you with an official digital certificate. While waiting for your official digital certificate, you can generate and install a test certificate. These steps are described in "Generatinga Private Key" through Section5.5: Generating and Installing a Test Certificate . For information on setting up an Apache Web server with SSL without using the Secure Web Server Administration utility, visit the Apache Web site at the following URL: http://www.apache.org/ 5.3 Generatinga Private Key SSL usesonasymmetric key encryption to encode and decode data that is transmitted to and from the Web server. SSL key encryption requires two keys: a private key and a public key. The private key resides ontheWebserver system and must be kept secure. Before you can perform other steps to setup an SSL connection, you must generate a private key. To generate a priv ate key, perform these steps: 1. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 2. Choose Generatea Private Key. The Generatea Private Key menu is displayed, informing you whether a private key already exists. 3. Click Submit to generateaprivate key. When you generateaprivate key, the key is saved to following file for each serv er: /usr/internet/httpd/ server /conf/ssl.key/server.key Where server is the name of the ser veryouare modifying for SSL, as follows: •Public Webservers: /usr/internet/httpd/conf/ssl.key/server.key •Administration Web Server: /usr/internet/httpd/admin/conf/ssl.key/server.key 54 Enabling the Secure Socket Layer Protocol
If a private key already exists, the existing key is saved inaseparate server. n .key file where n is an integer incrementing from 1. Figure5-2 shows that a private key has been generated for the public Web server and the location of the server.key file. Note that you can generatea certificate request directly from this page, from which you can display the Generatea Certificate Request form. See Section 5.4 for complete steps for generating a certificate request. Figure5-2 Gen er atea Private Key—Results 5.4 Generatinga Certificate Request After you have generated a priv ate key ( Section 5.3 ), you can generate a certificate request that provides information about your company and private key toa Certificate Authority (CA). From this request, an X.509 certificate signing request (CSR) is created. To generate a certificate request, perform these steps: 1. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 2. Choose Generatea Certificate Request. The Generatea Certificate Request form is displayed ( Figure5-3 ). 5.4 Generatinga Certificate Request 55
Figure 5-3 Gen er atea Certificate Request Form 3. Enter your company data in the text fields. A two-character country code is required by your CA. For the country code, enter an official ISO standard two-character country code as defined in ISO Standard 3166-1 : http://www.iso.org/iso/en/ISOOnline.frontpage For the Common Name field, use the fully qualified domain name of your server (for example, www.server.wyxcorp.com). 4. Click on Submit. From the information you provided, an X.509 certificate signing request (CSR) is created. The certificate request displays in your browser window and is saved in the /usr/internet/httpd/ server /conf/ssl.csr/server.csrfile, where server is the name of the server you are modifying. For the Web Server Public Instance, the certificate request file is saved in/usr/internet/httpd/conf/ssl.csr/server.csr. 5. To complete the certificate request process, copy information from the browser window or copy the contents from the CSR file and send the information (along with required paperwork and payment) to a Certificate Authority (CA) such as VeriSign ( http://www.versign.com ). The highlighted text in Figure5-4 shows the information that you send toy our CA. Note that you can generate a test certificate directly from this page. See Section 5.5 for complete steps for generatingatest certificate. 56 Enabling the Secure Socket Layer Protocol
Figure5-4 Certificate Request Success Notice 5.5 Generating and Installing a Test Certificate Before you receive y our official certificate, you can generate a self-signed certificate and test establishing secure connections from your server. To generate and install a test certificate, perform these steps: 1. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 2. Choose Generate and Installa Test Certificate. The Generate and Installa Test Certificate form is displayed. 3. Click on Submit. The test certificate is saved in the /usr/internet/httpd/ server /conf/ssl.crt/server.crtfile, where server is the name of the server you are modifying. When you generate and install an official certificate, it is saved in the same file. For example, for the public Web server, the test certificate or official certificate is stored in /usr/internet/httpd/conf/ssl.crt/server.crt. If you hadaprevious certificate, the new certificate overwrites the server.crtfile. However, existing certificates are saved under anew name. Figure5-5 shows the message displayed when successfully installing the test certificate. Figure 5-5 Test Certificate Installation Success Notice 5.5 Generating and Installinga Test Certificate 57
With a test certificate in place, you can now try enabling SSL on the server. 4. On the Generateand Install Test Certificate form ( Figure 5-5 ), click on the Manage SSL button to enableSSLusing the installed test certificate. The Manage SSL for the Public Web Server form will be displayed as shown in Figure 5-9 . See Section 5.8 for instructions on enabling and disabling SSL fora Web server using this form. When you generate a test certificate, it is automatically installed. The Manage SSL main menu changes to show two additional options, as shown in Figure 5-6 . Figure 5-6 Manage SSLM ain Menu with Additional Options With a test certificate in place, you can now try connecting to the SSL-enabled system. Note that when you make an SSL connection to a server using a self-signed test certificate, you are warned that the certificate is signed by an untrusted source. The system gives you the option to accept the certificate and connect to theWebserver. To view the contents of the certificate, see Section 5.7: Viewing Certificate Details . 5.6 Installinga Digital Certificate When you receive a digital certificate from your Certificate Authority, you must then install it to the proper location. To install a certificate, perform these steps: 1. Determine that the certificate you received is compatible with the private key you created in Section 5.3: Generatinga Priv ate Key . The key and certificate must be compatible for the certificate to install properly. 2. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 3. Choose Installa Certificate. The Installa Certificate form is displayed. 4. Cut and paste the contents from the official certificate into the Installa Certificate text field, shown in Figure5-7 . 58 Enabling the Secure Socket Layer Protocol
Figure5-7 Installa Certificate Text Field 5. Click on Submit. The certificate file is copied to the /usr/internet/httpd/ server /conf/ssl.crt/server.crtfile, where server is the name of the system you are modifying. If you generated and installed a test certificate ( Section 5.5: Generating and Installinga Test Certificate ), the test certificate file (server.crt) is overwritten with the official certificate file and is saved under anew name (for example, server.2.crt). After successfully installing the certificate, the Manage SSL main menu provides two additional options that let you: •View certificate details ( Section 5.7: Viewing Certificate Details ) •Enableordisable SSL capabilities ( Section 5.8: Enabling and Disabling SSL fora Web Server ) These options also appear on the Manage SSL main menu when you generate and install a test certificate ( Figure5-6 ). 5.7 Viewing Certificate Details The ViewCertificate Details option enables you to display certificate information in a readable format. This certificate file includes information you provided when you requested the certificate ( Section 5.4: Generatinga Certificate Request ), information from the CA, and information about your public key. 1. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 2. Choose View Certificate Details. The certificate stored in /usr/internet/httpd/ server /conf/ssl.crt/server.crtisdisplayedin readable format. Figure5-8 shows the information in an example certificate. 5.7 ViewingCertificate Details 59
Figure 5-8 Certificate File in Readable Format 5.8 Enablingand Disabling SSL fora Web Server After obtainingapriv ate key and an official certificate, you can enable (or disable) SSL capabilities for your Web server. When you enable SSL, the Web server'sruntime configuration file (/usr/internet/httpd/server/conf/.httpdrc) is revised to instruct the Web server touse SSL when it restarts. Enabling SSL affects the public and administrationserv ers as follows: •Forthepublic Web server instance, you can connect to the secure Port 443 using the https: prefix. Note that you also can continue connecting to Port 80 using anon-secure connection using the http: prefix. •Forthe Administration Web Server instance, the port defined for each server is changed. You can only connect as a secure port using thehttps: prefix and the same port number. Once you connect to one of the administrationserv ers, the Administration utility manages the connection to the other servers, using the proper type of connection. To enable (or disable) SSL capabilities fora Web server: 1. From the server administration menu, choose Manage SSL for the desired server. For example, from the Manage the Public Web Server menu, choose Manage SSL for the Public Web Server. The Manage SSLforthePublic Web Server menu is displayed. 2. Choose the Enable button or the Disable button at the bottom of the form to enable or disable SSL for the server, respectively. Figure5-9 shows the confirmation page after SSL has been enabled on the server. 60 Enabling the Secure Socket Layer Protocol
Figure 5-9 Enable SSL Confirmation Page 5.9 Testing Your SSLC onnection Testy our secure connection after enabling SSL for public and administrationserv ers, as follows: •Fora public Webserver, the standardhttps: port is 443. When you specifya URL as https://www.xxx. com/, for example, it automatically uses Port 443. Also test access to the nonsecure public server Port 80 by using httpd: after enabling SSL. (See Section 5.10 for additional considerations when enabling SSL for public Web servers.) •For an administrationserv er, the same port is used for all connections, regardless of whether SSL is enabled. With SSL enabled, you can only access this server usinghttps://www.xxx. com:8081/. Usinghttp: will produce an error message asking you to specifyhttps: ( Figure 5-10 ). The administrationserv er menus determine which protocol touse, http: orhttps: , and will advise you when you first connect. Figure5-10 SSL Connections Error Message Note: After enabling SSL and changinga connection from nonsecure to secure, you might not be able touse the Back button of your browser to navigate to pages viewed prior to enabling SSL. Similarly, disabling SSL and changing a connection from secure to nonsecure might affect use of the Back button. This happens because the saved prefix might no longer be valid. 5.10 Specifying Public Web Server Access to HTTP and HTTPS Connections After enabling SSL for the Web Server Public Instance, the data hierarchy you created (by default, /usr/internet/httpd/htdocs) will be accessible either using the standardhttp: protocol or the SSL-enabledhttps: protocol. To limit access just tohttps: connections, perform these steps: 5.9 Testing YourSSL Connection 61
1. From the Secure Web Server Administration menu, choose Manage the Public Web Server. 2. Choose Change Configuration Parameters. 3. Choose Change Listening Ports and Addresses and remove Port 80 from the list of active ports and make Port 443the primary port. 4. Click Submit to update the configuration file and restart the public Web server. If you want the public Web server to respond to bothhttp: requests on Port 80 andhttps: requests on Port 443while maintaining separate data hierarchies, you must manually change the public Web server configuration file /usr/internet/httpd/conf/httpd.conf. Anyhttps: directories must be defined within the SSLVirtualHost directive. (In the configuration file, search for the line<VirtualHost _default_:443>.) Directory, Location, or File directives placed within the SSLVirtualHost directive, as well as Alias and ScriptAliasdirectiv es placed within the SSLVirtualHost directive, can only be accessed when SSL is enabled and when https: connections are used. By changing the value of the DocumentRoot directive within the SSLVirtualHost directive, you can specify a default location specific tohttps: connections. 5.11 Migrating Your Nets cape Digital Certificate to the Secure Web Server This section describes how to migratea Netscape Web Server digital certificate to the Secure Web Server, which will then allow you to migrate Netscape (iPlanet) Web Server SSL users to an SSL-enabled Secure Web Server. 5.11.1 Prerequisites for Migration Before you can migrate your Netscapedigital certificate to the Secure Web Server, you must first access theNetscape Web Server'sprivatekey. You use this key as the Secure Web Server'sprivatekeywhen installing the digital certificate. You must also saveacopyofthe Netscape Web Server'sdigital certificate in order to install it in the Secure Web Server. The SecureWeb Server must have the same Common Name and IP address as the Netscape Web Server. This data was used when creating the Certificate Signing Request that you sent toy our Certificate Authority when requesting the digital certificate. The Common Name is usually the same as the fully qualified host name of the server. 5.11.2 Migrating the Nets cape Digital Certificate Follow these steps to migrate your Netscape Web Server private key and digital certificate to the Secure Web Server: 1. Loginasrootonthe system where you installed both Web servers and start the Netscape Communicator 4.XW ebbrowser: # su root # /usr/bin/X11/netscape & 2. Create a backup copy of the Web browser certificate file and the private key database file in the root user's$HOME/.netscape directory: # cp -pf  /.netscape/key3.db /.netscape/key3. db.orig # cp -pf  /.netscape/cert7.db /.netscape/cert7.db.orig 3. Copy the Netscape Web Server digital certificate file and private key database file from the Web server root to the/.netscape directory, overwriting the Web browser certificate file and key database file: # cp -pf Netscapeserver root /alias/ serverkeydatabase name -key3.db/ .netscape/key3.db # cp -pf Netscapeserver root /alias/ servercertificatedatabase name -cert7.db /  .netscape/cert 7.db 62 Enabling the Secure Socket Layer Protocol
4. Export the Web Server private key database toa PKCS#12 (PFX) format certificate file using Netscape Communicator, as follows: a. Under the Communicator pulldown menu, select the Security Info option in the Tools menu. (Alternately, click on the padlock icon in the bottom left hand corner of the Web browser.) The Security Info dialog box is displayed. b. Select the Yours option under Certificates in the Security Info dialog box. The Server-Cert certificate appears in the displayed list. c. Select the Server-Cert certificate and click on the Export button. Note: You must use the same pass wordyouusedfor the Netscape Web Server key database when prompted to enter the passwords for accessing and exporting the certificate. d. Export the certificate to the PKCS#12 format certificate file by entering the name of the file (for example, cert.p12) in the Save As pop-up menu, then click on OK. 5. Extract the private key from the PKCS#12 format certificate file (cert.p12) using the OpenSSLpkcs12 command. Save the private key toa PEM-format private key file, using the same pass wordyou entered for the import password and PEM pass phase: # /usr/internet/httpd/bin/openssl pkcs12 -nocerts -in/ .netscape/cert.p12 -out /.netscape/key.pem Enter Import Password: password    MAC verified OK    Enter PEM pass phrase: Verifying password - Enter PEM pass phrase: password 6. Remove the PEM pass phase from the private key file using the OpenSSLrsa command: # /usr/internet/httpd/bin/openssl rsa -in /.netscape/ key.pem -out /.netscape/keyout.pem    read RSA key Enter PEM pass phrase: password writing RSA key 7. Create the Secure Web Server Private Key directory and copy the private key file to the server.key file into the directory: # mkdir -p /usr/internet/httpd/ server name /conf/ssl.key # chown root:system /usr/internet/httpd/ server name /conf/ssl.key # chmod 640 /.netscape/keyout.pem # chown root:nobody /.netscape/keyout.pem # cp -pf /.netscape/keyout.pem /usr/internet/httpd/ server name /conf/ssl.key/server.key Note: The server name directory should be omitted when creating the private key file for the Public Web Server instance. 8. Copy back the original Web browser certificate file and key database file overwriting the Web Server certificate file and key database file, then remove the files you created: 5.11 Migrating Your Netscape Digital Certificate to the Secure Web Server 63
# cp -pf  /.netscape/key3.db.orig /.netscape/key3. db # cp -pf  /.netscape/cert7.db.orig /.netscape/cert7.db # rm -f /.netscape/cert. p12 /.netscape/key.pem /.netscape/keyout.pem 9. Using the copy of the Netscape Web Server certificate yourecievedback from your Certificate Authority, install the digital certificate into the Secure Web Server using the Install a Certificate form provided in the Secure Web Server Administrationserv er (see Section 5.6 ). 64 Enabling the Secure Socket Layer Protocol
AS ecureWebServer 1.3 Components and Modules Table A-1 lists the major components of the Secure Web Server 1.3 kit, along with a URL for more information about each component. Table A-2 lists the Apache source distribution standard modules that are provided with the Secure Web Server 1.3. Modules are either provided built into the httpdimageor as Dynamic Shared Objects. Table A-3 lists modules that are part of the mod_ssldistribution that is integrated in the Secure Web Server 1.3 kit. Table A-4 lists other modules provided with the Secure Web Server. Table A-1SecureWebServer 1.3 Components URL Description Component http://www.apache.org Apache HTTPServer. Apache HTTPD http://www.openssl.org An OpenSourcetoolkit that implements the Secure Sockets Layer (SSLVersion2/Version 3) and Transport Layer Security (TLSV ersion 1) protocols, as well asacomplete, general purpose cryptography library. mod_ssl http://www.php.net A server-side, cross-platform HTML embedded scripting language. PHP http://www.fastcgi.com A language-independent, scalable, open extension to CGI that provides high performance without the limitations of server-specific APIs. fastcgi http://www.rudedog.org/auth_ldap/ An LDAPauthentication module for Apache. auth_ldap http://www.analog.cx A popular log file analyzer. Analog Table A-2 Standard Secure Web Server 1.3 Modules Description DSOorIntegrated Module Provides access control based on client host name or IP address. Integrated mod_access Executes CGIscripts based on media type or request method. Integrated mod_actions Maps different parts of the host file system in the document tree, andURL redirection. Integrated mod_alias Sends files that contain their own HTTP headers. Integrated mod_asis Provides user authentication using text files. Integrated mod_auth Allows "anonymous"user access to authenticated areas. DSO mod_auth_anon Provides user authentication using Berkeley DB files. DSO mod_auth_db Provides user authentication using DBM files. Integrated mod_auth_dbm Generates automatic directory listings. Integrated mod_autoindex Support for HTTP headermetafiles. DSO mod_cern_meta Invokes CGIscripts. Integrated mod_cgi Provides MD5authentication. DSO mod_digest Provides basic directory handling. Integrated mod_dir Applies Expires: headers to resources. DSO mod_expires Adds arbitrary HTTP headers to resources. DSO mod_headers Provides the image map file handler. Integrated mod_imap Provides server-parsed documents. Integrated mod_include 65
Table A-2 Standard Secure Web Server 1.3 Modules ( continued ) Description DSOorIntegrated Module Provides server configuration information. Integrated mod_info* Provides a log of user agents. DSO mod_log_agent Provides user-configurable logging replacement for mod_log_common. Integrated mod_log_config Provides a log document references. DSO mod_log_referer Determines document types using file extensions. Integrated mod_mime Determines document types using"magic numbers". DSO mod_mime_magic Experimental file caching; maps files into memory to improve performance. DSO mod_mmap_static Negotiates content. Integrated mod_negotiation Provides caching proxy abilities. DSO mod_proxy Provides powerful URI-to-filename mapping using regular expressions. DSO mod_rewrite Sets environment variables based on client information. Integrated mod_setenvif Provides support for loading modules at run time. Integrated mod_so * Automatically corrects minor typos in URLs. DSO mod_speling Displays server status. Integrated mod_status Generates unique request identifier for every request. DSO mod_unique_id Provides user home directories. Integrated mod_userdir Provides user tracking using Cookies (replacement for mod_cookies.c). DSO mod_usertrack Provides support for dynamically configured mass virtual hosting. DSO mod_vhost_alias Table A-3SecureWebServer 1.3-Related Modules Description DSOorIntegrated Module Provides SSLconnections. DSO mod_ssl Provides support for variables in configurationdirectiv es. DSO mod_define Table A-4 AdditionalModul es Provided with the Secure Web Server Description DSOorIntegrated Module Provides support for authentication with an LDAP database. DSO mod_auth_ldap Supports connections to FastCGIprocesses. DSO mod_fastcgi Provides support for Microsoft'sFrontPage extensions. DSO mod_frontpage Provides the PHP processing engine. DSO mod_php4 Provides an interface to Java Servletengines. DSO mod_jk Provides an interface to Java Servletengines. DSO mod_jk2 66 Secure WebServer 1.3 Components and Modules
BSecureWebServer 2.0 Components and Modules Table B-1 lists the major components of the Secure Web Server 2.0 kit, along witha URL for more information about each component. Table B-2 lists the Apache 2.0 source distribution standard modules that are provided with the Secure Web Server2.0. Modules are either provided built into the httpdimageor as Dynamic Shared Objects. Table B-3 lists other modules provided with the Secure Web Server 2.0. TableB-1 Secure Web Server 2.0 Components URL Description Component http://www.apache.org Apache HTTPServer. Apache HTTPD http://www.fastcgi.com A language-independent, scalable, open extension to CGI that provides high performance without the limitations of server-specific APIs. fastcgi http://www.php.net A server-side, cross-platform HTML embedded scripting language. PHP TableB-2 Standard Secure Web Server 2.0 DS OM odules Description Module Provides access control based on clienthostname, IP address, or other characteristics of the client request. mod_access Provides for executing CGI scripts based on media type or request method. mod_actions Provides for mapping different parts of the host file system in the document tree and for URL redirection. mod_alias Sends files that contain their own HTTP headers. mod_asis Provides user authentication using text files. mod_auth Allows "anonymous"user access to authenticated areas. mod_auth_anon Provides for user authentication using DBM files. mod_auth_dbm Automatically generates directory indexes similar to the UNIX lscommandorthe Win32 dirshellcommand. mod_autoindex Provides content cache, keyed to URIs. mod_cache Provides CERN httpdmetafile semantics. mod_cern_meta Executes CGIscripts. mod_cgi Executes CGIscripts using an external CGI daemon. mod_cgid Specifies character set translation or recoding. mod_charset_lite MD5 authentication mod_digest Provides Distributed Authoring and Versioning (WebDAV) functionality. mod_dav Compresses content before it is delivered to the client. mod_deflate Provides for"trailing slash"redirects and for serving directory index files. mod_dir Provides a simple echo server to illustrate protocol modules. mod_echo Modifies the environment which is passed to CGI scripts and SSI pages. mod_env Generates Expires HTTP headers according to user-specified criteria. mod_expires Passes the response body through an external program before delivery to the client. mod_ext_filter Caches astatic list of files in memory. mod_file_cache Customizes HTTP request and response headers. mod_headers Provides server-sideimagemap processing. mod_imap 67
TableB-2 Standard Secure Web Server 2.0 DS OM odules ( continued ) Description Module Provides for serv er-parsed HTML documents (Server Side Includes) mod_include Providesa comprehensive overview of the server configuration. mod_info Logs requests made to the server. mod_log_config Logs input and output bytes per request. mod_logio Associates the requested filename'sextensionswith the file'sbehavior (handlers and filters) and content (mime-type, language, character set and encoding). mod_mime Determines the MIME type of a file by looking at a few bytes of its contents. mod_mime_magic Provides for content negotiation. mod_negotiation Runs the HTTP/1.1 proxy/gateway server. mod_proxy Provides a rule-based rewriting engine to automatically rewrite requested URLs. mod_rewrite Allows the setting of environment variables based on characteristics of the request. mod_setenvif Loads executable code and modules into the server at start-up or restart time. mod_so Attempts to correct mistaken URLsthatusers might have entered by ignoring capitalization and by allowing up to one misspelling. mod_speling Provides strong cryptography using the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols. mod_ssl Provides information on server activity and performance mod_status Allows CGIscripts to run as a specified user and group. mod_suexec Provides an environmentvariable with a unique identifier for each request. mod_unique_id Defines user-specific directories. mod_userdir Providesclickstream logging of user activity on a site. mod_usertrack Provides support for dynamically configured mass virtual hosting. mod_vhost_alias Table B-3 Secure Web Server 2.0-Additional Modules Description DSOorIntegrated Module Supports connections to FastCGIprocesses. DSO mod_fastcgi Provides the PHP processing engine. DSO mod_php4 Provides an interface to Java Servletengines. DSO mod_jk Provides an interface to Java Servletengines. DSO mod_jk2 68 Secure WebServer 2.0 Components and Modules
Glossary Apache Web Server A freely available UNIX-based Web server. It is currently the most commonly used server on Internet connected sites. HP'simplementation of the Apache Web Server is called the Secure Web Serverfor Tru64 UNIX. For Internet Express Version 6.0 and later, two versions of the Apache WebServerare offered: 1.3 and 2.0. certificate authority A third party organization that confirms the relationship betweenapartyto the https transaction and that party'spublickey. Certification authorities maybe widely known and trusted institutions for Internet-based transactions. Where httpsisused on a company'sinternalnetwork, an internal department within the company may fulfill this role. digital certificate A token which underpins the principle of trust in SSL-encrypted transactions. The information withina certificate includes the issuer (the Certificate Authority that issued the certificate), the organization that owns the certificate, the public key , the validity period (usually one year) of the certificate, and the host name for which the certificate was issued. It is digitally signed by the Certificate Authority so that none of the details can be changed without invalidating the signature. See also certificate authority , digital signature . digital signature A use of public key cryptography to authenticatea message. Digital signatures use a private key to indicate that the signature was made by the owner of that key. See also public key cryptography , private key . distinguished name Also called DN. Asequenceof relative distinguished names (RDNs). See also relative distinguished name . DN See distinguished name . DNS Domain NameSystem. A general-purpose, distributed, replicated data query service chiefly used on the Internet to translate host names into Internet addresses. See also fully qualified domain name . Domain Name System See DNS . dynamic module A module that provides the means for building program codeina format that can be loaded into the address space of an executable program at run time. Dynamic modules are loaded into the server process space only when necessary and assure that overall memory usage is reduced. firewall Hardware and softw are that lies between two networks, such as an internal network and an Internetservice provider. Thefirewall protects your network by blocking unwanted users from gaining access and by disallowing messages to specific recipients outside the network. FQDN See fully qualified domain name . fully qualified domain name Also called FQDN. The full name of a system, consisting of its local host name and its domain name. A fully qualified domain name is usually precise enough to determine an Internetaddress for any host on the Internet. HTTP Hyper TextTransfer Protocol. The protocol used betweena Web browser and a server to request a document and transfer its contents. The specification is maintained and developed by the World WideWeb Consortium. See also HTTPS . HTTPS Ordinary HTTP exchanged over an SSL -encrypted session. port Alogical channel in a communications system. private key The part of the key in a public key system that is kept secret and is used only by its owner. This is the key used for decrypting messages, and for making digital signatures . Compare with public key . public key The part of the key in a public key system which is distributed widely and is not kept secure. This is the key used for encryption (as opposed to decryption) or for verifying signatures. Compare with private key . public key cryptography Public key cryptography usesakeyfor encryption and a different key for decryption. Although the keys are related, it is not possible to calculate the decryption key from only the encryption key in any reasonable amount of computation time. Inmost practical systems, the public key 69
system is used for encodinga session key which is used with asymmetric system to encode the actual data. RSA is an example of a public key algorithm. RDN See relative distinguished name . relative distinguished name Also called RDN. One or more attribute/value pairs stored on an LDAP server that uniquely identify an entry from its sibling in an object tree. secret key Part of asymmetric cipher in which the same key is used for encryption and decryption. SSL encryption usesasecret-key nested withina public key and authenticated through certificates. Secret-key encryption provides faster access than public-key encryption alone. See also public key cryptology . Secure Socket Layer See SSL . session key A key used for one message or set of messages. In atypical system, a random session key is generated for use with asymmetric algorithm to encode the bulk of the data. Only the session key is communicated using public key encryption. See also public key cryptology . SSL Secure Socket Layer. A protocol dev eloped by Netscapefor encrypted transmission over TCP/IP networks. SSL sets up a secure end-to-end link over which http or any other application protocol can operate. The most common application of SSL is https for SSL-encrypted HTTP. TCP/IP Transmission Control Protocol/Internet Protocol. Ethernet protocols incorporated into 4.2 BSD UNIX. While TCP andIPspecifytwo protocols, the combined term is used to refer to the entire Department of Defense protocol suite, including Telnetand FTP. Telnet The Internetstandard protocol for remotelogins. UNIX BSD includes the telnetprogram, which uses the protocol, and acts as a terminal emulator for remotelogin sessions. VeriSign A dominant certificate authority on the Internet, though many of its certificates are signed as RSADataSecurity. Early versions of Microsoftand Netscapebrowsers had RSA Data Security configured as the only trusted certificate authority. This mandated that users who want touse certificates on the internetmust obtain them from VeriSignanduseserv er software accredited byVeriSign. Current versions of the Microsoftand Netscapebrowsers allow users to add new certificate authorities. As older versions of the browsers are replaced, new certificate authorities (suchasThawte) have emerged. virtual host An alias name assigned to an FTP server. Web server A server process, running ata Web site, that sends out Web pages in response to HTTP requests from remote browsers. 70 Glossary
Index Symbols /sbin/init.d/tomcat script, 47 A access log refreshing, 37 viewing, 35 access.conf configuration file, 20 activity reports generating, 35 AddModule directive, 44 administration account default ports, 11 administrator password managing, 16 Apache1.3 module standard, 65 Apache2.0 modules additional, 68 standard, 67 Apache Server choosing, 12 enabling and disabling, 14 managing different versions, 14 starting and stopping, 14 C certificate ( see digital certificate) certificate request generating, 55 Cluster Application Availability (CAA) resource, 47 configuration file, 19 verification, 44 configuration parameters access control entries, 22 addingHTML directory aliases, 30 address, 24 CGI directory aliases, 31 changing, 20 deletingHTML directory aliases, 31 HTML directory aliases, 30 listening port, 24 logging and reporting, 31 tuning, 21 URL defaults, 29 virtual hosts, 25 D daemons httpd, 37 digital certificate, 17 installing, 58 viewing details, 59 DSO module ( see dynamic module) dynamic module, 17 activating, 44 activating an Apache DSO, 45 nonstandard Apache, 43 standard Apache, 43 support for, 43 using, 43 usingAddModule directive, 44 usingLoadModule directive, 44 verifying configuration file, 44 Dynamic Shared Objects (DSO) ( see dynamic module) E encryption, 17, 53 private key, 54 public key, 17 error log refreshing, 37 viewing, 35 H httpd.conf configuration file, 20 httpd_public restart command, 49 J Java selecting environment, 48 Java Development Environment kit (JDK), 48 Java Servlet, 17, 47 JAVA_CMD variable changing, 48 JAVA_HOME variable changing, 48 JavaServerpages, 17, 47 jscvprogram, 47 JSP Engine, 47 L LDAP authentication performing usingSSL, 53 LoadModule directive, 44 log file Tomcat, 50 M mod-sslmodules, 66 N Netscape SSL, 17 Netscape Server certificate migrating, 62 migration prerequisites, 62 migration steps, 62 P password 71
administrator, 16 changing for Secure Web Server, 38 private key generating, 54 SSL, 53 public Web server access to HTTPandHTTPS, 61 displaying information, 35 displaying server status, 34 R remote access, 38 S secure connection testing usingSSL, 61 Secure Socket Layer ( see SSL) Secure WebServer ( see also Secure Web Server 1.3) ( see also Secure Web Server 2.0) accessing, 11 additional modules-Version 1.3,66 administration functions, 17 components and modules -Version 1.3,65 components and modules -Version 2.0,67 configuration files, 19 controlling, 37 features, 11 managing, 19 overview, 11 remote access to, 38 restarting public, 37 stopping public, 37 support utilities, 15 tuning, 16 Secure WebServer 1.3 mod-sslmodules, 66 standard modules, 65 Secure WebServer 2.0 additional modules, 68 standard modules, 67 security ( see SSL) server activity reports, 35 server reports generating, 35 shared library ( see dynamic module) srm.conf configuration file, 20 SSL, 53 authentication, 17 concepts, 53 considerations for public Web servers, 61 disabling, 60 enabling, 60 enabling from Administration utility, 53 overview, 17 performing encryption, 53 steps for enacting, 53 startup script detecting Tomcat, 48 T test certificate generating, 57 installing, 57 Tomcat, 47 additional information, 51 administration, 50 examples, 51 locating files and directories, 48 log files, 50 manager applications, 50 overview, 17 restarting in non-TruCluster environment, 49 restarting inTruCluster environment, 49 selecting Java environment, 48 starting, 48 starting from Administration Utility, 48 stopping from Administration utility, 48 understanding, 47 using as a standalone public Web server, 47 tomcat start command, 49 tomcat stop command, 49 tomcat/.tomcatrc initialization file, 48 TruCluster restarting Tomcat, 49 tuning, 16 U user account adding, 33 changing public, 33 deleting, 34 modifying, 34 72 Index
Google Search
Google
Popular Articles