[an error occurred while processing this directive]

Apache-SSL Documentation

Last updated: July 29, 1999

Directives


CGI Environment Variables

Status: Extension
Module: Apache-SSL

Name			Value		Desc

HTTPS [if SET] HTTPS is being used. HTTPS_CIPHER <string> SSL/TLS cipherspec SSL_CIPHER <string> The same as HTTPS_CIPHER SSL_PROTOCOL_VERSION <string> Self explanatory SSL_SSLEAY_VERSION <string> Self explanatory HTTPS_KEYSIZE <number> Number of bits in the session key HTTPS_SECRETKEYSIZE <number> Number of bits in the secret key SSL_CLIENT_DN <string> DN in client's certificate SSL_CLIENT_<x509> <string> Component of client's DN SSL_CLIENT_I_DN <string> DN of issuer of client's certificate SSL_CLIENT_I_<x509> <string> Component of client's issuer's DN SSL_SERVER_DN <string> DN in server's certificate SSL_SERVER_<x509> <string> Component of server's DN SSL_SERVER_I_DN <string> DN of issuer of server's certificate SSL_SERVER_I_<x509> <string> Component of server's issuer's DN SSL_CLIENT_CERT <string> Base64 encoding of client cert SSL_CLIENT_CERT_CHAIN_n <string> Base64 encoding of client cert chain
<x509> は X509 DN 構成です。


CustomLog

Status: Extension
Module: Apache-SSL

CustomLog は 標準の Apache directive ですが、Apache-SSL はいくつかの特別な情報をログします:

{cipher}c
この接続に使われた暗号名
{clientcert}c
クライアントによって示された証明書の"one-line"バージョン
{errcode}c
もしクライアントの証明書の照合が失敗すると、SSLeay error code になります。成功した場合には"-"がログされます。
{errstr}c
error code に対応する SSLeay 文字列です。
{version}c
使われている SSL のバージョンです。使っている SSLeay のバージョンが 0.9.0 以前なら、単なる数字、つまり SSL2 なら 2、SSL3 なら 3 です。0.9.0 以降のバージョンの場合は文字列になります。つまり、"SSL2"、"SSL3"、"TLS1"です。

例:

 
CustomLog logs/ssl_log "%t %{cipher}c %{clientcert}c %{errcode}c %{errstr}c %{version}c"



SSLBanCipher

Syntax: SSLBanCipher cipher-list
Context: server config, virtual host, .htaccess, directory
Override: FileInfo
Status: Extension
Module: Apache-SSL
Compatibility: ??

この directive は、SSLRequireCipher 毎の、スペースで区切られた暗号のリストを指定して、禁止するものを除外します。 このようになります: 禁止されていれば拒絶されます; 要求されていれば受け入れます; 要求されている暗号がリストになければ、受け入れます

例:

SSLBanCipher RC4-MD5 EXP-RC4-MD5
または (デフォルトで使うには賢明です):
SSLBanCipher NULL-MD5 NULL-SHA


SSLCACertificateFile

Syntax: SSLCACertificateFile file
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

単一の証明書ファイルを指定する SSLCACertificatePath の代わりにこの directive を使います。このファイルは複数の証明書を格納することができます。

例:

SSLCACertificateFile /usr/local/apache/certs/my.ca.pem


SSLCACertificatePath

Syntax: SSLCACertificatePath directory
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

これは受け入れる準備ができているクライアントの証明書、認証局の証明書があるディレクトリへのパスです。 PEM エンコード形式でなければなりません(少なくとも SSLeay が PEM エンコード形式を呼ぶこと)

例:

SSLCACertificatePath /usr/local/apache/certs


SSLCacheServerPath

Syntax: SSLCacheServerPath command
Context: server config
Status: Extension
Module: Apache-SSL
Compatibility: ??

これはグローバルな実行できるキャシュサーバのパス、gcache です。ServerRoot に対する絶対、あるいは相対パスです。

例:

SSLCacheServerPath /usr/local/apache/bin/gcache
あるいは
SSLCacheServerPath bin/gcache


SSLCacheServerPort

Syntax: SSLCacheServerPort port|filename
Context: server config
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.2+ssl_1.27

SSLCacheServerPath で指定されたグローバルなキャッシュサーバは、TCP/IP か Unix ドメイン・ソケットを使うことができます。もし引数が数字なら、その数字の TCP/IP ポートが使われますが、そうでなければ Unix ドメイン・ソケットで使われる絶対パスのファイル名でなければなりません。

