624 lines
13 KiB
Groff
624 lines
13 KiB
Groff
.\" $KAME: setkey.8,v 1.49 2001/05/18 05:49:51 sakane Exp $
|
||
.\" %FreeBSD: src/usr.sbin/setkey/setkey.8,v 1.24 2003/01/01 18:49:03 schweikh Exp %
|
||
.\"
|
||
.\" Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
|
||
.\" All rights reserved.
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\" 3. Neither the name of the project nor the names of its contributors
|
||
.\" may be used to endorse or promote products derived from this software
|
||
.\" without specific prior written permission.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
.\" SUCH DAMAGE.
|
||
.\"
|
||
.\" $FreeBSD$
|
||
.\"
|
||
.Dd November 20, 2000
|
||
.Dt SETKEY 8
|
||
.Os
|
||
.\"
|
||
.Sh 名称
|
||
.Nm setkey
|
||
.Nd 手動で IPsec の SA/SP データベースを操作する
|
||
.\"
|
||
.Sh 書式
|
||
.Nm
|
||
.Op Fl dv
|
||
.Fl c
|
||
.Nm
|
||
.Op Fl dv
|
||
.Fl f Ar filename
|
||
.Nm
|
||
.Op Fl adPlv
|
||
.Fl D
|
||
.Nm
|
||
.Op Fl dPv
|
||
.Fl F
|
||
.Nm
|
||
.Op Fl h
|
||
.Fl x
|
||
.\"
|
||
.Sh 解説
|
||
.Nm
|
||
ユーティリティは、
|
||
カーネル内のセキュリティアソシエーションデータベース (SAD) エントリと
|
||
セキュリティポリシデータベース (SPD) エントリを、
|
||
追加・更新・内容列挙・削除します。
|
||
.Pp
|
||
.Nm
|
||
ユーティリティは、一連の操作を標準入力から受け取るか (
|
||
.Fl c
|
||
付で起動された場合)
|
||
.Ar filename
|
||
という名前のファイルから受け取ります (
|
||
.Fl f Ar filename
|
||
付で起動された場合)。
|
||
.Bl -tag -width Ds
|
||
.It Fl D
|
||
SAD エントリをダンプします。
|
||
.Fl P
|
||
付の場合、SPD エントリをダンプします。
|
||
.It Fl F
|
||
SAD エントリを捨てます。
|
||
.Fl P
|
||
付の場合、SPD を捨てます。
|
||
.It Fl a
|
||
通常、死んだ SAD エントリは表示されません。
|
||
.Fl a
|
||
付の場合、死んだ SAD エントリも表示します。
|
||
死んだ SAD エントリとは、期限切れではあるものの、
|
||
SPD エントリから参照されているために残っているものを指します。
|
||
.It Fl d
|
||
コマンドパーザ用のデバッグメッセージ表示を有効にし、
|
||
カーネルとは対話をしません。
|
||
これは通常は使用しません。
|
||
.It Fl x
|
||
無限ループし、
|
||
.Dv PF_KEY
|
||
ソケットへ送られる全メッセージをダンプします。
|
||
.Fl xx
|
||
は、各タイムスタンプのフォーマットをやめます。
|
||
.It Fl h
|
||
.Fl x
|
||
モードにおいて、16 進数ダンプを追加します。
|
||
.It Fl l
|
||
.Fl D
|
||
において、短い出力で無限ループします。
|
||
.It Fl v
|
||
冗長になります。
|
||
プログラムは、
|
||
.Dv PF_KEY
|
||
ソケット上で交換したメッセージをダンプします。
|
||
これには他プロセスからカーネルに送られたメッセージを含みます。
|
||
.El
|
||
.Pp
|
||
操作は、次の文法です。
|
||
ハッシュマーク ('#') で始まる行は
|
||
コメント行として扱われることに注意してください。
|
||
.Bl -tag -width Ds
|
||
.It Xo
|
||
.Li add
|
||
.Ar src Ar dst Ar protocol Ar spi
|
||
.Op Ar extensions
|
||
.Ar algorithm...
|
||
.Li ;
|
||
.Xc
|
||
単一の SAD エントリを追加します。
|
||
.\"
|
||
.It Xo
|
||
.Li get
|
||
.Ar src Ar dst Ar protocol Ar spi
|
||
.Li ;
|
||
.Xc
|
||
単一の SAD エントリを表示します。
|
||
.\"
|
||
.It Xo
|
||
.Li delete
|
||
.Ar src Ar dst Ar protocol Ar spi
|
||
.Li ;
|
||
.Xc
|
||
単一の SAD エントリを削除します。
|
||
.\"
|
||
.It Xo
|
||
.Li deleteall
|
||
.Ar src Ar dst Ar protocol
|
||
.Li ;
|
||
.Xc
|
||
指定に適合するすべての SAD エントリを削除します。
|
||
.\"
|
||
.It Xo
|
||
.Li flush
|
||
.Op Ar protocol
|
||
.Li ;
|
||
.Xc
|
||
オプションに適合する全 SAD エントリをクリアします。
|
||
.\"
|
||
.It Xo
|
||
.Li dump
|
||
.Op Ar protocol
|
||
.Li ;
|
||
.Xc
|
||
オプションに適合する全 SAD エントリをダンプします。
|
||
.\"
|
||
.It Xo
|
||
.Li spdadd
|
||
.Ar src_range Ar dst_range Ar upperspec Ar policy
|
||
.Li ;
|
||
.Xc
|
||
単一の SPD エントリを追加します。
|
||
.\"
|
||
.It Xo
|
||
.Li spddelete
|
||
.Ar src_range Ar dst_range Ar upperspec Fl P Ar direction
|
||
.Li ;
|
||
.Xc
|
||
単一の SPD エントリを削除します。
|
||
.\"
|
||
.It Xo
|
||
.Li spdflush
|
||
.Li ;
|
||
.Xc
|
||
全 SPD エントリをクリアします。
|
||
.\"
|
||
.It Xo
|
||
.Li spddump
|
||
.Li ;
|
||
.Xc
|
||
全 SPD エントリをダンプします。
|
||
.El
|
||
.\"
|
||
.Pp
|
||
メタ引数は下記の通りです:
|
||
.Pp
|
||
.Bl -tag -compact -width Ds
|
||
.It Ar src
|
||
.It Ar dst
|
||
セキュアコミュニケーションの始点/終点を IPv4/v6 アドレスで指定します。
|
||
.Nm
|
||
ユーティリティは引数
|
||
.Ar src
|
||
と
|
||
.Ar dst
|
||
について、ホスト名からアドレスへの問い合わせを行いません。
|
||
これらは数値形式で指定する必要があります。
|
||
.\"
|
||
.Pp
|
||
.It Ar protocol
|
||
.Ar protocol
|
||
は次のいずれか 1 つです:
|
||
.Bl -tag -width Fl -compact
|
||
.It Li esp
|
||
rfc2405 を基にした暗号ペイロード
|
||
.It Li esp-old
|
||
rfc1827 を基にした暗号ペイロード
|
||
.It Li ah
|
||
rfc2402 を基にした認証ヘッダ
|
||
.It Li ah-old
|
||
rfc1826 を基にした認証ヘッダ
|
||
.It Li ipcomp
|
||
IPCOMP
|
||
.El
|
||
.\"
|
||
.Pp
|
||
.It Ar spi
|
||
SAD および SPD 用の、セキュリティパラメータインデックス (SPI)。
|
||
範囲 0 から 255 の SPI 値は使用できません。
|
||
10 進数または 16 進数
|
||
.Li ( 0x
|
||
付)
|
||
で指定する必要があります。
|
||
.\"
|
||
.Pp
|
||
.It Ar extensions
|
||
次に示す引数を受け付けます:
|
||
.Bl -tag -width Fl -compact
|
||
.\"
|
||
.It Fl m Ar mode
|
||
使用するセキュリティプロトコルモードを指定します。
|
||
.Ar mode
|
||
は次のいずれか 1 つです:
|
||
.Li transport , tunnel ,
|
||
.Li any
|
||
。
|
||
デフォルト値は
|
||
.Li any
|
||
です。
|
||
.\"
|
||
.It Fl r Ar size
|
||
繰り返し攻撃を防ぐためのウィンドウサイズをバイト数で指定します。
|
||
.Ar size
|
||
は 32 ビットワードの 10 進数で指定する必要があります。
|
||
.Ar size
|
||
が 0 または指定されなかった場合、繰り返しのチェックは行われません。
|
||
.\"
|
||
.It Fl u Ar id
|
||
SAD 中のポリシエントリの識別子を指定します。
|
||
.Ar policy
|
||
を参照してください。
|
||
.\"
|
||
.It Fl f Ar pad_option
|
||
ESP パディングの内容を指定します。
|
||
.Ar pad_option
|
||
は次のいずれか 1 つです:
|
||
.Bl -tag -width random-pad -compact
|
||
.It Li zero-pad
|
||
パディングはすべて 0。
|
||
.It Li random-pad
|
||
一連の乱数値を設定。
|
||
.It Li seq-pad
|
||
1 から開始して増加する一連の数を設定。
|
||
.El
|
||
.\"
|
||
.It Fl f Li nocyclic-seq
|
||
周期的な順序番号を許可しません。
|
||
.\"
|
||
.It Fl lh Ar time
|
||
.It Fl ls Ar time
|
||
SA のハード有効期間/ソフト有効期間を指定します。
|
||
.El
|
||
.\"
|
||
.Pp
|
||
.It Ar algorithm
|
||
.Bl -tag -width Fl -compact
|
||
.It Fl E Ar ealgo Ar key
|
||
暗号化アルゴリズムを指定します。
|
||
.It Fl A Ar aalgo Ar key
|
||
認証アルゴリズムを指定します。
|
||
.Fl A
|
||
が
|
||
.Ar protocol Li esp
|
||
と共に使用されると、暗号ペイロードの
|
||
ペイロード認証アルゴリズムとして扱われます。
|
||
.It Fl C Ar calgo Op Fl R
|
||
圧縮アルゴリズムを指定します。
|
||
.Fl R
|
||
が
|
||
.Li ipcomp
|
||
行と共に指定されないと、カーネルは良く知られた (well-known) IPComp CPI
|
||
(圧縮パラメータインデックス)
|
||
をパケット上の IPComp CPI フィールドで使用し、
|
||
.Ar spi
|
||
フィールドは無視されます。
|
||
この場合、
|
||
.Ar spi
|
||
フィールドはカーネル内部でのみ使用されます。
|
||
.\"Therefore, compression protocol number will appear on IPComp CPI field.
|
||
.Fl R
|
||
が使用されると、
|
||
.Ar spi
|
||
フィールド上の値が、出力パケットの IPComp CPI フィールドに現れます。
|
||
この場合、
|
||
.Ar spi
|
||
フィールドは
|
||
.Li 0x10000
|
||
未満であることが必要です。
|
||
.El
|
||
.Pp
|
||
.Ar protocol Li esp
|
||
は
|
||
.Fl E
|
||
と
|
||
.Fl A
|
||
を受け付けます。
|
||
.Ar protocol Li esp-old
|
||
は
|
||
.Fl E
|
||
のみを受け付けます。
|
||
.Ar protocol Li ah
|
||
と
|
||
.Li ah-old
|
||
は
|
||
.Fl A
|
||
のみを受け付けます。
|
||
.Ar protocol Li ipcomp
|
||
は
|
||
.Fl C
|
||
のみを受け付けます。
|
||
.Pp
|
||
.Ar key
|
||
は、ダブルクォートで括られた文字列か、
|
||
一続きの 16 進数で指定する必要があります。
|
||
.Pp
|
||
.Ar ealgo ,
|
||
.Ar aalgo ,
|
||
.Ar calgo
|
||
が取り得る値は別の節で規定します。
|
||
.\"
|
||
.Pp
|
||
.It Ar src_range
|
||
.It Ar dst_range
|
||
セキュアコミュニケーションの選択であり、
|
||
IPv4/v6 アドレスまたは IPv4/v6 アドレス範囲で指定します。
|
||
TCP/UDP ポート指定を付加することも可能です。
|
||
次の形式を受け付けます:
|
||
.Bd -literal -offset
|
||
.Ar address
|
||
.Ar address/prefixlen
|
||
.Ar address[port]
|
||
.Ar address/prefixlen[port]
|
||
.Ed
|
||
.Pp
|
||
.Ar prefixlen
|
||
と
|
||
.Ar port
|
||
は 10 進数で指定する必要があります。
|
||
.Ar port
|
||
の周りの角括弧は、実際に必要です。
|
||
マニュアルページのメタ文字ではありません。
|
||
.Pp
|
||
.Nm
|
||
ユーティリティは引数
|
||
.Ar src
|
||
と
|
||
.Ar dst
|
||
について、ホスト名からアドレスへの問い合わせを行いません。
|
||
これらは数値形式で指定する必要があります。
|
||
.\"
|
||
.Pp
|
||
.It Ar upperspec
|
||
使用する上位層プロトコル。
|
||
.Ar upperspec
|
||
として、
|
||
.Pa /etc/protocols
|
||
中の 1 語を使用可能です。
|
||
または、
|
||
.Li icmp6 ,
|
||
.Li ip4 ,
|
||
.Li any
|
||
を指定可能です。
|
||
.Li any
|
||
は
|
||
.Dq 任意のプロトコル
|
||
を意味します。
|
||
また、プロトコル番号を使用可能です。
|
||
.Pp
|
||
注:
|
||
.Ar upperspec
|
||
は、現時点では転送に対して機能しません。
|
||
転送ノードにおいて、追加の再構成
|
||
(現時点では未実装)
|
||
が必要となるからです。
|
||
.Pa /etc/protocols
|
||
には多数のプロトコルが登録されていますが、
|
||
TCP, UDP, ICMP 以外は IPSec と共に使用するには不適切かもしれません。
|
||
そのようなプロトコルの使用には、注意してください。
|
||
.\" 下記は編集ミスと思われるので KAME に連絡する
|
||
.\" horikawa@jp.FreeBSD.org 2001/07/08
|
||
.\" .Li icmp
|
||
.\" .Li tcp
|
||
.\" .Li udp
|
||
.\" すべてのプロトコル。
|
||
.\"
|
||
.Pp
|
||
.It Ar policy
|
||
.Ar policy
|
||
は次のいずれか 1 つです:
|
||
.Bd -literal -offset
|
||
.Xo
|
||
.Fl P Ar direction Li discard
|
||
.Xc
|
||
.Xo
|
||
.Fl P Ar direction Li none
|
||
.Xc
|
||
.Xo
|
||
.Fl P Ar direction Li ipsec Ar protocol/mode/src-dst/level
|
||
.Xc
|
||
.Ed
|
||
.Pp
|
||
ポリシの方向を
|
||
.Ar direction
|
||
で指定する必要があります。
|
||
.Li out
|
||
または
|
||
.Li in
|
||
が使用されます。
|
||
.Li discard
|
||
は、インデックスに適合するパケットが捨てられることを意味します。
|
||
.Li none
|
||
は、パケットに対して IPsec 操作が実施されないことを意味します。
|
||
.Li ipsec
|
||
は、パケットに対して IPsec 操作が実施されることを意味します。
|
||
.Li ah ,
|
||
.Li esp ,
|
||
.Li ipcomp
|
||
のいずれかを、
|
||
.Ar protocol
|
||
として設定します。
|
||
.Ar mode
|
||
は
|
||
.Li transport
|
||
または
|
||
.Li tunnel
|
||
のいずれかです。
|
||
.Ar mode
|
||
が
|
||
.Li tunnel
|
||
の場合、
|
||
SA の末端アドレスを、
|
||
.Ar src
|
||
および
|
||
.Ar dst
|
||
で、両アドレス間に
|
||
.Sq -
|
||
を付けて指定する必要があります。
|
||
これは、使用する SA を指定するために用いられます。
|
||
.Ar mode
|
||
が
|
||
.Li transport
|
||
の場合、
|
||
.Ar src
|
||
と
|
||
.Ar dst
|
||
は両方省略可能です。
|
||
.Ar level
|
||
は次のいずれかです:
|
||
.Li default , use , require ,
|
||
.Li unique
|
||
。
|
||
すべてのレベルにおいて SA が利用可能でない場合、
|
||
SA 取得要求をカーネルは鍵交換デーモンに送ります。
|
||
.Li default
|
||
は、カーネルがパケットを処理するとき、
|
||
指定したプロトコルについて、
|
||
システム全体のデフォルトを問い合わせることを意味します。
|
||
これは例えば
|
||
sysctl 変数
|
||
.Li esp_trans_deflev
|
||
を指します。
|
||
.Li use
|
||
は、カーネルが SA を使用可能であれば使用し、
|
||
使用不能の場合には通常操作を続けることを意味します。
|
||
.Li require
|
||
は、ポリシに適合するパケットをカーネルが送る時には
|
||
いつも SA が必要であることを意味します。
|
||
.Li unique
|
||
は require と同じです。
|
||
更に、ポリシが一意な外向き SA に結合することを許します。
|
||
.Li unique
|
||
の後にコロン
|
||
.Sq \:
|
||
で区切った後に 10 進数でポリシ識別子を指定可能であり、次のようにします:
|
||
.Li unique:number
|
||
。
|
||
.Li number
|
||
は 1 から 32767 の範囲にあることが必要です。
|
||
これは、
|
||
.Ar extensions Fl u
|
||
に対応します。
|
||
.Pp
|
||
.Dq Li discard
|
||
と
|
||
.Dq Li none
|
||
は
|
||
.Xr ipsec_set_policy 3
|
||
に記述されている構文には存在しないことに注意してください。
|
||
両者の構文にはちょっとした違いがあります。
|
||
詳細は
|
||
.Xr ipsec_set_policy 3
|
||
を参照してください。
|
||
.Pp
|
||
.El
|
||
.Pp
|
||
.\"
|
||
.Sh アルゴリズム
|
||
次の一覧は、サポートされているアルゴリズムを示しています。
|
||
.Sy protocol
|
||
と
|
||
.Sy algorithm
|
||
は、ほぼ直交しています。
|
||
次に示すのは、
|
||
.Ar protocol
|
||
パラメータの
|
||
.Fl A Ar aalgo
|
||
で
|
||
.Ar aalgo
|
||
として使用可能な認証アルゴリズムの一覧です:
|
||
.Pp
|
||
.Bd -literal -offset indent
|
||
アルゴリズム 鍵長 (ビット) コメント
|
||
hmac-md5 128 ah: rfc2403
|
||
128 ah-old: rfc2085
|
||
hmac-sha1 160 ah: rfc2404
|
||
160 ah-old: 128bit ICV (文書無し)
|
||
keyed-md5 128 ah: 96bit ICV (文書無し)
|
||
128 ah-old: rfc1828
|
||
keyed-sha1 160 ah: 96bit ICV (文書無し)
|
||
160 ah-old: 128bit ICV (文書無し)
|
||
null 0 ~ 2048 デバッグ用
|
||
hmac-sha2-256 256 ah: 96bit ICV (文書無し)
|
||
256 ah-old: 128bit ICV (文書無し)
|
||
hmac-sha2-384 384 ah: 96bit ICV (文書無し)
|
||
384 ah-old: 128bit ICV (文書無し)
|
||
hmac-sha2-512 512 ah: 96bit ICV (文書無し)
|
||
512 ah-old: 128bit ICV (文書無し)
|
||
.Ed
|
||
.Pp
|
||
次に示すのは、
|
||
.Ar protocol
|
||
パラメータの
|
||
.Fl E Ar ealgo
|
||
で
|
||
.Ar ealgo
|
||
として使用可能な暗号化アルゴリズムの一覧です:
|
||
.Pp
|
||
.Bd -literal -offset indent
|
||
アルゴリズム 鍵長 (ビット) コメント
|
||
des-cbc 64 esp-old: rfc1829, esp: rfc2405
|
||
3des-cbc 192 rfc2451
|
||
simple 0 ~ 2048 rfc2410
|
||
blowfish-cbc 40 ~ 448 rfc2451
|
||
cast128-cbc 40 ~ 128 rfc2451
|
||
des-deriv 64 ipsec-ciph-des-derived-01 (期限切れ)
|
||
3des-deriv 192 文書無し
|
||
rijndael-cbc 128/192/256 draft-ietf-ipsec-ciph-aes-cbc-00
|
||
.Ed
|
||
.Pp
|
||
次に示すのは、
|
||
.Ar protocol
|
||
パラメータの
|
||
.Fl C Ar calgo
|
||
で
|
||
.Ar calgo
|
||
として使用可能な圧縮アルゴリズムの一覧です:
|
||
.Pp
|
||
.Bd -literal -offset indent
|
||
アルゴリズム コメント
|
||
deflate rfc2394
|
||
lzs rfc2395
|
||
.Ed
|
||
.\"
|
||
.Sh 使用例
|
||
.Bd -literal -offset
|
||
add 3ffe:501:4819::1 3ffe:501:481d::1 esp 123457
|
||
-E des-cbc "ESP SA!!" ;
|
||
|
||
add 3ffe:501:4819::1 3ffe:501:481d::1 ah 123456
|
||
-A hmac-sha1 "AH SA configuration!" ;
|
||
|
||
add 10.0.11.41 10.0.11.33 esp 0x10001
|
||
-E des-cbc "ESP with"
|
||
-A hmac-md5 "authentication!!" ;
|
||
|
||
get 3ffe:501:4819::1 3ffe:501:481d::1 ah 123456 ;
|
||
|
||
flush ;
|
||
|
||
dump esp ;
|
||
|
||
spdadd 10.0.11.41/32[21] 10.0.11.33/32[any] any
|
||
-P out ipsec esp/tunnel/192.168.0.1-192.168.1.2/require ;
|
||
|
||
.Ed
|
||
.\"
|
||
.Sh 戻り値
|
||
本コマンドは成功時に 0 を、エラー時に 0 以外を返します。
|
||
.\"
|
||
.Sh 関連項目
|
||
.Xr ipsec_set_policy 3 ,
|
||
.Xr racoon 8 ,
|
||
.Xr sysctl 8
|
||
.\"
|
||
.Sh 歴史
|
||
.Nm
|
||
ユーティリティは WIDE Hydrangea IPv6 プロトコルスタックキットで
|
||
はじめて登場しました。
|
||
本コマンドは 1998 年 6 月に、完全に再デザインされました。
|
||
.\"
|
||
.\" .Sh BUGS
|