[Top] [Prev] [Next] [Last] |
|
Chapter 1The Configuration Manager
Stronghold's Configuration Manager is a Web-based interface to the server configuration file. Normally, you change the server configuration by manually editing the configuration file. Chapter 2 shows you how to do this. As an alternative, you can use the Configuration Manager's convenient graphical interface.
- start and stop the Configuration Manager
- access the Configuration Manager
- configure Stronghold Web Server
- manage keys and site certificates
- start, stop, and reload the Stronghold Web Server
- secure the Configuration Manager
Starting and Stopping the Configuration Manager
# ./start-adm
To stop the Configuration Manager, run stop-adm:
# ./stop-adm
The Configuration Manager reads the server configuration file when it starts.
NOTE: If you edit the configuration file manually, you must stop and start the Configuration Manager in order to allow it to read your changes.
Accessing the Configuration Manager
There are two ways to access the Configuration Manager:
- through your Stronghold server
The default port for the Stronghold interface to the Configuration Manager is 444. For example:
https://www.yourhost.com:444/
You can change the port number during installation or by manually editing the configuration file.
- through the Configuration Manager's miniature Web server
Use this direct interface when Stronghold is not running. For example:
http://localhost:445/
NOTE: Since the direct interface does not support SSL, do not use it unless Stronghold is not running.
Configuring Stronghold Web Server
- navigate the main configuration menu
- set a global server configuration
- configure virtual hosts
- configure individual directories
- set the compiled module suite
Figure 1-1: The Configuration Manager
- Click Enter to access the main menu of all configuration options, including directory and virtual host configurations.
- Click Global Server Configuration to go directly to the server's main configuration.
- Click Module Configuration to tell the Configuration Manager about changes in your server's compiled module set.
- Click Keys & Certificate Enrollment to generate key pairs, request new certificates, renew existing certificates, or generate temporary certificates.
"Keys and Certificate Enrollment" on page 1-12 describes these features in greater detail.
- Click Start, Stop, or Reload the Server to interrupt or resume Web service.
"Starting, Stopping, and Reloading the Server" on page 1-14 shows you how to use this feature.
Figure 1-2: Configuration Options
Each option is followed by a short description that explains how the option affects your server's behavior. Each option corresponds to a configuration command called a directive, which appears in the configuration file when you finalize your changes. Chapter 3 contains the complete list of all valid directives.
To change the server configuration
- Use the online form to change the value of a configuration directive.
- Click the Set button.
- Continue changing configuration directive values and setting them until you are finished.
If you make a mistake, simply correct it and click the Set button again.
- Return to the main configuration menu at https://www.hostname.com:444/cgi-bin/config.py.
- Click the Write Configuration File button
- Go to the Server Start/Stop page.
- Click Reload.
This step causes Stronghold to reread the configuration file and implement your changes.
The Main Configuration Menu
When you access the main configuration menu, you find five configuration categories:
At the bottom of the main menu page is the Write Configuration File button. Whenever you finish modifying the configuration for your main server, virtual hosts, or directories, you must click this button and restart Stronghold in order to implement your changes. If you change your mind before you click this button, you can undo your changes by restarting the Configuration Manager as described in "Starting and Stopping the Configuration Manager" on page 1-1.
Global Server Configuration
To edit the global server configuration
- From the front page or the main menu, click Global Server Configuration.
The Global Server Configuration page appears, listing 14 configuration categories:
- server performance tuning
- server identity
- cryptography configuration
- files and directories
- file types, actions, and encodings
- directory aliasing and URL redirection
- access control
- log file management
- directory indexing
- CGIs and server-side includes
- miscellaneous items
- valid directives
- optional features
- location-based configuration
- Follow a category link to reach the configuration directives for that category.
- Edit the configuration options.
- Return to the main menu.
- Finalize your changes by clicking Write Configuration File.
Virtual Host Configuration
To add a new virtual host
- Make sure you have set up system support for the new virtual host.
The means for setting up system support for virtual hosts varies with your operating system and local Domain Name Service (DNS) facilities. For specific instructions, consult your operating system documentation. You can also find more information about different types of virtual hosts in "Configuring Virtual Hosts" on page 2-10.
- Go to the main configuration menu at https://www.hostname.com:444/cgi-bin/config.py.
- Under "New Virtual Server," enter the hostname of the new virtual host.
- Enter the port number for non-SSL transactions for this virtual host.
Unless you are implementing port-based virtual hosts, this is usually port 80.
- Click Create New Virtual Host.
- If the virtual host will also be performing SSL transactions, enter its name again.
- Enter the port number for SSL transactions for this virtual host.
Unless you are implementing port-based virtual hosts, this is usually port 443.
- Click Create New Virtual Host.
To configure a virtual host
- On the main configuration menu, click the virtual host link for the port you want to configure.
- server identity
- cryptography configuration
- files and directories
- file types, actions, and encodings
- directory aliasing and URL redirection
- access control
- log file management
- directory indexing
- CGIs and server-side includes
- miscellaneous items
- valid directives
- optional features
- location-based configuration
- directory-specific configuration
- Edit the virtual host configuration.
- Return to the main menu.
- Finalize your changes by clicking Write Configuration File.
Per-Directory Configuration
- delete an existing per-directory configuration
- add a new per-directory configuration
- go to a per-directory configuration to edit
To delete a per-directory configuration
- In the list of per-directory configurations, locate the one you want to delete.
- In the Eliminate column, click the "x" next to the per-directory configuration you want to delete.
If you change your mind before you finalize your changes, you can undo the deletion by restarting the Configuration Manager as described in "Starting and Stopping the Configuration Manager" on page 1-1. Keep in mind that once you write your changes to the configuration file, any per-directory configuration you have deleted is permanently lost.
To add a per-directory configuration
- Make sure the directory you want to configure already exists within your ServerRoot directory tree.
If it does not, create it using the mkdir command:
# mkdir directory
- In the text box on the main menu, enter the full path to the directory you want to configure.
The path must be an absolute path that begins with a slash (/).
- Click Create Directory.
To edit a per-directory configuration
- From the list of per-directory configurations, click the one you want to edit..
The Directory Configuration page appears. It shows you seven different configuration categories:
- per-directory access control
- per-directory file types
- directory indexing
- CGIs and server-side includes
- miscellaneous
- valid directives
- optional features
- Edit the configuration.
- Return to the main menu.
- Finalize your changes by clicking Write Configuration File.
Module Configuration
The configuration page for Stronghold's modules consists of a list of all the modules that come with Stronghold, each with a check box and a Set button. The Configuration Manager uses the information on this page to determine which modules are currently compiled into the server. For information on recompiling Stronghold Web Server with a different module set, see Chapter 4.
To change the compiled module suite
- Go to the Module Configuration page at https://www.hostname.com:444/cgi-bin/config.py?facet=modules.
- For each module that you have added to the compiled module suite, check the box next to its name.
- Click the Set button next to the check box.
- For each module that you have removed from the compiled module suite, uncheck the box next to its name.
- Click the Set button next to the check box.
You do not need to write to the configuration file or restart the server to implement these changes.
Keys and Certificate Enrollment
"Site Certificates and Keys" on page 6-10 describes encryption key pairs and site certificates in detail, and shows you how to manage these from the command line. With the Configuration Manager , you can perform two basic key and certificate management functions:
- start a new certificate request
- install a signed certificate
This feature installs a new certificate file that has been signed by your CA.
To start a new certificate request
- From the front page, click Keys & Certificate Enrollment.
- Under "Start a New Certificate Request," enter the following:
- the fully-qualified domain name of the host or virtual host that will own this key pair and certificate
- a key size, in bits
For the highest degree of security, we recommend the largest key size available: 1024 bits.
- Click Generate Key.
When key generation is finished, the new key pair is saved at ServerRoot/ssl/private/hostname.key and the temporary certificate form appears. The information you enter here is used to generate a Certificate Signing Request (CSR) and a temporary site certificate. See "Site Certificates and Keys" on page 6-10 for more information about CSRs and temporary site certificates.
- Enter the following information about the host or virtual host that will own this key pair and site certificate:
- country code
This is a two-letter code, such as JP for Japan or AT for Austria. For the complete list of country codes, see Appendix C.
- state or province name
- locality name
- organization name
- organizational unit name
- common name
This should be the same as the fully-qualified domain name you entered on the last page.
- Click Next.
Another page appears, informing you that test certificate generation was successful.
- Click Generate Cert Request.
- Select the entire Certificate Signing Request (CSR), which looks something like this:
-----BEGIN CERTIFICATE REQUEST-----
MIIBLTCB2AIBADBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEP
MA0GA1UEBxMGTXlCdXR0MRAwDgYDVQQKEwdZZXJCdXR0MRQwEgYDVQQLEwtZZXJN
b21zQnV0dDEWMBQGA1UEAxMNc21hcnR5LmMyLm5ldDBcMA0GCSqGSIb3DQEBAQUA
A0sAMEgCQQDQHGv4P3P25rzQQ77RPVtuJ0+ItbT4ManxZSAN98n/ZTdQ7Rsv6RUK
sU3a+z0tEG8yE5ovkufRuXlGua7iwCPjAgMBAAGgADANBgkqhkiG9w0BAQQFAANB
AFzYDnOaFiY/loKVWuQgI05OFzzyikB+Cz9Qv4W4Jm3tprCgoT7FA7E2kO3hSFWm
g+BS1QSqOOBYBzDnTKQVJDQ=
-----END CERTIFICATE REQUEST-----
- Click one of the links to the two major CAs, either Verisign or Thawte, or use another CA.
- Follow the instructions on your CA's certificate request pages.
To install a certificate
- From the front page, click Keys & Certificate Enrollment.
- Under "Install a Signed Certificate," enter the fully-qualified domain name of the host whose certificate you want to install.
- Copy the entire email that you received from your CA.
The text you copy is your site certificate. It should begin with this line
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
- Paste the site certificate into the Cert box.
- Click Install Cert.
Another page appears, informing you that your certificate has been installed.
Starting, Stopping, and Reloading the Server
- start the server
- stop the server
- reload the server
If you receive an error when starting or restarting Stronghold Web Server, see Chapter 8 for troubleshooting information.
Securing the Configuration Manager
- configure the encryption scheme used by the Configuration Manager
- configure authentication and access control for the Configuration Manager
- find the Configuration Manager logs
Encryption
To set the Configuration Manager ciphers
- From the Configuration Manager's front page, click Enter.
- On the main menu page, locate the Virtual Host section.
The Configuration Manager appears in the virtual host list as a default host:
_default_ port: 444
- Click the Configuration Manager host in the virtual host list.
- Click Modify Security Settings.
- Move to the Allowed Ciphers and Signatures section.
This is where you specify the ciphers that the Configuration Manager is allowed to use.
- Enter a colon-separated list of strong ciphers or cipher aliases in the text box.
Use the cipher abbreviations in the table on page 3-87 and the cipher aliases on page 3-89. Be sure to choose only the strongest ciphers. For example, you can use the cipher alias "HIGH" to denote all high-security ciphers.
- Click Set Required Cipher Suite.
- In the navigation bar at the bottom of the page, click Configuration Home Page.
- Click the Write Configuration File button to finalize your changes.
- Restart the server to implement your changes.
The client that you use to access the Configuration Manager must support the ciphers you set here.
Authentication
In order to set up client certificate authentication, you must first obtain a client certificate for yourself and any other authorized server administrator. If you have a private Certification Authority (CA), you can issue yourself a client certificate. This also makes it easier to restrict access, since you can configure the server to allow only clients certified by your private CA. For more information, see "Private Certification Authorities" on page 6-30.
- Verisign: http://www.verisign.com/idcenter/new/idplus.html
- Thawte: http://www.thawte.com/certs/personal/
To configure client certificate authentication
- From the Configuration Manager's front page, click Enter.
- On the main menu page, locate the Virtual Host section.
The Configuration Manager appears in the virtual host list as a default host:
_default_ port: 444
- Click the Configuration Manager host in the virtual host list.
- Click Modify Security Settings.
- Move to the Client Certificate Details section.
This is where you specify client certificate authentication options.
- In the Client Authentication Setting box, enter "2."
This instructs the server to require a client certificate before fulfilling any request.
The next step depends on whether you have a certificate signed by your private CA or one that is signed by a public CA.
To configure access control for a private CA certificate
- Save your private CA's site certificate in the CA directory. Give it a recognizeable filename, such as "privateCA.pem."
- On the Virtual Server Cryptography Configuration page, locate the Trusted Roots File box.
- Enter "CA/privateCA.pem."
- In the navigation bar at the bottom of the page, click Configuration Home Page.
- Click the Write Configuration File button to finalize your changes.
- Restart the server to implement your changes.
To configure access control for a public CA certificate
- In the navigation bar at the bottom of the page, click Configuration Home Page.
- Click the Write Configuration File button to finalize your changes.
- Use a text editor to open the configuration file:
# vi ServerRoot/conf/httpd.conf
- Locate the following section:
<VirtualHost _default_:444>
. . .
</VirtualHost>
The directives between these angle-bracketed tags configure the Configuration Manager.
- Between the angle-bracketed tags, insert the following directive:
SSL_Require "email = \"yourlogin@hostname\""
To allow multiple certificates, you can enter separate SSL_Require directives
SSL_Require "email = \"login1@hostname\""
SSL_Require "email = \"login2@hostname\""
or use the OR operator to support multiple values for one directive:
SSL_Require "email = \"login1@hostname\"" OR "email = \"login2@hostname\""
- Save the modified configuration file.
- Restart the server to implement your changes.
- Restart the Configuration Manager to allow it to read your changes.
Configuration Manager Logs
[Top] [Prev] [Next] [Last]
© 1997 C2Net International
Feedback: stronghold-docs@c2.net![]()