Go to main content

マニュアルページ セクション 8: システム管理コマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

in.ikev2d(8)

名前

in.ikev2d - インターネット鍵交換バージョン 2 (IKEv2) のデーモン

形式

/usr/lib/inet/in.ikev2d [-d] [-f filename]
/usr/lib/inet/in.ikev2d -c [-f filename]

説明

in.ikev2d デーモンは、RFC 5996 で定義されているインターネット鍵交換バージョン 2 (IKEv2) プロトコルを使用して IPsec の自動鍵管理を実行します。

in.ikev2d では次をサポートしています。

  • 事前共有鍵、DSS 署名、RSA 署名、Elliptic Curve Digital Signature Algorithm (ECDSA) のいずれかによる IKE 認証。自己署名付き証明書と CA 署名付き証明書のどちらもサポートされています。

  • RFC 3526、RFC 5114、RFC 5903、および RFC 5996 で定義されている MODP グループ 2、5、14、15、16、22、23、24 と ECP グループ 19、20、21、25、26 を使用した Diffie-Hellman 鍵の派生。

  • 認証済み暗号化アルゴリズムを使用したセキュアな IKEv2 交換の保護。

    暗号化アルゴリズム: AES、3DES。

    認証アルゴリズム: HMAC-SHA-1、HMAC-SHA1-160、HMAC-SHA256、HMAC-SHA384、または HMAC-SHA512。

  • in.ikev2d での暗号化は、IKEv2 認証および鍵交換に限定されています。IPsec 保護の選択については、ipsecesp(4P) を参照してください。

  • Note that the algorithms defined above are used by in.ikev2d to protect its exchanges with a peer.実際の IPsec トラフィックの保護に使われるアルゴリズム (ESP/AH) とそれに関連付けられた鍵のネゴシエーションは、これらの IKEv2 交換の一環として行われます。IPsec で選ばれた実際のアルゴリズムは、このマニュアルページで説明している in.ikev2d 構成ファイルには定義されません (実際には IPsec ポリシーに定義されるため)。in.ikev2d と IPsec で使用されるアルゴリズムが異なる場合があります。IPsec ポリシーの詳細は、ipsecconf(8) および ipsecalgs(8) を参照してください。

in.ikev2d は、次の ike smf(7) サービスの ikev2 インスタンスによって管理されています。

svc:/network/ipsec/ike:ikev2

このサービスは、サービスを有効にする前に構成ファイルを作成する必要があるため、無効になっています。このファイルの形式については、ikev2.config(5) を参照してください。通常、このサービスは svc:/network/ipsec/policy サービスと組み合わせて使用されるため、そのサービスも構成して有効にしておく必要があります。そのサービスの詳細については、ipsecconf(8) を参照してください。

サービス管理機能については、smf(7) を参照してください。

in.ikev2d では、IKEv2 プロトコルを使用するピアシステムとの IKEv2 プロトコル交換を送信および処理します。これは、ポート 500 または 4500 上の UDP ソケットを使用して行われます。in.ikev2d では、カーネル内の IPsec モジュールから送られてくる鍵情報のリクエストも処理します。

in.ikev2d では、ネゴシエートされた SA をカーネルの SADB に追加したり、着信リクエストがローカルの IPsec ポリシーに適合していることをチェックしたりするために PF_KEY インタフェースも使用します。

In the case of an already running in.iked(8) IKEv1 daemon, the in.ikev2d daemon runs in coexistence mode. in.iked listens for IKEv1 and IKEv2 traffic and forwards any IKEv2 traffic on to in.ikev2d. in.ikev2d will detect if the IKEv1 daemon exits and will go back into standalone mode in that case.共存モードが必要になるのは、両方のデーモンがネットワークトラフィックに同じ UDP ポート (500 および 4500) を使用するためです。

in.ikev2d は、RFC 5996 で定義されている IKEv2 プロトコルを使用してすべての IKE 交換を管理します。それは、RFC 2409 で定義されている IKE プロトコルのバージョンを使用して IKE 交換を管理する in.iked(8) と共存できます。

