Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

ksslcfg(1M)

名前

ksslcfg - カーネル SSL の SMF インスタンスの有効化と構成

形式

ksslcfg create -f pkcs11 -T <token_label> [-d softtoken_directory] -C 
  <certificate_label> [-h <ca_certchain_file>] 
             -p <password_file> [options] -x <proxy_port> [<server_address>] 
  [<server_port>] 
ksslcfg create -f pkcs12 -i <cert_and_key_pk12file> 
             -p <password_file> [options] -x <proxy_port> [<server_address>] 
  [<server_port>] 
ksslcfg create -f pem -i <cert_and_key_pemfile> 
             -p <password_file> [options] -x <proxy_port> [<server_address>] 
  [<server_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) で見つけることができ、ほかのサービスの依存関係に使用されます。サービスインスタンスの状態は、カーネル内の構成だけを追跡します。プロキシポートで待機しているアプリケーションの存在や状態は反映されません。

オプション

サポートしているオプションは、次のとおりです。

–c ciphersuites

クライアントがソート順序でネゴシエーションを行うことができる一連の暗号。サポートされている SSLv3 および TLSv1.0 の暗号を次に示します。名前はカンマで区切り、大文字と小文字は区別されないことに注意してください。

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
–s versions

カーネル SSL プロキシモジュールに対して管理者によって有効にされている SSL/TLS プロトコルのバージョンのセット。認識される値は SSLv3 および TLSv1.0 です。デフォルトでは TLSv1.0 のみが有効です。バージョンはカンマで区切り、大文字と小文字は区別されないことに注意してください。

–f key_format

key_format で指定された証明書/鍵形式を使用します。サポートされているオプションは、pkcs11pkcs12、および pem です。

–i key_and_certificate_file

–f オプションで pkcs12 または pem が指定されている場合、Web サーバーの鍵と証明書を key_and_certificate_file から読み取ります。このファイルには、サーバー証明書のルート認証局までの証明書チェーンを形成する中間 CA 証明書も含まれる場合があります。これらの証明書は、ファイル内のサーバー証明書を下から上へ、つまり、もっとも低いレベルの CA 証明書のあとに次に高いレベルの CA 証明書、という順序でたどる必要があります。

–C certificate_label

PKCS#11 では、複数の証明書を単一のトークンに格納できます。このオプションでは、certificate_label で識別される単一の証明書を指定できます。このラベルは、–T で指定されたトークン内の証明書オブジェクトの CKA_LABEL と一致する必要があります。このオプションは、–f pkcs11 との組み合わせでのみ使用されます。

–d softtoken_directory

このオプションは、トークンラベルが Sun Software PKCS#11 ソフトトークンの場合に、pkcs11 鍵形式でのみ適用できますPKCS#11 ソフトトークンディレクトリのデフォルトの場所 ($HOME/.sunw) をオーバーライドする場合に、このオプションを使用します。pkcs11_softtoken(5) を参照してください。

–h ca_certchain_file

–f オプションで pkcs11 が指定されている場合、(–C オプションで指定された) サーバー証明書のルート認証局までの証明書チェーンを形成する一連の中間 CA 証明書を ca_certchain_file から読み取ります。ファイルは PEM 形式である必要があります。

–p password_file

秘密鍵を暗号化するために使用されるパスワードを password_file から取得します。pkcs11 オプションを使用する場合 (上記の –f を参照)、パスワードは PKCS #11 トークンに対するユーザーの認証に使用されます。

–k ssl_handshake_timeout

SSL ハンドシェイクが終了するまでのタイムアウト値 (秒)。指定されたタイムアウトまでにハンドシェイクが終了しない場合、接続が破棄されます。デフォルト値は 30 秒です。

–n ssl_handshake_limit

同時 SSL ハンドシェイクの最大数。ハンドシェイクの数がこの数に達すると、新しいハンドシェイクはすべて拒否されます。デフォルト値は 65536 です。

–t ssl_session_cache_timeout

SSL セッションのタイムアウト値 (秒)。Sun ONE Web サーバー構成の SSL3SessionTimeout または mod_sslSSLSessionCacheTimeout に対応します。

–T token_label

–f オプションで pkcs11 が指定されている場合は、token_label で指定された PKCS#11 トークンを使用します。使用可能なすべての PKCS#11 を表示するには、cryptoadm list –v を使用します。

–u username

パスワードファイルを所有しているユーザーのユーザー名。省略されている場合、システムは root ユーザーとしてパスワードファイルを読み取ろうとします。

–v

冗長モード。

–V

バージョンを表示します。

–x proxy_port

SSL プロキシポート。ポート番号は、Web サーバーとカーネル SSL プロキシモジュール間の平文の HTTP 通信専用に指定されます。外部の HTTP パケットはこのポートに配信されません。

–z ssl_session_cache_size

キャッシュできる SSL セッションの最大数。Sun ONE Web サーバー構成の SSLCacheEntries に対応します。このオプションを指定しない場合、デフォルトは 5000 エントリです。

–?

コマンドの使用法を表示します。

オペランド

[host] [ssl_port ]

カーネル 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

終了ステータス

0

正常終了。

>0

エラーが発生した。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
下記を参照。

コマンド行オプションおよびユーティリティー名は「確実」です。コマンド出力、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 コマンドは大域ゾーンでのみ使用できます。