ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1M: システム管理コマンド Oracle Solaris 11 Information Library (日本語) |
- インターネット鍵交換 (IKE) のパラメータおよび状態の操作
ikeadm [-np]
ikeadm [-np] get [debug | priv | stats | defaults]
ikeadm [-np] set [debug | priv] [level] [file]
ikeadm [-np] [get | del] [p1 | rule | preshared] [id]
ikeadm [-np] add [rule | preshared] { description }
ikeadm [-np] token [login | logout] PKCS#11_Token_Object
ikeadm [-np] [read | write] [rule | preshared | certcache] file
ikeadm [-np] dump [p1 | rule | preshared | certcache | groups | encralgs | authalgs]
ikeadm [-np] flush [p1 | certcache]
ikeadm help [get | set | add | del | read | write | dump | flush | token]
ikeadm ユーティリティーは、インターネット鍵交換 (IKE) プロトコルデーモン in.iked(1M) から情報を取得したり、その構成を操作したりします。
ikeadm は、サポートされる 1 つ以上のオブジェクトタイプに対して実行可能な一連の操作をサポートしています。ikeadm は、引数なしで呼び出されると対話型モードに入り、標準出力にプロンプトを出力したあと、ファイルの終わりに達するまで標準入力からコマンドを受け入れます。
ikeadm は機密性の高いキーイング情報を操作するため、このコマンドを使用するにはスーパーユーザーである必要があります。さらに、使用可能なコマンドの一部では、デーモンが特権モードで動作している必要がありますが、その動作が確立されるのは、デーモンの起動時です。
このコマンドを安全に使用する方法の詳細については、セキュリティーを参照してください。
次のオプションがサポートされています。
アクションの報告時に、ホスト名やネットワーク名をシンボルで出力できないようにします。これは、すべてのネームサーバーが停止したか、またはその他の理由で到達不能になった場合などに役立ちます。
パラノイド。セキュリティーアソシエーションを保存する場合でもキーイング材料を一切出力しません。このフラグが有効になると、実際の 16 進数値の代わりに X を出力します。
次のコマンドがサポートされています。
指定されたオブジェクトを追加します。このオプションを使用すると、現在の (実行中の) in.iked の構成に新しいポリシールールや事前共有鍵を追加できます。新しい事前共有鍵を追加する場合、キーイング材料がコマンドに含まれるため、コマンド行からコマンドを呼び出すことはできません。追加するルールや鍵を指定するには、「ID 形式」節で説明する適切な ID-値ペアを使用します。
in.iked の現在の構成から、特定の 1 つまたは複数のオブジェクトを削除します。この操作は、IKE (第 1 段階) SA、ポリシールール、および事前共有鍵で使用できます。削除するオブジェクトの指定方法については、「ID 形式」を参照してください。
in.iked が認識しているタイプのうち、指定されたタイプのオブジェクトをすべて表示します。このオプションを使用すると、第 1 段階 SA、ポリシールール、事前共有鍵、実装された Diffie-Helman グループ、第 1 段階で使用可能な暗号化アルゴリズムと認証アルゴリズム、証明書キャッシュのすべてを表示できます。このコマンドでは大量の出力が生成される可能性があります。
in.iked から IKE (第 1 段階) SA またはキャッシュ内の証明書をすべて削除します。
certcache をフラッシュすると、(その副作用として) 追加または削除された新しい証明書がすべて IKE に更新されます。
指定されたオブジェクトを検索して表示します。現在のデバッグレベルまたは特権レベル、デーモンのグローバル統計やデフォルト値、特定の IKE (第 1 段階) SA、特定のポリシールール、または特定の事前共有鍵を表示するために使用できます。最後の 3 つのオブジェクトタイプでは識別情報を渡す必要があります。各オブジェクトタイプの適切な指定方法については後述します。
コマンドの簡単な要約を出力します。ただし、特定のコマンドが指定された場合は、そのコマンドに関する情報を出力します。
in.iked の現在の構成を更新するために、デフォルトの場所または指定されたファイルのいずれかからポリシールールまたは事前共有鍵を読み取ります。
現在のデバッグレベルまたは特権レベルを調整します。デバッグレベルを変更する場合、出力ファイルを指定することもできます。デーモンがバックグラウンドで動作しており、ファイルへの出力を現在行なっていない場合は、出力ファイルを指定する必要があります。特権レベルを変更する場合は、アクセスレベルを下げるための調整しか行うことができません。ikeadm を使用してレベルを上げることはできません。
in.iked の現在のポリシールールセットまたは事前共有鍵セットを指定されたファイルに書き込みます。書き込み先のファイルを指定する必要があります。このコマンドは、既存の構成ファイルを上書きするために使用するべきではありません。
PKCS#11 トークンオブジェクトにログインしてキーイング材料へのアクセスを許可するか、ログアウトしてキーイング材料へのアクセスを無効にします。
token は、次の承認を持つ通常ユーザーとして実行できます。
token ログイン: solaris.network.ipsec.ike.token.login
token ログアウト: solaris.network.ipsec.ike.token.logout
デーモンのデバッグレベルを指定します。これにより、デーモンから提供される、操作に関する出力の量や種類が決まります。デバッグレベルは実際にはビットマスクであり、その個々のビットによってそれぞれ異なるタイプの情報が有効化されます。
|
デバッグレベルを指定する場合、数値 (10 進または 16 進)、ニックネーム文字列のどちらを指定してもかまいません。たとえば、88、0x58、phase1+phase2+policy はすべて同等であり、第 1 段階 SA 作成、第 2 段階 SA 作成、およびポリシー管理のデバッグを有効にします。ニックネーム文字列を使用して特定タイプの情報を除外することもできます。all-op は、操作メッセージ以外のすべてのデバッグを有効にする効果を持ちますが、これは数値 1019 や 0x3fb と同等になります。
デーモンのアクセス特権レベルを指定します。指定可能な値は次のとおりです。
Description Level Nickname Base level 0 base Access to preshared key info 1 modkeys Access to keying material 2 keymat
デフォルトでは、in.iked はベースレベルで起動されます。コマンド行オプションを使用すると、より高いレベルでデーモンを起動できます。ikeadm では、レベルを下げることはできますが、レベルを上げることはできません。
目的の特権レベルを指定する場合は、数値レベルとニックネームのどちらを使用してもかまいません。
事前共有鍵の取得、追加、削除、ダンプ、読み取り、または書き込みを行うには、少なくとも事前共有鍵情報へのアクセスを許可する特権レベルが必要になります。ただし、(get または dump のいずれかのコマンドを使用して) 事前共有鍵を表示する際に鍵自体が使用可能になるのは、特権レベルがキーイング材料へのアクセスを許可する場合だけです。第 1 段階 SA を表示する場合も、これと同様です。
デーモンのグローバル統計であり、第 1 段階 SA 作成の成功と失敗の両方をカバーします。
報告される統計情報には次が含まれます。
ローカルエンティティーが開始した P1 SA の現在の数
ローカルエンティティーがレスポンダになった P1 SA の現在の数
起動以降にローカルエンティティーが開始した P1 SA の合計数
起動以降にローカルエンティティーがレスポンダになった P1 SA の合計数
起動以降にローカルエンティティーがイニシエータになった試行 P1 SA の合計数。失敗した試行も含まれます。
起動以降にローカルエンティティーがレスポンダになった試行 P1 SA の合計数。失敗した試行も含まれます。
P1 SA を開始しようとして失敗した合計回数 (ピアが応答しなかったためにエラーが発生した場合)
P1 SA を開始しようとして失敗した合計回数 (ピアが応答した場合)
ピアがイニシエータになった失敗 P1 SA の合計数
PKCS#11 ライブラリが使用中かどうかと、使用中の場合はその読み込まれた PKCS#11 ライブラリ例 11を参照してください。
in.iked デーモンで使用されるデフォルト値を表示します。値の中には、デーモンの構成ファイルで上書きできるものもあります (ike.config(4) を参照)。それらの値では、get defaults の出力時にトークン名が表示されます。出力には、構成トークンがデフォルトを変更した箇所が反映されます。
デフォルト値は、ピアシステムから有効な代替案が提出された場合は無視される可能性があります。また、ike.config で確立されたルール単位の値で上書きされる可能性もあります。そのような場合も、get defaults コマンドは、デフォルトの上書きに使用された値ではなく、デフォルト値を表示し続けます。
IKE 第 1 段階 SA。p1 オブジェクトは IP アドレスペアまたは cookie ペアのいずれかで識別されますが、その識別形式については後述します。
IKE ポリシールール。指定されたローカルアイデンティティーとリモートアイデンティティーとの間の第 1 段階 SA で使用可能なセキュリティー特性を定義します。ルールはラベルで識別されますが、その識別形式については後述します。
事前共有鍵。ローカルとリモートの識別、および適用可能な IKE モードも含まれます。事前共有鍵は IP アドレスペア、アイデンティティーペアのいずれかで識別されますが、その識別形式については後述します。
add、del、get などのコマンドでは、コマンド行に追加情報を指定する必要があります。削除コマンドと取得コマンドで必要になるのは、特定のオブジェクトを識別する最小限の情報だけです。追加コマンドでは完全なオブジェクトを指定する必要があります。
最小限の識別はほとんどの場合、値のペアによって実現されます。IP アドレスの場合、ローカルアドレスのあとにリモートアドレスを指定しますが、その形式は IPv4 アドレス用のドット表記、IPv6 アドレス用のコロン区切り 16 進数形式、またはホスト名データベース内に存在するホスト名のいずれかになります。複数のアドレスに展開されるホスト名を指定した場合、アドレスの可能な各組み合わせについて、要求された操作が1 度に複数回実行されます。
アイデンティティーペアは、ローカルのタイプ-値ペアとそれに続くリモートのタイプ-値ペアとで構成されます。有効なタイプは次のとおりです。
アドレスの接頭辞。
完全修飾ドメイン名。
ドメイン名。fqdn の同義語です。
user@fqdn という形式のユーザーアイデンティティー。
user_fqdn の同義語。
cookie ペアは、第 1 段階セキュリティーアソシエーション (SA) の作成時にその SA に割り当てられた 2 つの cookie から構成され、最初の cookie はイニシエータ用、そのあとの cookie はレスポンダ用です。cookie は 64 ビットの数値です。
最後に、(ポリシールールの識別子として使用される) ラベルは、ルール作成時にルールに割り当てられる文字列です。
追加コマンドでのルールや事前共有鍵の記述形式は、in.iked 構成ファイルの形式規則に従います。どちらも、中括弧 ({ と }) で囲まれた一連の ID-値ペアから構成されます。ルールや事前共有鍵の形式の詳細については、ike.config(4) と ike.preshared(4) を参照してください。
ikeadm コマンドを使用すると、特権ユーザーが暗号化キーイング情報を入力できます。そのような情報に悪意のあるユーザーがアクセスできると、IPsec トラフィックのセキュリティーが損なわれます。ikeadm コマンドを使用する際には、次の問題を考慮するようにしてください。
TTY の情報がネットワーク上を流れるか (対話モード)
そうである場合、キーイング材料のセキュリティーは、この TTY のトラフィックに対するネットワークパスのセキュリティーになります。平文の telnet または rlogin セッション経由で ikeadm を使用するのは危険です。ウィンドウイベントを読み取ることのできる隠密プログラムが存在する場合、ローカルウィンドウでもその攻撃には無防備となります。
ファイルがネットワーク経由でアクセスされたり、外部から読み取り可能であったりするか (読み取り/書き込みコマンド)
ネットワーク上にマウントされたファイルを読み取る際に、悪意のあるユーザーがその情報を盗む可能性があります。外部から読み取り可能なファイルにキーイング材料が格納されている場合も危険です。
送信元アドレスがネットワーク経由で検索可能なホストである場合に、ネームシステム自体の安全性が損なわれると、使用されているすべての名前が信用できなくなります。
セキュリティーの脆弱性はしばしば、ツール自体に原因があるのではなく、ツールの間違った適用方法に原因があります。管理者には、ikeadm コマンドの使用時に十分な注意を払うことをお勧めします。もっとも安全な操作モードはおそらく、コンソール上やその他の物理的に接続された TTY 上で作業を行うことです。
このテーマの追加情報については、Bruce Schneier 著『Applied Cryptography: Protocols, Algorithms, and Source Code in C』に含まれる Matt Blaze 氏の後書きを参照してください。
例 1 すべての第 1 段階セキュリティーアソシエーションの削除
次のコマンドは、すべての第 1 段階セキュリティーアソシエーションを削除します。
example# ikeadm flush p1
例 2 すべての第 1 段階セキュリティーアソシエーションの表示
次のコマンドは、すべての第 1 段階セキュリティーアソシエーションを表示します。
example# ikeadm dump p1
例 3 特定の第 1 段階セキュリティーアソシエーションの削除
次のコマンドは、指定された第 1 段階セキュリティーアソシエーションを削除します。
example# ikeadm del p1 local_ip remote_ip
例 4 ファイルからのルールの追加
次のコマンドはファイルからルールを追加します。
example# ikeadm add rule rule_file
例 5 事前共有鍵の追加
次のコマンドは事前共有鍵を追加します。
example# ikeadm ikeadm> add preshared { localidtype ip localid local_ip remoteidtype ip remoteid remote_ip ike_mode main key 1234567890abcdef1234567890abcdef }
例 6 すべての事前共有鍵のファイルへの保存
次のコマンドは、すべての事前共有鍵をファイルに保存します。
example# ikeadm write preshared target_file
例 7 特定のルールの表示
次のコマンドは特定のルールを表示します。
example# ikeadm get rule rule_label
例 8 ike.config からの新しいルールの読み込み
次のコマンドは、ike.config ファイルから新しいルールを読み込みます。
example# ikeadm read rules
例 9 特権レベルの引き下げ
次のコマンドは特権レベルを引き下げます。
example# ikeadm set priv base
例 10 デバッグレベルの表示
次のコマンドは現在のデバッグレベルを表示します
example# ikeadm get debug
例 11 stats を使用したハードウェアアクセラレータの確認
次の例は、統計情報の末尾に省略可能な行が含まれる様子を示したものです。この行は該当する場合に、IKE が PKCS#11 ライブラリを使用して公開鍵の処理を高速化しているかどうかを示します。
example# ikeadm get stats Phase 1 SA counts: Current: initiator: 0 responder: 0 Total: initiator: 21 responder: 27 Attempted:initiator: 21 responder: 27 Failed: initiator: 0 responder: 0 initiator fails include 0 time-out(s) PKCS#11 library linked in from /opt/system/core-osonn/lib/libpkcs11.so example#
例 12 証明書キャッシュの表示
次のコマンドは証明書キャッシュを表示し、該当する場合は関連する秘密鍵のステータスも表示します。
example# ikeadm dump certcache
例 13 PKCS#11 トークンへのログイン
次のコマンドは、PKCS#11 トークンオブジェクトにログインして秘密鍵のロックを解除する方法を示したものです。
example# ikeadm token login "Sun Metaslot" Enter PIN for PKCS#11 token: ikeadm: PKCS#11 operation successful
次の終了値が返されます。
正常終了。
エラーが発生しました。対応するエラーメッセージが標準エラーに書き込まれます。
属性についての詳細は、attributes(5) を参照してください。
|
in.iked(1M), ike.config(4), ike.preshared(4), attributes(5), ipsec(7P)
Schneier, Bruce 著『Applied Cryptography: Protocols, Algorithms, and Source Code in C』、第 2 版、John Wiley & Sons, New York, NY、1996 年
in.iked は大域ゾーンと排他的 IP ゾーンでのみ実行可能なので、このコマンドは共有 IP ゾーンでは役立ちません。