in.iked(8) の構成は、ike.config(5) に定義されています。in.ikev2d の構成は、ikev2.config(5) で定義されています。各デーモンには、独自の構成ファイルセットがあります。

両方のデーモンが同時に有効になっている場合は、構成ルール (つまり、両方のデーモンが同じローカルおよびリモートアドレスのペアに対してセッションを開始できるようにするルール) がオーバーラップしないよう注意してください。Particular caution is required when prefix or wildcard remote_addr/local_addr values are used inside IKE(v2) rules in a mixed IKE/IKEv2 environment.

最小特権の原則を満たすために、IKEv2 の管理タスクはすべて、Network IPsec Management 権利プロファイルの下で行うようにしてください。See rbac(7).適切なファイルアクセス権および所有権を保持するために、構成ファイルは pfedit(8) を使って変更するようにしてください。

例:

$ pfedit /etc/inet/ike/ikev2.config

in.ikev2dikeuser として実行され、そのすべての構成、ログ、および鍵と証明書ストアはその userid によって所有されます。その所有権およびアクセス権がこのように維持されることが必須であり、そうでない場合、実行中の in.ikev2d デーモンはその構成ファイルまたはキーストアの内容を読み取れません。

ikeadm(8) コマンドは、実行中の in.ikev2d デーモンを管理できます。詳細と例については、ikeadm(8) のマニュアルページを参照してください。

pktool(1) は、Solaris ユーザーのローカル証明書として X.509 証明書とそれに関連付けられた非公開鍵を管理するために使用されます。IKEv2 uses ikev2cert(8) as its certificate management interface to the keystore for ikeuser, which is the user id for the running in.ikev2d daemon. ikev2cert(8) is just a wrapper around pktool(1) that causes it to run as ikeuser and write to and access the IKEv2 keystore.

証明書ポリシーは、Solaris Key Management Framework (KMF) によって制御されます。in.ikev2d 用に提供されているデフォルトのポリシーを変更するためには、IKEv2 役割の KMF 構成ファイルに対して kmfcfg(1) を実行する必要があります。たとえば、証明書に含まれる不明の拡張鍵用途拡張機能を無視するには、次のコマンドを実行します。

$ pfexec kmfcfg modify \
     dbfile=/etc/inet/ike/kmf-policy.xml policy=default \
     ignore-unknown-eku=true

有効な構成オプションについては、kmfcfg(1) を参照してください。

次のコマンドを実行することにより、in.ikev2d デーモンはその構成 (事前共有鍵や証明書など) に変更があれば、それを認識できます。

# svcadm refresh network/ipsec/ike:ikev2

前のコマンドの代わりに、ikeadm(8) コマンドのいずれか (read rulesread preshared など) を使用することもできます。

サービス管理機能

IKE デーモン (in.ikev2d) は、サービス管理機能 smf(7) によって管理されます。次の一連のサービスは、IPsec のコンポーネントを管理します。

  • svc:/network/ipsec/ipsecalgs (ipsecalgs(8) を参照)

  • svc:/network/ipsec/policy (ipsecconf(8) を参照)

  • svc:/network/ipsec/manual-key (ipseckey(8) を参照)

  • svc:/network/ipsec/ike:ikev2 (このマニュアルページを参照)

  • svc:/network/ipsec/ike:default (in.iked(8) を参照)

前述の各マニュアルページで説明されているように、manual-key および ike サービスは、システム管理者が各サービスの構成ファイルを作成する必要があるため、disabled 状態で提供されます。

正しい管理手順としては、サイトのセキュリティーポリシーに関連する一連のサービスの構成ファイルを作成してから、svcadm(8) を使用して各サービスを有効にします。

ike サービスは、ipsecalgs および policy サービスに対して依存関係があります。これらのサービスは、ike サービスより前に有効にすべきです。

後述のセクションでは、in.ikev2d によって使用されるいくつかの smf(7) プロパティーについて説明します。これらのプロパティーのデフォルト値を変更する必要はめったにありません。これらのプロパティーのいずれかを変更した場合は、ike:ikev2 サービスをリフレッシュして、それらの値が smf(7) データベース内で更新されるようにする必要があります。