もしアタッカーが gcache に接続できると悪さをできることに気を付けてください。ファイアウォールか、Unix ドメインソケットで割り当てられるファイルのパーミッションのどちらかで指定されるポートに接続できるのは、Apache-SSL だけにすることが大事です。

例:

SSLCacheServerPort 12345
または
SSLCacheServerPort /a/path/to/a/socket


SSLCacheServerRunDir

Syntax: SSLCacheServerRunDir directory
Context: server config
Status: Extension
Module: Apache-SSL
Compatibility: ??

gcache が走るディレクトリを設定してください。デバッグのためだけなら、gcache はコアダンプを作ります。


SSLCertificateFile

Syntax: SSLCertificateFile file
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

これは PEM エンコード形式のサーバ証明書です(厳密には、SSLeay が PEM を呼ぶというのは正しくありません)。

例:

SSLCertificateFile /usr/local/apache/certs/my.server.pem


SSLCertificateKeyFile

Syntax: SSLCertificateKeyFile file
Default: embedded in SSLCertificateFile
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

これは PEM エンコード形式の証明書のプライベート鍵です。もし鍵が SSLCertificateFile にまとめられていなければ、鍵ファイルを指定するためにこの directive を使ってください。ファイル名が / で始まっていれば、絶対パスです; そうでなければ以下のどちらかになる、SSLeay によって定義されたデフォルトの証明書ファイルへの相対パスです: /usr/local/ssl/private あるいは wherever_you_told_ssl_to_install/private.

例:

SSLCertificateKeyFile /usr/local/apache/certs/my.server.key.pem
または
SSLCertificateKeyFile certs/my.server.key.pem


SSLDenySSL

Syntax: SSLDenySSL
Context: server config, virtual host, .htaccess, directory
Override: FileInfo
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.6+ssl_1.36

SSL を拒否します。SSLRequireSSL の反対です。SSL がアクティブならアクセスは拒否されます。

例:

<Directory /some/where/that/must/be/in/the/clear>
  SSLDenySSL
</Directory>


SSLDisable

Syntax: SSLDisable
Default: SSLEnable
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

SSL を無効にします。同じサーバでセキュアサーバとそうでないサーバを運用する際に役立ちます。逆の場合には、SSLEnable で SSL は有効になります。


SSLEnable

Syntax: SSLEnable
Default: SSLEnable
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

SSL を有効にします。デフォルトです。しかし、メインサーバで SSLDisable を使っていれば、この directive を使って virtual host に対して SSL を再び有効にすることができます。


SSLExportClientCertificates

Syntax: SSLExportClientCertificates
Context: server config, virtual host, .htaccess, directory
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.2+ssl_1.27

証明書とその背後にある CGI への証明書のチェーンを転送します。 証明書は、環境変数 SSL_CLIENT_CERT と 1 から始まる nSSL_CLIENT_CERT_CHAIN_n で暗号化された base 64 です。

例:

実際に動いている例があるので、見てください: https://www.apache-ssl.org/cgi/cert-export

注 この directive は APACHE_SSL_EXPORT_CERTS.../src/include/buff.hTRUE に設定されているときだけ有効です。


SSLFakeBasicAuth

Syntax: SSLFakeBasicAuth
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

この directive はオンラインの証明書名 - SSLeay function X509_NAME_oneline() によって生成されるクライアント証明書のバージョンを使って 基本的な認証(basic authentication) のユーザ・ログオンをシミュレートします(これが証明書サブジェクトの Distinguished Name になるかもしれませんが、SSLeay はこれを保証しないことに注意してください)。 SSLVerifyClient で有効にされると、非認証ユーザが接続しようとすると接続を拒絶されます。ユーザにアクセスを許可するためには、認証ファイルに名前とパスワード''xxj31ZMTZzkVA''(これは''password''を暗号化したもの)を追加します。

例:

  SSLFakeBasicAuth
  <Directory /www/watchdog/htdocs>
     AllowOverride none
     AuthUserFile /www/auth/watchdog/users
     AuthType Basic
     AuthName Watchdog
     Require valid-user
   </Directory>

SSLNoCAList

Syntax: SSLNoCAList
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.6+ssl_1.34

クライアント証明書の認証のための CA のリストの提示を無効にします。生産環境では役に立ちそうもありませんが、test 目的なら非常に扱いやすいです。


SSLRandomFile

Syntax: SSLRandomFile file bytes
Context: server config
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.4+ssl_1.31

randomness をロードします。これは起動時にロードされて、file からのほとんどの bytes を読みます。randomness は全てのサーバ・インスタンスで共有されます。欲しいだけ持つことができます。

