|

Name Value Desc<x509> は X509 DN 構成です。
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
CustomLog は 標準の Apache directive ですが、Apache-SSL はいくつかの特別な情報をログします:
{cipher}cこの接続に使われた暗号名
{clientcert}cクライアントによって示された証明書の"one-line"バージョン
{errcode}cもしクライアントの証明書の照合が失敗すると、SSLeay error code になります。成功した場合には"-"がログされます。
{errstr}cerror 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"
この directive は、SSLRequireCipher 毎の、スペースで区切られた暗号のリストを指定して、禁止するものを除外します。 このようになります: 禁止されていれば拒絶されます; 要求されていれば受け入れます; 要求されている暗号がリストになければ、受け入れます
例:
SSLBanCipher RC4-MD5 EXP-RC4-MD5または (デフォルトで使うには賢明です):SSLBanCipher NULL-MD5 NULL-SHA
単一の証明書ファイルを指定する SSLCACertificatePath の代わりにこの directive を使います。このファイルは複数の証明書を格納することができます。
例:
SSLCACertificateFile /usr/local/apache/certs/my.ca.pem
これは受け入れる準備ができているクライアントの証明書、認証局の証明書があるディレクトリへのパスです。 PEM エンコード形式でなければなりません(少なくとも SSLeay が PEM エンコード形式を呼ぶこと)
例:
SSLCACertificatePath /usr/local/apache/certs
これはグローバルな実行できるキャシュサーバのパス、gcache です。ServerRoot に対する絶対、あるいは相対パスです。
例:
SSLCacheServerPath /usr/local/apache/bin/gcacheあるいはSSLCacheServerPath bin/gcache
SSLCacheServerPath で指定されたグローバルなキャッシュサーバは、TCP/IP か Unix ドメイン・ソケットを使うことができます。もし引数が数字なら、その数字の TCP/IP ポートが使われますが、そうでなければ Unix ドメイン・ソケットで使われる絶対パスのファイル名でなければなりません。
もしアタッカーが gcache に接続できると悪さをできることに気を付けてください。ファイアウォールか、Unix ドメインソケットで割り当てられるファイルのパーミッションのどちらかで指定されるポートに接続できるのは、Apache-SSL だけにすることが大事です。
例:
SSLCacheServerPort 12345またはSSLCacheServerPort /a/path/to/a/socket
gcache が走るディレクトリを設定してください。デバッグのためだけなら、gcache はコアダンプを作ります。
これは PEM エンコード形式のサーバ証明書です(厳密には、SSLeay が PEM を呼ぶというのは正しくありません)。
例:
SSLCertificateFile /usr/local/apache/certs/my.server.pem
embedded in SSLCertificateFileこれは 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
SSL を拒否します。SSLRequireSSL の反対です。SSL がアクティブならアクセスは拒否されます。
例:
<Directory /some/where/that/must/be/in/the/clear> SSLDenySSL </Directory>
SSLEnableSSL を無効にします。同じサーバでセキュアサーバとそうでないサーバを運用する際に役立ちます。逆の場合には、SSLEnable で SSL は有効になります。
SSLEnableSSL を有効にします。デフォルトです。しかし、メインサーバで SSLDisable を使っていれば、この directive を使って virtual host に対して SSL を再び有効にすることができます。
証明書とその背後にある CGI への証明書のチェーンを転送します。
証明書は、環境変数 SSL_CLIENT_CERT と 1 から始まる n の SSL_CLIENT_CERT_CHAIN_n で暗号化された base 64 です。
例:
実際に動いている例があるので、見てください: https://www.apache-ssl.org/cgi/cert-export
注 この directive は APACHE_SSL_EXPORT_CERTS が .../src/include/buff.h で TRUE に設定されているときだけ有効です。
この 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>
クライアント証明書の認証のための CA のリストの提示を無効にします。生産環境では役に立ちそうもありませんが、test 目的なら非常に扱いやすいです。
randomness をロードします。これは起動時にロードされて、file からのほとんどの bytes を読みます。randomness は全てのサーバ・インスタンスで共有されます。欲しいだけ持つことができます。
例:
SSLRandomFile /dev/random 1024
注 このディレクティブは、ランダムなバイトのリクエスト数がデバイスから読まれるまで、サーバをハングさせるかもしれません。疑わしければ、あなたのプラットフォームで /dev/random の機能をチェックして下さい。しかし一般的には選択デバイス /dev/urandom は直ちにリターンします(randomness より少ない潜在的なコストで)。
randomness をロードします(接続毎)。これは SSL がそれぞれの接続とネゴシエートする前にロードされます。この場合もやはり欲しいだけ持つことができ、接続毎に使われます。
例:
SSLRandomFilePerConnection /dev/random 1024
注 上の注記 SSLRandomFile を見てください。
スペースで区切られた暗号リストを指定して、接続が暗号を証明するために確立する前に使われます。これはディレクトリ毎のオプションです。可能なものは以下です。
例:
SSLRequireCipher RC4-MD5 EXP-RC4-MD5
SSL を要求します。
例:
<Directory /some/where/important> SSLRequireSSL </Directory>
コロンで区切られた暗号のリストを指定し、クライアントエンドが行うことを制限するために 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
セッション鍵は、クライアントが最初にサーバに接続したときに生成されます。この directive はセッション鍵が局所的にキャッシュされる秒数の長さを設定します。低い値は安全ですが(新しいものが使われる前に、アタッカーは鍵を解読する制限時間が必要です)、遅いので、鍵はそれぞれのタイムアウトで再生成されます。 多くの目的のために時間内に測定されたタイムアウトは完全に安全です。
例:
SSLSessionCacheTimeout 3600
SSLVerifyClient 0directive はクライアントに対して何を確認するかを設定します:
0 - 認証を必要としないとき
1 - クライアントが合法的な証明書を提示するかもしれない。もし認証が提示されれば、サーバに格納している証明書は、合法的な認証局(CA)が発行したものでなければならない。
2 - クライアントが合法的な証明書を提示しなければならない。
3 - クライアントが合法的な証明書を提示するかもしれない、しかし、サーバに格納している証明書は、合法的な認証局(CA)が発行したものでなくてもよい。
例:
SSLVerifyClient 2
SSLVerifyDepth 0現実には、我々が扱っている証明書は、上位の別の認証局(CA)が信頼して法的に認めた認証局が発行してます。 この様にして、ルートの認証局まで戻ります。この命令は、あきらめる前にどれだけ、上位または下位の認証局を辿るかを 指定します。確認をあきらめた時の動作は、SSLVerifyClient によって決定されます。 普通、CA によって直接署名された証明書だけを信用するので、これは 1 に設定するべきです。
例:
SSLVerifyDepth 1
Encrypted SSLeay name Config name Keysize KeysizeReturn to the Apache-SSL homepage.
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

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