デーモン in.ikev2d は起動時にしかこれらのプロパティーを読み取らないため、プロパティーが変更されたあとは、ike:ikev2 サービスを再起動する必要もあります。例:

example# svcadm refresh ike:ikev2
example# svcadm restart ike:ikev2

詳細な手順については、後述の特定のプロパティーを参照してください。

ikeadm(8) を使用することにより、もっとも一般的な構成変更を実行中のデーモンに適用できます。

デーモンを再起動すると、既存の IKEv2 SA とそれらの関連付けられた CHILD SA がすべて破棄されることに注意してください。削除通知が各ピアに送信され、SA をすべて再確立する必要があります。

ike サービスの ikev2 インスタンスには、次のプロパティーが定義されています。

config/config_file

使用する構成ファイルを定義します。デフォルト値は /etc/inet/ike/ikev2.config です。このファイルの形式については、ikev2.config(5) を参照してください。このプロパティーには –f フラグと同じ効果があります。「オプション」の –f の説明を参照してください。ユーザー ID ikeuser がこのファイルを所有している必要があることに注意してください。

実行中のデーモンに別のファイルを読み取らせる場合は、ikeadm(8) を参照してください。

config/debug_level

後述の debug_logfile ファイルに書き込まれるデバッグ出力の量を定義します。これに対するデフォルト値は op または operator です。このプロパティーは、構成ファイルの再読み取りなどのイベントに関する情報の記録を制御します。debug_level に設定可能な値は、ikeadm(8) のマニュアルページに一覧表示されています。The value verbose is suitable for general protocol troubleshooting.

例:

example# svccfg -s ike:ikev2 setprop config/debug_level = verbose

起動時のエラーメッセージは、smf(7) フレームワークによって記録され、サービス固有のログファイルに記録されます。SMF 起動ログの名前を調べるには、コマンド svcs -xv ike:ikev2 を使用します。

デバッグのために実行中のデーモンのデバッグレベルを変更する場合は、ikeadm(8) を参照してください。

config/debug_logfile

デバッグ出力の書き込み先を定義します。ここに書き込まれるメッセージは、in.ikev2d 内のデバッグコードに由来します。It is important that this parameter is set to a directory owned by the user ikeuser or the daemon will fail to start.logfile プロパティーを調べるには、次のコマンドを使用します。

example# svccfg -s ike:ikev2 listprop config/debug_logfile

SMF ログファイルとデバッグログファイルの両方でエラーを検査するようにしてください。

実行中のデーモンのデバッグ出力をリダイレクトする場合は、ikeadm(8) を参照してください。

config/ignore_errors

構成ファイルに構文エラー、構成エラー、不足している事前共有鍵、不足している証明書などがあった場合に in.ikev2d の動作を制御するブール値。デフォルト値は false で、構成が無効だった場合は in.ikev2d が保守モードに移行します。

この値を true に設定すると、IKE サービスはオンライン状態のままになりますが、正常に動作させるには、管理者が ikeadm(8) を使用して実行中のデーモンを構成する必要があります。

config/min_threads

デーモンの動的にサイズ変更されたスレッドプールに対して最小スレッド数を強制します。この値はヒューリスティックに設定され、通常は変更する必要はありません。

config/max_threads

デーモンの動的にサイズ変更されたスレッドプールに含まれる最大スレッド数を制限します。この値はヒューリスティックに設定され、通常は変更する必要はありません。in.ikev2d プロセスに含まれる少数のスレッドはこの制限に反してカウントされないため、実行中のデーモンに含まれる合計スレッド数が max_threads を超える可能性があります。同時に実行される未処理の CRL および OCSP 取得操作の合計数は、max_threads によって制限されます。これらの PKI 機能が使用されている場合は、max_threads を調整する前に、このことを熟慮するようにしてください。

config/response_wait_time

IKEv2 がそのいずれかのリクエストに対していピアからの応答を待機する秒数。通常はこの値をチューニングする必要はありません。ピアシステムでは、リクエストに応答するために CRL の取得など、時間のかかる操作を実行することが必要になる場合があるため、この値を単なるネットワーク往復時間の最悪の値とみなすべきではありません。