例:

  SSLRandomFile /dev/random 1024

注 このディレクティブは、ランダムなバイトのリクエスト数がデバイスから読まれるまで、サーバをハングさせるかもしれません。疑わしければ、あなたのプラットフォームで /dev/random の機能をチェックして下さい。しかし一般的には選択デバイス /dev/urandom は直ちにリターンします(randomness より少ない潜在的なコストで)。


SSLRandomFilePerConnection

Syntax: SSLRandomFilePerConnection file bytes
Context: server config
Status: Extension
Module: Apache-SSL
Compatibility: apache_1.3.4+ssl_1.31

randomness をロードします(接続毎)。これは SSL がそれぞれの接続とネゴシエートする前にロードされます。この場合もやはり欲しいだけ持つことができ、接続毎に使われます。

例:

  SSLRandomFilePerConnection /dev/random 1024

注 上の注記 SSLRandomFile を見てください。


SSLRequireCipher

Syntax: SSLRequireCipher cipher-list
Context: server config, virtual host, .htaccess, directory
Override: FileInfo
Status: Extension
Module: Apache-SSL
Compatibility: ??

スペースで区切られた暗号リストを指定して、接続が暗号を証明するために確立する前に使われます。これはディレクトリ毎のオプションです。可能なものは以下です。

例:

SSLRequireCipher RC4-MD5 EXP-RC4-MD5


SSLRequireSSL

Syntax: SSLRequireSSL
Context: server config, virtual host, .htaccess, directory
Override: FileInfo
Status: Extension
Module: Apache-SSL
Compatibility: ??

SSL を要求します。 セクションで(あるいは他で)、SSL を不注意にも無効にすることを避けるために使います。この directive が割り当てられているときに SSL が使用されないと、アクセスは拒否されます。これは重要情報のための二重安全装置として便利です。

例:

<Directory /some/where/important>
  SSLRequireSSL
</Directory>


SSLRequiredCiphers

Syntax: SSLRequiredCiphers cipher-list
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

コロンで区切られた暗号のリストを指定し、クライアントエンドが行うことを制限するために SSLeay で使われます。可能なものは以下にあります。SSL プロトコルは、情報交換を安全にするために、単一の暗号の組み合わせに対してクライアントとサーバを制限しません。可能な暗号成分はいくつかありますが、クッキングポットにあるように、成分は他のものと一緒にした方が良いです。SSL の仕様(Netscape)に大きな関心があるなら、John Wiley & Sons 出版の Bruce Schneier's Applied Crytography を参照すると良いでしょう。暗号のリストは SSLeay の .../ssl/ssl.h にもあります。マクロ名はテキストの文字列よりも意味している意図がよくなります。

例:

SSLRequiredCiphers RC4-MD5:RC4-SHA:IDEA-CBC-MD5:DES-CBC3-SHA


SSLSessionCacheTimeout

Syntax: SSLSessionCacheTimeout seconds
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

セッション鍵は、クライアントが最初にサーバに接続したときに生成されます。この directive はセッション鍵が局所的にキャッシュされる秒数の長さを設定します。低い値は安全ですが(新しいものが使われる前に、アタッカーは鍵を解読する制限時間が必要です)、遅いので、鍵はそれぞれのタイムアウトで再生成されます。 多くの目的のために時間内に測定されたタイムアウトは完全に安全です。

例:

SSLSessionCacheTimeout 3600


SSLVerifyClient

Syntax: SSLVerifyClient level
Default: SSLVerifyClient 0
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

directive はクライアントに対して何を確認するかを設定します:

0 - 認証を必要としないとき
1 - クライアントが合法的な証明書を提示するかもしれない。もし認証が提示されれば、サーバに格納している証明書は、合法的な認証局(CA)が発行したものでなければならない。
2 - クライアントが合法的な証明書を提示しなければならない
3 - クライアントが合法的な証明書を提示するかもしれない、しかし、サーバに格納している証明書は、合法的な認証局(CA)が発行したものでなくてもよい。

例:

SSLVerifyClient 2


SSLVerifyDepth

Syntax: SSLVertifyDepth depth
Default: SSLVerifyDepth 0
Context: server config, virtual host
Status: Extension
Module: Apache-SSL
Compatibility: ??

現実には、我々が扱っている証明書は、上位の別の認証局(CA)が信頼して法的に認めた認証局が発行してます。 この様にして、ルートの認証局まで戻ります。この命令は、あきらめる前にどれだけ、上位または下位の認証局を辿るかを 指定します。確認をあきらめた時の動作は、SSLVerifyClient によって決定されます。 普通、CA によって直接署名された証明書だけを信用するので、これは 1 に設定するべきです。

