ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1M: システム管理コマンド Oracle Solaris 11.1 Information Library (日本語) |
- カーネル SSL の SMF インスタンスの有効化と構成
ksslcfg create -f pkcs11 -T token_label -C certificate_label [-d softtoken_directory] -p password_file [-u username] [-h ca_certchain_file] [-c ciphersuites] [-t ssl_session_cache_timeout] [-z ssl_session_cache_size] [-v] -x proxy_port [host] ssl_port
ksslcfg create -f pkcs12 -i cert_and_key_pk12file -p password_file [-u username] [-c ciphersuites] [-t ssl_session_cache_timeout] [-z ssl_session_cache_size] [-v] -x proxy_port [host] ssl_port
ksslcfg create -f pem -i cert_and_key_pemfile -p password_file [-u username] [-c ciphersuites] [-t ssl_session_cache_timeout] [-z ssl_session_cache_size] [-v] -x proxy_port [host] ssl_port
ksslcfg delete [-v] [host] ssl_port
ksslcfg -V
ksslcfg -?
ksslcfg は、カーネル SSL プロキシモジュールの smf(5) インスタンスを管理します。SSL 対応 Web サーバーは、そのカーネル Kernel プロキシのサービスを使用して、HTTPS パケット処理のパフォーマンスを向上させることができます。そのために、SSL プロキシポートおよびパラメータを指定してカーネル SSL サービスのインスタンスを作成し、プロキシポートで待機します。
create サブコマンドは、指定されたアドレスと SSL ポートに対するインスタンスを作成し、サービスを有効にします。
delete サブコマンドは、指定されたアドレスとポートのサービスが有効になっている場合はそれを無効にし、SMF リポジトリからインスタンスを削除します。
ksslcfg は、root ユーザーまたは「ネットワークセキュリティー」プロファイルに割り当てられているほかのユーザーで実行できます。rbac(5) および user_attr(4) を参照してください。
ksslcfg によってカーネルのサービスが正常に構成されたら、プロキシアプリケーションを起動するか、すでに実行中の場合は再起動する必要があります。
ksslcfg を実行してカーネル SSL プロキシを構成してからアプリケーションを起動する必要があります。
ksslcfg には、「オペランド」で説明されている ssl_port オペランドと、-x オプションで proxy_port 値を指定できます。これらの値がカーネル SSL プロキシ用に指定されている場合、これらを Solaris Network Cache and Acceleration (NCA) 機能用にも構成することはできません。
カーネル SSL プロキシインスタンスの障害管理リソース識別子 (FMRI) は svc://network/ssl/proxy です。ksslcfg は、ホストと SSL ポートの組み合わせに対して一意となるようにそのサービスのインスタンスを作成します。特定のプロキシエントリのインスタンスの FMRI は、svcs(1) で見つけることができ、ほかのサービスの依存関係に使用されます。サービスインスタンスの状態は、カーネル内の構成だけを追跡します。プロキシポートで待機しているアプリケーションの存在や状態は反映されません。
サポートしているオプションは、次のとおりです。
クライアントがソート順序でネゴシエーションを行うことができる一連の暗号。サポートされている SSLv3 および TLS の暗号を次に示します。名前の大文字と小文字は区別されません。
rsa_rc4_128_sha rsa_rc4_128_md5 rsa_aes_256_cbc_sha rsa_aes_128_cbc_sha rsa_3des_ede_cbc_sha rsa_des_cbc_sha
key_format で指定された証明書/鍵形式を使用します。サポートされているオプションは pkcs11、pkcs12、および pem です。
-f オプションで pkcs12 または pem が指定されている場合、Web サーバーの鍵と証明書を key_and_certificate_file から読み取ります。このファイルには、サーバー証明書のルート認証局までの証明書チェーンを形成する中間 CA 証明書も含まれる場合があります。これらの証明書は、ファイル内のサーバー証明書を下から上へ、つまり、もっとも低いレベルの CA 証明書のあとに次に高いレベルの CA 証明書、という順序でたどる必要があります。
PKCS#11 では、複数の証明書を単一のトークンに格納できます。このオプションでは、certificate_label で識別される単一の証明書を指定できます。このラベルは、-T で指定されたトークン内の証明書オブジェクトの CKA_LABEL と一致する必要があります。このオプションは、-f pkcs11 との組み合わせでのみ使用されます。
このオプションは、トークンラベルが Sun Software PKCS#11 ソフトトークンの場合に、pkcs11 鍵形式でのみ適用できますPKCS#11 ソフトトークンディレクトリのデフォルトの場所 ($HOME/.sunw) をオーバーライドする場合に、このオプションを使用します。pkcs11_softtoken(5) を参照してください。
-f オプションで pkcs11 が指定されている場合、(-C オプションで指定された) サーバー証明書のルート認証局までの証明書チェーンを形成する一連の中間 CA 証明書を ca_certchain_file から読み取ります。ファイルは PEM 形式である必要があります。
秘密鍵の暗号化に使用されるパスワードを password_file から取得します。pkcs11 オプションを使用する場合 (上記の -f を参照)、パスワードは PKCS #11 トークンに対するユーザーの認証に使用されます。
SSL セッションのタイムアウト値 (秒)。Sun ONE Web サーバー構成の SSL3SessionTimeout または mod_ssl の SSLSessionCacheTimeout に対応します。
-f オプションで pkcs11 が指定されている場合は、token_label で指定された PKCS#11 トークンを使用します。使用可能なすべての PKCS#11 を表示するには、cryptoadm list -v を使用します。
パスワードファイルを所有しているユーザーのユーザー名。省略されている場合、システムは root ユーザーとしてパスワードファイルを読み取ろうとします。
冗長モード。
バージョンを表示します。
SSL プロキシポート。ポート番号は、Web サーバーとカーネル SSL プロキシモジュール間の平文の HTTP 通信専用に指定されます。外部の HTTP パケットはこのポートに配信されません。
キャッシュできる SSL セッションの最大数。Sun ONE Web サーバー構成の SSLCacheEntries に対応します。このオプションを指定しない場合、デフォルトは 5000 エントリです。
コマンドの使用法を表示します。
カーネル SSL エントリを作成する Web サーバーのアドレスとポート。host が省略されている場合、着信先アドレスにかかわらず、ssl_port に到着したすべての要求にこのエントリが使用されます。host にはホスト名と IP アドレスの両方の形式を使用できます。ssl_port は必須です。通常、この値は 443 です。
例 1 カーネル SSL インスタンスを作成して有効にする
次のコマンドは、PKCS#11 形式の証明書と鍵を使用して、カーネル SSL インスタンスを作成して有効にします。
# ksslcfg create -f pkcs11 -T "Sun Software PKCS#11 softtoken" \ -C "Server-Cert" -p /some/directory/password -u webservd \ -x 8080 www.mysite.com 443 % svcs svc:/network/ssl/proxy STATE STIME FMRI online Sep_27 svc:/network/ssl/proxy:kssl-www-mysite-com-443
例 2 すべてのアドレスのデフォルトインスタンスを作成して有効にする
次のコマンドは、pkcs#12 ファイル内の証明書と鍵を使用して、すべてのアドレスのデフォルトインスタンスを作成して有効にします。
# ksslcfg create -x 8888 -f pkcs12 -i /some/directory/keypair.p12 \ -p /some/directory/password -u webservd 443
例 3 特定の暗号化方式群を使用してインスタンスを作成して有効にする
次のコマンドは、特定の暗号化方式群を使用して、インスタンスを作成して有効にします。
# ksslcfg create -x 8080 -f pem \ -i /some/directory/keypair.pem -p /some/directory/password \ -c "rsa_rc4_128_md5,rsa_rc4_128_sha" \ 209.249.116.195 443
例 4 インスタンスを無効にして削除する
次のコマンドは、インスタンスを無効にして削除します。
# ksslcfg delete www.mysite.com 443
例 5 プロキシアプリケーションの依存関係を確立する
次に示す一連のコマンドは、KSSL インスタンスにプロキシアプリケーションの依存関係を確立します。プロキシアプリケーションは、SSL カーネルプロキシインスタンスが起動されたあとでのみ起動するようにしてください。
次のコマンドは、Apache 2.2 Web サーバーの依存関係を確立します。KSSL は SSL ポート 443 とワイルドカードアドレスで待機するように構成されています。
# svccfg -s svc:/network/http:apache22 svc:/network/http:apache22> addpg kssl dependency svc:/network/http:apache22> setprop kssl/entities = fmri:svc:/network/\ ssl/proxy:kssl-INADDR_ANY-443 svc:/network/http:apache22> setprop kssl/grouping = astring: require_all svc:/network/http:apache22> setprop kssl/restart_on = astring: refresh svc:/network/http:apache22> setprop kssl/type = astring: service svc:/network/http:apache22> end
次のコマンドは、Web サーバーを有効にします。
# svcadm enable svc:/network/http:apache22
Web サーバーがすでに実行中の場合は再起動します。
# svcadm refresh svc:/network/http:apache22 # svcadm restart svc:/network/http:apache22
正常終了。
エラーが発生した。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
コマンド行オプションおよびユーティリティー名は「確実」です。コマンド出力、FMRI サーバー名 (svc://network/ssl/proxy)、および FMRI インスタンスの名前の形式は「不確実」です
svcprop(1), svcs(1), cryptoadm(1M), svcadm(1M), svccfg(1M), user_attr(4), attributes(5), kssl(5), pkcs11_softtoken(5), rbac(5), smf(5), nca(7d)
『RFC 3268, Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS)』、Chown, P. 著、2002 年 6 月
ksslcfg create をホスト引数なしで使用すると、INADDR_ANY smf インスタンスが作成されます。ksslcfg delete をホスト引数なしで使用すると、INADDR_ANY インスタンスだけが削除されます。INADDR_ANY インスタンス以外を削除するには、ksslcfg delete にホスト引数が必要です。
zones(5) がインストールされているシステムでは、現在のところ ksslcfg コマンドは大域ゾーンでのみ使用できます。