config/fragmentation_enable

IETF IKEv2 断片化が有効になっているかどうかを制御するブール値です。true の場合は、SA の確立時に in.ikev2d によって、この機能が各ピアでサポートされているかどうかが確認されます。サポートされている場合は、デーモンによって config/fragmentation_mtu プロパティーに従って、暗号化された IKEv2 メッセージが断片化されます。このプロパティーが無効になっている場合は、受信した IKEv2 断片化メッセージが無視されます。中間デバイスで IP 断片化が破棄される場合に、IP 層で IKEv2 メッセージが断片化されるのを回避するには、このプロパティーを有効にするようにしてください。デフォルト値は false です。

config/fragmentation_mtu

IPv4/IPv6 でカプセル化された IKEv2 パケットの最大サイズ (バイト) です (fragmentation_enabletrue の場合)。これは、パケットがインタフェースから送信されるときのレイヤー 2 フィールドよりも少ないパケットの合計フレームサイズと同等です。デフォルト値は 1350 です。有効な範囲は 576 - 9216 です。

pkcs11_token/uri

PKCS#11 URI 形式でのハードウェアトークン。例:

# svccfg -s ike:ikev2 setprop pkcs11_token/uri = \
     'pkcs11:token=Hardware Token Name'

This value defaults to Metaslot, which means that keys and certificates will be stored in the softtoken keystore for the user ikeuser, protected by a PIN.PKCS#11 ハードウェアトークンを指定するには、この値を変更します。ソフトトークンキーストアの詳細は、pkcs11_softtoken(7) を参照してください。

pkcs11_token/pin

The PIN for the PKCS#11 softtoken keystore.

This PIN must be set for unattended startup of in.ikev2d.Without this PIN, in.ikev2d will not be able to access any private keys in its keystore.By default, the PIN is unconfigured and the keystore uninitialized.The administrator must run ikev2cert(8) to set the PIN and initialize the keystore.For automated startup, the PIN value must be stored in a special smf(7) property.

ソフトトークンの場合 (デフォルト):

# ikev2cert setpin

現在のトークンの状態は、次で表示できます。

# ikev2cert tokens

ハードウェアトークンの場合、ハードウェアトークンはファイルシステムの一部ではなく、アクセス権や所有権を持っていないため、ikev2cert(8) は使用されません。pktool(1) を使用すると、ハードウェアを直接操作できます。

# pktool setpin token=token_name

Then store the value of the PIN in a special smf(7) property that requires special authorizations to read from or write to.See smf_security(7).

# svccfg -s ike:ikev2 editprop

In the editor:

setprop pkcs11_token/pin = pin_value
refresh

If security policy dictates that the PIN cannot be stored in SMF, this property may be left blank and the administrator may run the following command to interactively unlock the softtoken in the running daemon:

# ikeadm -v2 token login "Sun Metaslot"

ハードウェアトークンの場合、上記コマンドのトークンラベル名を置き換えます。

デーモンがまだ実行されている状態で遡及的にトークンにログインするには、次の手順を使用します。

  1. まだ行なっていない場合は、トークンを初期化します。The default PIN for the uninitialized token is changeme.Set this PIN to a strong passphrase when prompted.

    # ikev2cert setpin
  2. Set the PIN property using svccfg(8).

    # svccfg -s ike:ikev2 editprop

    Pass the PIN to the running daemon to unlock the token.

    # ikeadm -v2 token login "Sun Metaslot"

    後述するトークンのログイン承認に関する説明を参照してください。

これらのプロパティーは、Network IPsec Management 権利プロファイルを割り当てられたユーザーが svccfg(8) を使用して変更できます。prof_attr(5) のマニュアルページを参照してください。

その他のプロパティーは、svcprop(1) コマンドを使用して表示できます。それらの機能は未定義であり、それらの変更はサポートされていません。

PKCS#11 トークンオブジェクトをロック解除またはロックするには、ikeadm トークンのログインと ikeadm トークンのログアウトをそれぞれ使用します。Network IPsec Management 権利プロファイルによって、ユーザーは PKCS#11 トークンオブジェクトのログインおよびログアウトができます。prof_attr(5) のマニュアルページを参照してください。