例:

SSLVerifyDepth 1


暗号

									Encrypted
SSLeay name				Config name		Keysize	Keysize

SSL3_TXT_RSA_IDEA_128_SHA IDEA-CBC-SHA 128 128 SSL3_TXT_RSA_NULL_MD5 NULL-MD5 0 0 SSL3_TXT_RSA_NULL_SHA NULL-SHA 0 0 SSL3_TXT_RSA_RC4_40_MD5 EXP-RC4-MD5 128 40 SSL3_TXT_RSA_RC4_128_MD5 RC4-MD5 128 128 SSL3_TXT_RSA_RC4_128_SHA RC4-SHA 128 128 SSL3_TXT_RSA_RC2_40_MD5 EXP-RC2-CBC-MD5 128 40 SSL3_TXT_RSA_IDEA_128_SHA IDEA-CBC-MD5 128 128 SSL3_TXT_RSA_DES_40_CBC_SHA EXP-DES-CBC-SHA 56 40 SSL3_TXT_RSA_DES_64_CBC_SHA DES-CBC-SHA 56 56 SSL3_TXT_RSA_DES_192_CBC3_SHA DES-CBC3-SHA 168 168 SSL3_TXT_DH_DSS_DES_40_CBC_SHA EXP-DH-DSS-DES-CBC-SHA 56 40 SSL3_TXT_DH_DSS_DES_64_CBC_SHA DH-DSS-DES-CBC-SHA 56 56 SSL3_TXT_DH_DSS_DES_192_CBC3_SHA DH-DSS-DES-CBC3-SHA 168 168 SSL3_TXT_DH_RSA_DES_40_CBC_SHA EXP-DH-RSA-DES-CBC-SHA 56 40 SSL3_TXT_DH_RSA_DES_64_CBC_SHA DH-RSA-DES-CBC-SHA 56 56 SSL3_TXT_DH_RSA_DES_192_CBC3_SHA DH-RSA-DES-CBC3-SHA 168 168 SSL3_TXT_EDH_DSS_DES_40_CBC_SHA EXP-EDH-DSS-DES-CBC-SHA 56 40 SSL3_TXT_EDH_DSS_DES_64_CBC_SHA EDH-DSS-DES-CBC-SHA 56 56 SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA EDH-DSS-DES-CBC3-SHA 168 168 SSL3_TXT_EDH_RSA_DES_40_CBC_SHA EXP-EDH-RSA-DES-CBC 56 40 SSL3_TXT_EDH_RSA_DES_64_CBC_SHA EDH-RSA-DES-CBC-SHA 56 56 SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA EDH-RSA-DES-CBC3-SHA 168 168 SSL3_TXT_ADH_RC4_40_MD5 EXP-ADH-RC4-MD5 128 40 SSL3_TXT_ADH_RC4_128_MD5 ADH-RC4-MD5 128 128 SSL3_TXT_ADH_DES_40_CBC_SHA EXP-ADH-DES-CBC-SHA 128 40 SSL3_TXT_ADH_DES_64_CBC_SHA ADH-DES-CBC-SHA 56 56 SSL3_TXT_ADH_DES_192_CBC_SHA ADH-DES-CBC3-SHA 168 168 SSL3_TXT_FZA_DMS_NULL_SHA FZA-NULL-SHA 0 0 SSL3_TXT_FZA_DMS_FZA_SHA FZA-FZA-CBC-SHA -1 -1 SSL3_TXT_FZA_DMS_RC4_SHA FZA-RC4-SHA 128 128 SSL2_TXT_DES_64_CFB64_WITH_MD5_1 DES-CFB-M1 56 56 SSL2_TXT_RC2_128_CBC_WITH_MD5 RC2-CBC-MD5 128 128 SSL2_TXT_DES_64_CBC_WITH_MD5 DES-CBC-MD5 56 56 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 DES-CBC3-MD5 168 168 SSL2_TXT_RC4_64_WITH_MD5 RC4-64-MD5 64 64 SSL2_TXT_NULL NULL 0 0
Return to the Apache-SSL homepage.



Copyright © 1995,6,7,8,9 Ben Laurie, Adam Laurie.
With acknowledgement to Ralf S. Engelschall.


検索文字
このJAPACHE!ニュースグループへ
( japache.Apache-SSL.conf ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


Index Home