]> git.pld-linux.org Git - packages/apache.git/blobdiff - apache-mod_ssl.conf
- rel 4; use currently available (unofficial) fix for latest 'Range' vuln.
[packages/apache.git] / apache-mod_ssl.conf
index 578e9ac48ed634605f9748e23de1b9f44f6fd94f..0867c277e6694efe9e62d85c6c585862091d4c1a 100644 (file)
@@ -1,5 +1,5 @@
 # $Id$
-LoadModule ssl_module           modules/mod_ssl.so
+LoadModule ssl_module  modules/mod_ssl.so
 
 # This is the Apache server configuration file providing SSL support.
 # It contains the configuration directives to instruct the server how to
@@ -30,7 +30,7 @@ LoadModule ssl_module           modules/mod_ssl.so
 # standard HTTP port (see above) and to the HTTPS port
 #
 # Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
-#       Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
+#         Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
 #
 Listen 443
 
@@ -41,12 +41,6 @@ Listen 443
 ##  the main server and all SSL-enabled virtual hosts.
 ##
 
-#
-#   Some MIME-types for downloading Certificates and CRLs
-#
-AddType application/x-x509-ca-cert .crt
-AddType application/x-pkcs7-crl    .crl
-
 #   Pass Phrase Dialog:
 #   Configure the pass phrase gathering process.
 #   The filtering dialog program (`builtin' is a internal
@@ -56,36 +50,36 @@ SSLPassPhraseDialog  builtin
 #   Inter-Process Session Cache:
 #   Configure the SSL Session Cache: First the mechanism
 #   to use and second the expiring timeout (in seconds).
-#SSLSessionCache         dbm:/var/run/ssl_scache
-SSLSessionCache        shmcb:/var/run/ssl_scache(512000)
+#SSLSessionCache                dbm:/var/cache/httpd/ssl_scache
+#SSLSessionCache               shmcb:/var/run/ssl_scache(512000)
+SSLSessionCache                shmcb:/var/cache/httpd/ssl_scache(512000)
 SSLSessionCacheTimeout  300
 
 #   Semaphore:
 #   Configure the path to the mutual exclusion semaphore the
 #   SSL engine uses internally for inter-process synchronization.
-SSLMutex  file:/var/run/ssl_mutex
+SSLMutex  file:/var/run/httpd/ssl_mutex
 
 ##
 ## SSL Virtual Host Context
 ##
 
-<VirtualHost _default_:443>
-
-#   General setup for the virtual host
-DocumentRoot "/home/services/httpd/html"
-ServerName www.example.com:443
-ServerAdmin you@example.com
-ErrorLog /var/log/httpd/error_log
-TransferLog /var/log/httpd/access_log
-
+NameVirtualHost *:443
+<VirtualHost *:443>
 #   SSL Engine Switch:
 #   Enable/Disable SSL for this virtual host.
 SSLEngine on
 
+#   Usable SSL protocol flavors:
+#   This directive can be used to control the SSL protocol flavors mod_ssl
+#   should use when establishing its server environment. Clients then can only
+#   connect with one of the provided protocols.
+SSLProtocol all -SSLv2
+
 #   SSL Cipher Suite:
 #   List the ciphers that the client is permitted to negotiate.
 #   See the mod_ssl documentation for a complete list.
-SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
+SSLCipherSuite ALL:!ADH:!EXP:!LOW:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
 
 #   Server Certificate:
 #   Point SSLCertificateFile at a PEM encoded certificate.  If
@@ -119,8 +113,8 @@ SSLCertificateKeyFile /etc/httpd/ssl/server.key
 #   certificates for client authentication or alternatively one
 #   huge file containing all of them (file must be PEM encoded)
 #   Note: Inside SSLCACertificatePath you need hash symlinks
-#         to point to the certificate files. Use the provided
-#         Makefile to update the hash symlinks after changes.
+#               to point to the certificate files. Use the provided
+#               Makefile to update the hash symlinks after changes.
 #SSLCACertificatePath /etc/httpd/ssl
 #SSLCACertificateFile /etc/httpd/ssl/ca-bundle.crt
 
@@ -129,8 +123,8 @@ SSLCertificateKeyFile /etc/httpd/ssl/server.key
 #   authentication or alternatively one huge file containing all
 #   of them (file must be PEM encoded)
 #   Note: Inside SSLCARevocationPath you need hash symlinks
-#         to point to the certificate files. Use the provided
-#         Makefile to update the hash symlinks after changes.
+#               to point to the certificate files. Use the provided
+#               Makefile to update the hash symlinks after changes.
 #SSLCARevocationPath /etc/httpd/ssl
 #SSLCARevocationFile /etc/httpd/ssl/ca-bundle.crl
 
@@ -149,47 +143,47 @@ SSLCertificateKeyFile /etc/httpd/ssl/server.key
 #   mixture between C and Perl.  See the mod_ssl documentation
 #   for more details.
 #<Location />
-#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
-#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
-#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+#SSLRequire (  %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
+#                      and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+#                      and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
+#                      and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
+#                      and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
+#                 or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
 #</Location>
 
 #   SSL Engine Options:
 #   Set various options for the SSL engine.
 #   o FakeBasicAuth:
-#     Translate the client X.509 into a Basic Authorisation.  This means that
-#     the standard Auth/DBMAuth methods can be used for access control.  The
-#     user name is the `one line' version of the client's X.509 certificate.
-#     Note that no password is obtained from the user. Every entry in the user
-#     file needs this password: `xxj31ZMTZzkVA'.
+#       Translate the client X.509 into a Basic Authorisation.  This means that
+#       the standard Auth/DBMAuth methods can be used for access control.  The
+#       user name is the `one line' version of the client's X.509 certificate.
+#       Note that no password is obtained from the user. Every entry in the user
+#       file needs this password: `xxj31ZMTZzkVA'.
 #   o ExportCertData:
-#     This exports two additional environment variables: SSL_CLIENT_CERT and
-#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-#     server (always existing) and the client (only existing when client
-#     authentication is used). This can be used to import the certificates
-#     into CGI scripts.
+#       This exports two additional environment variables: SSL_CLIENT_CERT and
+#       SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
+#       server (always existing) and the client (only existing when client
+#       authentication is used). This can be used to import the certificates
+#       into CGI scripts.
 #   o StdEnvVars:
-#     This exports the standard SSL/TLS related `SSL_*' environment variables.
-#     Per default this exportation is switched off for performance reasons,
-#     because the extraction step is an expensive operation and is usually
-#     useless for serving static content. So one usually enables the
-#     exportation for CGI and SSI requests only.
+#       This exports the standard SSL/TLS related `SSL_*' environment variables.
+#       Per default this exportation is switched off for performance reasons,
+#       because the extraction step is an expensive operation and is usually
+#       useless for serving static content. So one usually enables the
+#       exportation for CGI and SSI requests only.
 #   o StrictRequire:
-#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
-#     under a "Satisfy any" situation, i.e. when it applies access is denied
-#     and no other module can change it.
+#       This denies access when "SSLRequireSSL" or "SSLRequire" applied even
+#       under a "Satisfy any" situation, i.e. when it applies access is denied
+#       and no other module can change it.
 #   o OptRenegotiate:
-#     This enables optimized SSL connection renegotiation handling when SSL
-#     directives are used in per-directory context.
+#       This enables optimized SSL connection renegotiation handling when SSL
+#       directives are used in per-directory context.
 #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
 <FilesMatch "\.(cgi|shtml|phtml|php)$">
-    SSLOptions +StdEnvVars
+       SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory "/home/services/httpd/cgi-bin">
-    SSLOptions +StdEnvVars
+       SSLOptions +StdEnvVars
 </Directory>
 
 #   SSL Protocol Adjustments:
@@ -198,35 +192,37 @@ SSLCertificateKeyFile /etc/httpd/ssl/server.key
 #   the close notify alert from client. When you need a different shutdown
 #   approach you can use one of the following variables:
 #   o ssl-unclean-shutdown:
-#     This forces an unclean shutdown when the connection is closed, i.e. no
-#     SSL close notify alert is send or allowed to received.  This violates
-#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
-#     this when you receive I/O errors because of the standard approach where
-#     mod_ssl sends the close notify alert.
+#       This forces an unclean shutdown when the connection is closed, i.e. no
+#       SSL close notify alert is send or allowed to received.  This violates
+#       the SSL/TLS standard but is needed for some brain-dead browsers. Use
+#       this when you receive I/O errors because of the standard approach where
+#       mod_ssl sends the close notify alert.
 #   o ssl-accurate-shutdown:
-#     This forces an accurate shutdown when the connection is closed, i.e. a
-#     SSL close notify alert is send and mod_ssl waits for the close notify
-#     alert of the client. This is 100% SSL/TLS standard compliant, but in
-#     practice often causes hanging connections with brain-dead browsers. Use
-#     this only for browsers where you know that their SSL implementation
-#     works correctly.
+#       This forces an accurate shutdown when the connection is closed, i.e. a
+#       SSL close notify alert is send and mod_ssl waits for the close notify
+#       alert of the client. This is 100% SSL/TLS standard compliant, but in
+#       practice often causes hanging connections with brain-dead browsers. Use
+#       this only for browsers where you know that their SSL implementation
+#       works correctly.
 #   Notice: Most problems of broken clients are also related to the HTTP
 #   keep-alive facility, so you usually additionally want to disable
 #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
 #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
 #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
 #   "force-response-1.0" for this.
-BrowserMatch ".*MSIE.*" \
-         nokeepalive ssl-unclean-shutdown \
-         downgrade-1.0 force-response-1.0
+<IfModule mod_setenvif.c>
+       BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
+</IfModule>
 
 #   Per-Server Logging:
 #   The home of a custom SSL log file. Use this when you want a
 #   compact non-error SSL logfile on a virtual host basis.
-CustomLog /var/log/httpd/ssl_request_log \
-          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+#<IfModule mod_log_config.c>
+#      CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+#      # enable common log too, otherwise you be suprised of no access logs
+#      CustomLog logs/access_log common
+#</IfModule>
 
 </VirtualHost>
 
 </IfModule>
-# vim: filetype=apache ts=4 sw=4 et
This page took 0.037009 seconds and 4 git commands to generate.