See auths(1), ikeadm(8), user_attr(5), rbac(7), and ikev2cert(8).

新しいプロパティー値を有効にするには、svcadm(8) を使用してサービスをリフレッシュする必要があります。変更不可能な一般プロパティーは、svcprop(1) コマンドを使用して表示できます。

# svccfg -s ipsec/ike:ikev2 setprop config/config_file = \
     /new/config_file
# svcadm refresh ike:ikev2

有効化、無効化、リフレッシュ、再起動要求など、このサービスに対する管理アクションは、svcadm(8) を使用して実行できます。Network IPsec Management 権利プロファイルを割り当てられたユーザーは、これらのアクションを実行できます。

サービスステータスを照会するには、svcs(1) コマンドを使用します。

in.ikev2d デーモンは、smf(7) の管理下で実行されるように設計されています。While the in.ikev2d command can be run from the command line, this is discouraged.in.ikev2d をコマンド行から実行する場合は、最初に ike smf(7) サービスを無効にするようにしてください。See svcadm(8).

オプション

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

–c

構成ファイルの構文を検査します。

–d

Use debug mode.プロセスが制御端末に接続されたままになり、大量のデバッグ出力が生成されます。

–f filename

/etc/inet/ike/ikev2.config の代わりに filename を使用します。このファイルの形式については、ikev2.config(5) を参照してください。

セキュリティー

このプログラムのイメージには、機密性の高い秘密鍵情報が含まれています。実行中の in.ikev2d デーモンのコアダンプやシステムダンプには機密性の高い鍵情報が含まれているため、これらのファイルには注意してください。実行中の in.ikev2d デーモンによって生成されるコアファイルを制限するには、coreadm(8) コマンドを使用します。

ファイル

/etc/inet/ike/ikev2.config

Default configuration file.

/etc/inet/ike/ikev2.preshared

IKE SA 認証用のデフォルトの IKEv2 事前共有秘密ファイル。

/etc/inet/ike/kmf-policy.xml

デフォルトの IKEv2 KMF ポリシー構成ファイル。

属性

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

属性タイプ
属性値
使用条件
system/network/ike
インタフェースの安定性
確実

関連項目

auths(1), kmfcfg(1), pktool(1), svcprop(1), svcs(1), ipsecesp(4P), ike.config(5), ikev2.config(5), ikev2.preshared(5), prof_attr(5), user_attr(5), attributes(7), pkcs11_softtoken(7), rbac(7), smf(7), smf_security(7), coreadm(8), ikeadm(8), ikev2cert(8), in.iked(8), ipsecalgs(8), ipsecconf(8), ipseckey(8), pfedit(8), svcadm(8), svccfg(8)

Dan Harkins および Dave Carrel 著、『RFC 2409, Internet Key Exchange (IKE)』、Network Working Group, November 1998.

https://tools.ietf.org/html/rfc2409

Maughan、Douglas、Schertler, M.、Schneider, M.、Turner, J. 著、『RFC 2408, Internet Security Association and Key Management Protocol (ISAKMP)』、Network Working Group.November 1998.

https://tools.ietf.org/html/rfc2408

Piper, Derrell.RFC 2407, The Internet IP Security Domain of Interpretation for ISAKMP.Network Working Group.November 1998.

https://tools.ietf.org/html/rfc2407

Fu, D.、Solinos, J. 著、『RFC 4753, ECP Groups for IKE and IKEv2』、Network Working Group.January 2007.

https://tools.ietf.org/html/rfc4753

Lepinski, M.、Kent, S. 著、『RFC 5114, Additional Diffie-Hellman Groups for Use with IETF Standards』、Network Working Group.January 2008.

https://tools.ietf.org/html/rfc5114

Kaufman, C.、Hoffman, P.、Nir, Y.、および P.Eronen.RFC 5996, Internet Key Exchange Protocol Version 2 (IKEv2).Network Working Group.September 2010.

https://tools.ietf.org/html/rfc5996