C O N T E N T S |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
HP Secure Web Server Documentation
|
Chapter 4:
Using mod_ssl DirectivesThe mod_ssl directives are your means for configuring OpenSSL to function in exactly the way you want for your SSL-enabled HP Secure Web Server. All mod_ssl directives can be applied to the main server configuration file (HTTPD.CONF) by inclusion in the MOD_SSL.CONF include file. __Topics_____________________________
How to apply mod_ssl directivesThere are three classes of mod_ssl directives used by HP Secure Web Server:
The three classes of directives are hierarchical: per directory directives can also be used in the per server and global context. Per Server directives can also be used in the global context. Entering directives in the server configuration fileDirectives in the MOD_SSL.CONF file are included in the HTTPD.CONF server configuration file. Like any change to HTTPD.CONF, it has no effect until shutting down and restarting the server. Since MOD_SSL.CONF is an include file, changes to it are not affected by disabling SSL. When you reenable it, the same file is included in HTTPD.CONF again. Note: Although mod_ssl permits many directives to be entered in other configuration files, you should not add mod_ssl directives directly to HTTPD.CONF or to other configuration files (including SRM.CONF and ACCESS.CONF). To edit the MOD_SSL.CONF file, use this command:
Warning: Editing MOD_SSL.CONF or HTTPD.CONF can effect or prevent your server from running. If necessary, copies of these file exist:
Using access filesUsing access files (by default .HTACCESS files) is
more flexible, but puts a greater burden on performance and security. Remember also that
the default setting in HTTPD.CONF is AllowOverride None, meaning
directives in .HTACCESS files are ignored. Overrides are activated by the AllowOverride directive, and apply to a particular
scope (such as a directory) and all descendants, unless further modified by other AllowOverride directives at lower levels. Here are some usage guidelines:
Mapping mod_ssl contextsThe www.modssl.org documentation refers to contexts such as server config and virtual host. Different directives may be applied in different contexts, and these determine the scope of their effect. These contexts should be understood as follows:
Summary of mod_ssl directivesFor official mod_ssl documentation on each directive, click the For more information about directives, click the
Use these directives to determine how the SSL Engine will operate: SSLEngine
|
| Description: | Switches the SSL Engine on or off. |
| Syntax: | SSLEngine on|off |
| Default: | SSLEngine on |
| Context: | HTTPD.CONF, virtual host |
| Description: | Configures usable SSL protocol flavors. |
| Syntax: | SSLProtocol [+-]protocolwhere [+-]protocol
can be |
| Default: | SSLProtocol all |
| Context: | HTTPD.CONF, virtual host |
| Override: | Options |
| Description | Specifies where to write the dedicated SSL engine logfile. | |
| Syntax: | SSLLog filename |
|
| Default: | None | |
| Context: | HTTPD.CONF, virtual host |
| Description: | Sets the logging level for the dedicated SSL engine logfile. |
| Syntax: | SSLLogLevel levelwhere level can
be |
| Default: | SSLLogLevel none |
| Context: | HTTPD.CONF, virtual host |
Use these directives to set server startup and administration:
| Description: | Determines the type of pass-phrase dialog for decrypting private keys at startup time. The default requires manual entry of pass phrases. |
| Syntax: | SSLPassPhraseDialog typewhere
type is |
| Default: | SSLPassPhraseDialog builtin |
| Context: | HTTPD.CONF |
| OpenVMS note: | Do not use an encoded pass phrase with the builtin
option. |
| Description: | Provides a method for mutual exclusion of internal operations. |
| Syntax: | SSLMutex typewhere type is
none, |
| Default: | SSLMutex none |
| Context: | HTTPD.CONF |
| OpenVMS note: | OpenVMS uses semaphore-caching mutex, because it's faster than file locking. |
| Description: | Configures one or more sources for seeding the Pseudo Random Number Generator (PRNG) in OpenSSL at startup time. |
| Syntax: | SSLRandomSeed context source [bytes]where context source is |
| Default: | none |
| Context: | HTTPD.CONF |
Use these directives to determine how a secure connection should be established and maintained with the client:
| Description: | Specifies the cipher suite for negotiation in the SSL handshake. |
| Syntax: | SSLCipherSuite cipher-spec |
| Default: | SSLCipherSuite
ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP |
| Context: | HTTPD.CONF, virtual host, directory, .HTACCESS |
| Override: | AuthConfig |
| Description: | Configures storage type of the global/interprocess SSL Session Cache. |
| Syntax | SSLSessionCache typewhere type is |
| Context: | HTTPD.CONF |
| OpenVMS note: | OpenVMS uses a file-based session cache. (OpenVMS does not support a shared-memory session cache at this time.) |
| Description: | Sets the number of seconds before an SSL session expires in the Session Cache. |
| Syntax: | SSLSessionCacheTimeout seconds |
| Default: | SSLSessionCacheTimeout 300 |
| Context: | HTTPD.CONF, virtual host |
Use these directives to specify the file or directory locations of certificate, key, chain, and revocation files:
| Description: | Specifies the server PEM-encoded X.509 Certificate file. |
| Syntax: | SSLCertificateFile filename |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | Specifies the server PEM-encoded Private Key file. |
| Syntax: | SSLCertificateKeyFile filename |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | Specifies a file with concatenated PEM-encoded server CA certificates. |
| Syntax: | SSLCertificateChainFile filename |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | Specifes the directory of PEM-encoded CA certificates for client authorization. |
| Syntax: | SSLCACertificatePath directory |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | File of concatenated PEM-encoded CA certificates for client authorization. |
| Syntax: | SSLCACertificateFile filename |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | Directory
of PEM-encoded CA client revocation lists for client authorization. |
| Syntax: | SSLCARevocationPath directory |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
| Description: | File of
concatenated PEM-encoded CA client revocation lists for client authorization. |
| Syntax: | SSLCARevocationFile filename |
| Default: | None |
| Context: | HTTPD.CONF, virtual host |
Use these directives to enforce secure connections according to the level of server and client authentication you want:
| Description: | Specifies
the type of Client Certificate verification. |
| Syntax: | SSLVerifyClient level |
| Default: | SSLVerifyClient none |
| Context: | HTTPD.CONF, virtual host, directory, .HTACCESS |
| Description: | Sets the
maximum depth of CA certificates in client certificate verification. |
| Syntax: | SSLVerifyDepth number |
| Default: | SSLVerifyDepth 1 |
| Context: | HTTPD.CONF, virtual host, directory, .HTACCESS |
| Override: | AuthConfig |
| Description: | Denies
client access when not using an https request. |
| Syntax: | SSLRequireSSL |
| Default: | None |
| Context: | directory, .HTACCESS |
| Override: | AuthConfig |
| Description: | Allows
client access only when a custom Boolean expression is True. |
| Syntax: | SSLRequire expression |
| Default: | None |
| Context: | directory, .htaccess |
| Override: | AuthConfig |