JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1M: システム管理コマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

System Administration Commands - パート 1

6to4relay(1M)

acct(1M)

acctadm(1M)

acctcms(1M)

acctcon1(1M)

acctcon(1M)

acctcon2(1M)

acctdisk(1M)

acctdusg(1M)

acctmerg(1M)

accton(1M)

acctprc1(1M)

acctprc(1M)

acctprc2(1M)

acctsh(1M)

acctwtmp(1M)

acpihpd(1M)

adbgen(1M)

add_allocatable(1M)

addbadsec(1M)

add_drv(1M)

aimanifest(1M)

arp(1M)

asradm(1M)

asr-notify(1M)

atohexlabel(1M)

audit(1M)

auditconfig(1M)

auditd(1M)

auditrecord(1M)

auditreduce(1M)

auditstat(1M)

audit_warn(1M)

automount(1M)

automountd(1M)

autopush(1M)

bart(1M)

beadm(1M)

boot(1M)

bootadm(1M)

bootconfchk(1M)

bootparamd(1M)

busstat(1M)

captoinfo(1M)

catman(1M)

cfgadm(1M)

cfgadm_ac(1M)

cfgadm_cardbus(1M)

cfgadm_fp(1M)

cfgadm_ib(1M)

cfgadm_pci(1M)

cfgadm_sata(1M)

cfgadm_sbd(1M)

cfgadm_scsi(1M)

cfgadm_sdcard(1M)

cfgadm_shp(1M)

cfgadm_sysctrl(1M)

cfgadm_usb(1M)

chargefee(1M)

chat(1M)

check-hostname(1M)

check-permissions(1M)

chk_encodings(1M)

chroot(1M)

cimworkshop(1M)

ckpacct(1M)

clear_locks(1M)

clinfo(1M)

closewtmp(1M)

clri(1M)

comsat(1M)

configCCR(1M)

consadm(1m)

console-reset(1M)

coreadm(1M)

cpustat(1M)

croinfo(1M)

cron(1M)

cryptoadm(1M)

datadm(1M)

dcopy(1M)

dcs(1M)

dd(1M)

ddu(1M)

ddu-text(1M)

devchassisd(1M)

devfsadm(1M)

devfsadmd(1M)

device_allocate(1M)

device_remap(1M)

devinfo(1M)

devlinks(1M)

devnm(1M)

devprop(1M)

df(1M)

dfmounts(1M)

dfmounts_nfs(1M)

dfshares(1M)

dfshares_nfs(1M)

df_ufs(1M)

dhcpagent(1M)

dhcpconfig(1M)

dhcpmgr(1M)

dhtadm(1M)

dig(1M)

directoryserver(1M)

diskinfo(1M)

disks(1M)

diskscan(1M)

dispadmin(1M)

distro_const(1M)

dladm(1M)

dlmgmtd(1M)

dlstat(1M)

dmesg(1M)

dminfo(1M)

dns-sd(1M)

dnssec-dsfromkey(1M)

dnssec-keyfromlabel(1M)

dnssec-keygen(1M)

dnssec-makekeyset(1M)

dnssec-signkey(1M)

dnssec-signzone(1M)

dodisk(1M)

domainname(1M)

drd(1M)

drvconfig(1M)

dsbitmap(1M)

dscfg(1M)

dscfgadm(1M)

dscfglockd(1M)

dsstat(1M)

dsvclockd(1M)

dtrace(1M)

dumpadm(1M)

editmap(1M)

edquota(1M)

eeprom(1M)

efdaemon(1M)

embedded_su(1M)

emCCR(1M)

emocmrsp(1M)

etrn(1M)

fbconfig(1M)

fbconf_xorg(1M)

fcadm(1M)

fcinfo(1M)

fdetach(1M)

fdisk(1M)

ff(1M)

ff_ufs(1M)

fingerd(1M)

fiocompress(1M)

flowadm(1M)

flowstat(1M)

fmadm(1M)

fmd(1M)

fmdump(1M)

fmstat(1M)

fmthard(1M)

format(1M)

fruadm(1M)

fsck(1M)

fsck_pcfs(1M)

fsck_udfs(1M)

fsck_ufs(1M)

fsdb(1M)

fsdb_udfs(1M)

fsdb_ufs(1M)

fsflush(1M)

fsirand(1M)

fssnap(1M)

fssnap_ufs(1M)

fsstat(1M)

fstyp(1M)

fuser(1M)

fwflash(1M)

fwtmp(1M)

getdevpolicy(1M)

getent(1M)

gettable(1M)

getty(1M)

gkadmin(1M)

groupadd(1M)

groupdel(1M)

groupmod(1M)

growfs(1M)

grpck(1M)

gsscred(1M)

gssd(1M)

hald(1M)

hal-device(1M)

hal-fdi-validate(1M)

hal-find(1M)

hal-find-by-capability(1M)

hal-find-by-property(1M)

hal-get-property(1M)

hal-set-property(1M)

halt(1M)

hextoalabel(1M)

host(1M)

hostconfig(1M)

hotplug(1M)

hotplugd(1M)

htable(1M)

ickey(1M)

id(1M)

idmap(1M)

idmapd(1M)

idsconfig(1M)

ifconfig(1M)

if_mpadm(1M)

ifparse(1M)

iiadm(1M)

iicpbmp(1M)

iicpshd(1M)

ikeadm(1M)

ikecert(1M)

ilbadm(1M)

ilbd(1M)

ilomconfig(1M)

imqadmin(1M)

imqbrokerd(1M)

imqcmd(1M)

imqdbmgr(1M)

imqkeytool(1M)

imqobjmgr(1M)

imqusermgr(1M)

in.chargend(1M)

in.comsat(1M)

in.daytimed(1M)

in.dhcpd(1M)

in.discardd(1M)

in.echod(1M)

inetadm(1M)

inetconv(1M)

inetd(1M)

in.fingerd(1M)

infocmp(1M)

in.iked(1M)

init(1M)

init.sma(1M)

init.wbem(1M)

inityp2l(1M)

in.lpd(1M)

in.mpathd(1M)

in.named(1M)

in.ndpd(1M)

in.rarpd(1M)

in.rdisc(1M)

in.rexecd(1M)

in.ripngd(1M)

in.rlogind(1M)

in.routed(1M)

in.rshd(1M)

in.rwhod(1M)

install(1M)

installadm(1M)

installboot(1M)

installf(1M)

installgrub(1M)

in.stdiscover(1M)

in.stlisten(1M)

in.talkd(1M)

in.telnetd(1M)

in.tftpd(1M)

in.timed(1M)

intrd(1M)

intrstat(1M)

in.uucpd(1M)

iostat(1M)

ipaddrsel(1M)

ipadm(1M)

ipf(1M)

ipfs(1M)

ipfstat(1M)

ipmgmtd(1M)

ipmon(1M)

ipmpstat(1M)

ipnat(1M)

ippool(1M)

ipqosconf(1M)

ipsecalgs(1M)

ipsecconf(1M)

ipseckey(1M)

iscsiadm(1M)

isns(1M)

isnsadm(1M)

itadm(1M)

itu(1M)

js2ai(1M)

k5srvutil(1M)

kadb(1M)

kadmin(1M)

kadmind(1M)

kadmin.local(1M)

kcfd(1M)

kclient(1M)

kdb5_ldap_util(1M)

kdb5_util(1M)

kdcmgr(1M)

kernel(1M)

keyserv(1M)

killall(1M)

kmem_task(1M)

kmscfg(1M)

kprop(1M)

kpropd(1M)

kproplog(1M)

krb5kdc(1M)

ksslcfg(1M)

kstat(1M)

ktkt_warnd(1M)

labeld(1M)

labelit(1M)

labelit_hsfs(1M)

labelit_udfs(1M)

labelit_ufs(1M)

lastlogin(1M)

latencytop(1M)

ldapaddent(1M)

ldap_cachemgr(1M)

ldapclient(1M)

ldmad(1M)

link(1M)

llc2_loop(1M)

lldpadm(1M)

lldpd(1M)

lms(1M)

locator(1M)

lockd(1M)

lockfs(1M)

lockstat(1M)

lofiadm(1M)

logadm(1M)

logins(1M)

lshal(1M)

System Administration Commands - パート 2

System Administration Commands - パート 3

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

ipseckey

- IPsec セキュリティーアソシエーションデータベース (SADB) の手動による操作

形式

ipseckey [-nvp]
ipseckey [-nvp] -f filename
ipseckey -c filename
ipseckey [-nvp] [delete | delete-pair | get] SA_TYPE {EXTENSION value...}
ipseckey [-np] [monitor | passive_monitor | pmonitor]
ipseckey [-nvp] flush {SA_TYPE}
ipseckey [-nvp] dump {SA_TYPE}
ipseckey [-nvp] save SA_TYPE {filename}
ipseckey [-nvp] -s filename

機能説明

ipseckey コマンドは、ネットワークセキュリティーサービス ipsecah(7P) および ipsecesp(7P) のセキュリティーアソシエーションデータベースを手動で操作するために使用されます。ipseckey コマンドを使用して、自動鍵管理が使用できない場合の通信者間のセキュリティーアソシエーションを設定できます。

ipseckey ユーティリティーの一般的なオプションの数は限られていますが、豊富なコマンド言語がサポートされています。ユーザーは、手動キーイング固有のプログラムインタフェースによって要求が配信されるように指定できます。pf_key(7P) を参照してください。ipseckey は、引数なしで呼び出されると対話型モードに入り、標準出力にプロンプトを出力したあと、ファイルの終わりに達するまで標準入力からコマンドを受け入れます。一部のコマンドは明示的なセキュリティーアソシエーション (「SA」) タイプを必要としますが、その他は SA タイプの指定を必要とせず、すべての SA タイプに対して機能します。

ipseckey では、PF_KEY ソケットと、メッセージタイプ SADB_ADDSADB_DELETESADB_GETSADB_UPDATESADB_FLUSH、および SADB_X_PROMISC を使用します。したがって、このコマンドを使用するにはスーパーユーザーである必要があります。

ipseckey は機密性の高い暗号化キーイング情報を処理します。このコマンドを安全に使用する方法の詳細については、「セキュリティー」のセクションを参照してください。

オプション

-c [filename]

-f オプション (次を参照) と同様ですが、入力は実行されず、構文的に正しいかどうかの検査だけが行われる点が異なります。エラーは標準エラー出力に報告されます。このオプションは、変更を加えずに構成をデバッグするために用意されています。詳細は、「セキュリティー」および「サービス管理機能」を参照してください。

-f [filename]

入力ファイル filename からコマンドを読み取ります。入力ファイルの行は、コマンド行言語と同じです。load コマンドは同様の機能を提供します。-s オプションまたは save コマンドにより、-f 引数で読み取り可能なファイルを生成できます。

-n

アクションの報告時に、ホスト名やネットワーク名をシンボルで出力できないようにします。これは、すべてのネームサーバーが停止したか、またはその他の理由で到達不能になった場合などに役立ちます。

-p

パラノイド。SA を保存する場合でもキーイング材料を一切出力しません。このフラグが有効になると、実際の 16 進数値の代わりに X を出力します。

-s [filename]

-f オプションの反対です。filename に「-」を指定すると、出力は標準出力に送られます。現在のすべての SA テーブルのスナップショットが、-f オプションで読み取り可能な形式で出力されます。出力は一連の add コマンドですが、使用されない名前が含まれています。これは、1 つの名前が複数のアドレスを示す場合があるために発生します。

-v

冗長。PF_KEY ソケットに送信されるメッセージを表示し、有効期間の生の秒数値を表示します。

コマンド

add

SA を追加します。キーイング材料の転送を伴うため、ps(1) の出力に鍵が表示されないようにするために、シェルから呼び出すことはできません。対話型 ipseckey> プロンプトから、または -f コマンドで指定されるコマンドファイル内で使用できます。add コマンドは、後述する拡張と値のペアをすべて受け入れます。

update

SA の有効期間を更新し、larval SA (中止された自動鍵管理からの残り) の場合はキーイング材料とその他の拡張を更新します。add と同様に、キーイング材料が ps(1) コマンドで表示されないようにするために、このコマンドをシェルから呼び出すことはできません。対話型 ipseckey> プロンプトから、または -f コマンドで指定されるコマンドファイル内で使用できます。update コマンドは、拡張と値のペアをすべて受け入れますが、通常は SA の有効期間の更新のみに使用されます。

update-pair

update と同様ですが、SA およびそのペア SA (存在する場合) に更新を適用します。

delete

特定の SADB から特定の SA を削除します。このコマンドには、IPsec SA の spi 拡張と dest 拡張が必要です。その他の拡張と値のペアは、削除メッセージには余分です。削除される SA が別の SA とペアになっている場合、SA は削除され、ペア SA はペアが解除されたことを示すように更新されます。

delete-pair

特定の SADB から特定の SA を削除します。SA が別の SA とペアになっている場合は、その SA も削除します。このコマンドには、IPsec SA またはそのペアの spi 拡張と dest 拡張が必要です。

get

特定の SADB からセキュリティーアソシエーションを検索して表示します。delete と同様に、このコマンドには IPsec の spidest だけが必要です。

flush

特定の SA_TYPE のすべての SA、またはすべてのタイプのすべての SA を削除します。

monitor

すべての PF_KEY メッセージについて継続的に報告します。これは SADB_X_PROMISC メッセージを使用して、通常の PF_KEY ソケットでは受信されないメッセージが受信されるようにします。pf_key(7P) を参照してください。

passive_monitor

monitor と同様ですが、SADB_X_PROMISC メッセージを使用しない点が異なります。

pmonitor

passive_monitor の同義語。

dump

特定の SA タイプのすべての SA、またはすべての SA を表示します。このコマンドでは大量のデータが生成されるため、すべての SA 情報が正常に提供される保証はなく、このコマンドが完了することさえも保証されません。

save

-s オプションと同様のコマンドです。たとえば espah など、特定の SA タイプのスナップショットを作成するためのコマンドとして含まれてます。

help

コマンドの簡単なサマリーを出力します。

SA_TYPE

all

すべての既知の SA タイプを指定します。このタイプは flush および dump コマンドにのみ使用されます。これは、これらのコマンドに SA タイプを指定しないことと同等です。

ah

IPsec 認証ヘッダー (「AH」) SA を指定します。

esp

IPsec カプセル化セキュリティーペイロード (「ESP」) SA を指定します。

拡張値のタイプ

adddeletegetupdate などのコマンドには、特定の拡張および関連する値を指定する必要があります。ここでは、拡張、それらを使用するコマンド、およびそれらを必要とするコマンドの一覧を示します。現在、要件は SA の IPsec 定義に基づいて説明されています。必須の拡張は将来変更される可能性があります。<number> は、16 進数 (0xnnn)、10 進数 (nnn)、または 8 進数 (0nnn) です。 <string> はテキスト文字列です。<hexstr> はビット長の long 16 進数です。通常、拡張は値とペアになりますが、それらのあとに 2 つの値が必要な場合もあります。

spi <number>

SA のセキュリティーパラメータインデックスを指定します。この拡張は、adddeleteget、および update コマンドにのみ必要です。

pair-spi <number>

pair-spiadd または update コマンドで使用すると、追加または更新される SA は、pair-spi で定義された SA とペアになります。SA のペアは 1 つのコマンドで更新または削除できます。

ペアを構成する 2 つの SA は、同じ IP アドレスペアから反対の方向になっている必要があります。指定された SA のいずれかがすでに別の SA とペアになっている場合、コマンドは失敗します。

コマンドに pair-spi トークンを使用すると、pair-spi で定義された SA が存在しない場合、コマンドは失敗します。コマンドが add の場合で、ペアにできないとき、SA は追加されずに削除されます。

inbound | outbound

これらのオプションフラグは SA の方向を指定します。add コマンドに inbound または outbound フラグを指定した場合、より高速な検索のために、カーネルは指定されたハッシュテーブルに新しい SA を挿入します。フラグが省略されている場合、カーネルは自分が認識している src および dst 拡張で指定された IP アドレスに基づいて、新しい SA を挿入するハッシュテーブルを決定します。

updatedeleteupdate-pair、または get コマンドで使用する場合、これらのフラグは、カーネルが SA を検索すべきハッシュテーブルに関するヒントを提供します。

replay <number>

再実行ウィンドウサイズを指定します。指定されていない場合、再実行ウィンドウサイズはゼロと見なされます。手動で追加された SA が再実行ウィンドウを持つことは推奨されません。この拡張は add および update コマンドで使用されます。

replay_value <number>

SA の再実行値を指定します。この拡張は add および update コマンドで使用されます。

state <string>|<number>

SA の状態を、数値または文字列「larval」、「mature」、「dying」、「dead」で指定します。指定のない場合、値はデフォルトの mature になります。この拡張は add および update コマンドで使用されます。

auth_alg <string>|<number>
authalg <string>|<number>

SA の認証アルゴリズムを、数値またはアルゴリズム名を示す文字列で指定します。現在の認証アルゴリズムには次のようなものがあります。

HMAC-MD5

md5hmac-md5

HMAC-SH-1

shasha-1hmac-sha1hmac-sha

HMAC-SHA-256

sha256sha-256hmac-sha256hmac-sha-256

HMAC-SHA-384

sha384sha-384hmac-sha384hmac-sha-384

HMAC-SHA-512

sha512sha-512hmac-sha512hmac-sha-512

多くの場合、アルゴリズム名にはいくつかの同義語があります。この拡張は、特定の SA タイプの add コマンドに必要です。update コマンドでも使用されます。

認証アルゴリズムの完全なリストを取得するには、ipsecalgs(1M) コマンドを使用してください。

encr_alg <string>|<number>
encralg <string>|<number>

SA の暗号化アルゴリズムを、数値またはアルゴリズム名を示す文字列で指定します。現在の暗号化アルゴリズムには、DES (「des」)、トリプル DES (「3des」)、Blowfish (「blowfish」)、AES (「aes」) などがあります。この拡張は、特定の SA タイプの add コマンドに必要です。update コマンドでも使用されます。

暗号化アルゴリズムの完全なリストを取得するには、ipsecalgs(1M) コマンドを使用してください。

次の 6 つの拡張は、有効期間の拡張です。「hard」と「soft」の 2 種類があります。hard 有効期間が期限切れになると、SA はシステムによって自動的に削除されます。soft 有効期間が期限切れになると、SADB_EXPIRE メッセージがシステムによって送信され、その状態は mature から dying にダウングレードされます。pf_key(7P) を参照してください。key に対する monitor コマンドを使用すると、SADB_EXPIRE メッセージを表示できます。

idle_addtime <number>
idle_usetime <number>

SA が再検証される前に SA が使用されない場合にこの SA が存在できる秒数を指定します。この拡張が存在しない場合、デフォルト値は hard_addtime の半分です (下記を参照)。この拡張は add および update コマンドで使用されます。

soft_bytes <number>
hard_bytes <number>

この SA が保護できるバイト数を指定します。この拡張が存在しない場合、デフォルト値はゼロで、保護されたバイト数に基づいて SA が期限切れにならないことを意味します。この拡張は add および update コマンドで使用されます。

soft_addtime <number>
hard_addtime <number>

追加後または larval SA からの更新後にこの SA が存在できる秒数を指定します。mature SA の更新では、追加されたときの初期時間はリセットされません。この拡張が存在しない場合、デフォルト値はゼロで、追加されてから存在している時間に基づいて SA が期限切れにならないことを意味します。この拡張は add および update コマンドで使用されます。

soft_usetime <number>
hard_usetime <number>

最初の使用後にこの SA が存在できる秒数を指定します。この拡張が存在しない場合、デフォルト値はゼロで、追加されてから存在している時間に基づいて SA が期限切れにならないことを意味します。この拡張は add および update コマンドで使用されます。

saddr address | name
srcaddr address | name
saddr6 IPv6 address
srcaddr6 IPv6 address
src address | name
src6 IPv6 address

srcaddr addresssrc address は、SA の発信元アドレスを示す同義語です。指定されていない場合、発信元アドレスは未設定のままになるか、着信先アドレスが指定された場合はワイルドカードアドレスに設定されます。発信元アドレスを指定しないことは、IPsec SA では有効です。将来の SA タイプでは、この前提条件が変更される可能性があります。この拡張は、addupdateget、および delete コマンドで使用されます。

daddr <address>|<name>
dstaddr <address>|<name>
daddr6 <IPv6 address>| <name>
dstaddr6 <IPv6 address>|<name>
dst <addr>|<name>
dst6 <IPv6 address>|<name>

dstaddr <addr>dst <addr> は、SA の着信先アドレスを示す同義語です。指定されていない場合、着信先アドレスは未設定のままになります。IPsec SA の識別には着信先アドレスと spi を指定する必要があるため、この拡張 (および特定の値) は addupdateget、および delete コマンドに必要です。

名前が指定された場合、ipseckey は、その名前で識別できるすべての着信先アドレスを持つ複数の SA に対してコマンドを呼び出そうとします。これは、ipsecconf がアドレスを処理する方法と似ています。

dst6 または dstaddr6 が指定された場合は、名前で識別される IPv6 アドレスだけが使用されます。

sport <portnum>

sport は、SA の発信元ポート番号を指定します。上位レイヤーのプロトコル (下記を参照) と組み合わせて使用すべきですが、必須ではありません。

dport <portnum>

sport は、SA の着信先ポート番号を指定します。上位レイヤーのプロトコル (下記を参照) と組み合わせて使用すべきですが、必須ではありません。

encap <protocol>

NAT トラバーサル IPsec パケットのカプセル化に使用するプロトコルを指定します。その他の NAT トラバーサルパラメータ (nat_*) は下記のとおりです。現在 <protocol> に使用可能な値は udp だけです。

proto <protocol number>
ulp <protocol number>

proto およびその同義語 ulp は、SA の IP プロトコル番号を指定します。

nat_loc <address>|<name>

SA のローカルアドレス (発信元または着信先) が NAT の背後にある場合、この拡張は NAT ノードのグローバルにルーティング可能なアドレスを示します。nat_lport (下記を参照) が指定されている場合、このアドレスは SA のローカルアドレスと一致する可能性があります。

nat_rem <address>|<name>

SA のリモートアドレス (発信元または着信先) が NAT の背後にある場合、この拡張はそのノードの内部 (つまり NAT 背後の) アドレスを示します。nat_rport (下記を参照) が指定されている場合、このアドレスは SA のローカルアドレスと一致する可能性があります。

nat_lport <portnum>

ESP のカプセル化が発生するローカル UDP ポートを指定します。

nat_rport <portnum>

ESP のカプセル化が発生するリモート UDP ポートを指定します。

isrc <address> | <name>[/<prefix>]
innersrc <address> | <name>[/<prefix> ]
isrc6 <address> | <name>[/<prefix>]
innersrc6 <address> | <name>[/ <prefix>]
proxyaddr <address> | <name>[/<prefix>]
proxy <address> | <name>[/ <prefix>]

isrc <address>[/<prefix>] と innersrc <address>[/<prefix>] は同義語です。これらは、トンネルモード SA の内側の発信元アドレスを示します。

内側の発信元には、アドレスの代わりに接頭辞を指定できます。ほかのアドレス拡張と同様に、IPv6 固有の形式があります。そのような場合は、IPv6 固有のアドレスまたは接頭辞だけを使用してください。

以前のバージョンでは、この値はプロキシアドレスと呼ばれていました。非推奨ですが引き続き使用されます。

idst <address> | <name>[/<prefix>]
innerdst <address> | <name>[/<prefix> ]
idst6 <address> | <name>[/<prefix>]
innerdst6 <address> | <name>[/ <prefix>]

idst <address>[/<prefix>] と innerdst <address>[/<prefix>] は同義語です。これらは、トンネルモード SA の内側の着信先アドレスを示します。

内側の着信先には、アドレスの代わりに接頭辞を指定できます。ほかのアドレス拡張と同様に、IPv6 固有の形式があります。そのような場合は、IPv6 固有のアドレスまたは接頭辞だけを使用してください。

innersport <portnum>
isport <portnum>

innersport は、トンネルモード SA の内側のヘッダーの発信元ポート番号を指定します。上位レイヤーのプロトコル (下記を参照) と組み合わせて使用すべきですが、必須ではありません。

innerdport <portnum>
idport <portnum>

innerdport は、トンネルモード SA の内側のヘッダーの着信先ポート番号を指定します。上位レイヤーのプロトコル (下記を参照) と組み合わせて使用すべきですが、必須ではありません。

iproto <protocol number>iulp <protocol number>

iproto およびその同義語 iulp は、トンネルモード SA の内側のヘッダーの IP プロトコル番号を指定します。

authkey <hexstring>

この SA の認証鍵を指定します。鍵は 16 進数字の文字列で表現され、オプションの / が末尾に付加され、たとえば 123/12 となります。ビット数は最上位ビットから下へカウントされます。たとえば、3 つの「1」ビットを表現するための正しい構文は文字列「e/3」です。複数鍵アルゴリズムの場合、文字列は複数の鍵を連結したものです。この拡張は add および update コマンドで使用されます。

encrkey <hexstring>

この SA の暗号化鍵を指定します。鍵の構文は authkey と同じです。複数鍵暗号化アルゴリズムの具体的な例は 3des で、それ自体は 1 つの 192 ビット鍵として表現される、パリティーを含む 3 つの 64 ビット DES 鍵です。この拡張は add および update コマンドで使用されます。

reserved_bits <number>

encrkey 文字列の最後の <number> ビットは、PF_KEY メッセージで予約済みとマークされます。このオプションは、特定の暗号化アルゴリズムのテスト専用です。

証明書アイデンティティーは、ほとんどの自動鍵管理プロトコルで使用される公開鍵証明書に SA を関連付けるため、自動鍵管理のコンテキストで非常に役立ちます。手動で追加された SA にはあまり役立ちません。ほかの拡張と異なり、srcidtypetype と実際の value という 2 つの値を取ります。使用できるタイプは、次のうちのいずれかです。

prefix

アドレスの接頭辞。

fqdn

完全修飾ドメイン名。

domain

ドメイン名。fqdn の同義語です。

user_fqdn

user@fqdn という形式のユーザーアイデンティティー。

mailbox

user_fqdn の同義語。

value は、証明書を識別できるような任意のテキスト文字列です。

srcidtype <type, value>

この SA の発信元証明書アイデンティティーを指定します。この拡張は add および update コマンドで使用されます。

dstidtype <type, value>

この SA の着信先証明書アイデンティティーを指定します。この拡張は add および update コマンドで使用されます。

ラベル拡張は、セキュリティーアソシエーションの内部で伝送されるトラフィックに機密ラベルを関連付けるために Trusted Extensions で使用されます。Trusted Extensions が有効になっていない場合、これらの拡張は許可されません。

label label

この SA によって伝送されるトラフィックの機密ラベルを定義します。Trusted Extensions を使用していないシステムでは許可されません。

outer-label label

この SA に属する暗号化テキストトラフィックの機密度を定義します。このラベルは外側のパケットヘッダーに表示されます。Trusted Extensions を使用していないシステムでは許可されません。この拡張を正しく使用しないと、ラベルポリシーの迂回を許す可能性があります。

implicit-label label

この SA に属する暗号化テキストトラフィックの機密度を定義し、明示的な有線上のラベルがこの SA に含まれないように要求します。Trusted Extensions を使用していないシステムでは許可されません。この拡張を正しく使用しないと、ラベルポリシーの迂回を許す可能性があります。

トンネルモード SA とトランスポートモード SA

IPsec SA の「proto」値が 4 (ipip) または 41 (ipv6)、かつ、内側のアドレスまたは内側のポートの値が指定されている場合、それはトンネルモード SA です。それ以外の場合、その SA はトランスポートモード SA です。

セキュリティー

キーイング材料は機密性が高く、できるだけランダムに生成されるべきです。一部のアルゴリズムでは、弱い鍵が知られています。IPsec アルゴリズムには弱い鍵のチェックが組み込まれているため、新しく追加される SA に弱い鍵が含まれている場合、add コマンドは無効な値で失敗します。

ipseckey コマンドを使用すると、特権ユーザーが暗号化キーイング情報を入力できます。そのような情報に悪意のあるユーザーがアクセスできると、IPsec トラフィックのセキュリティーが損なわれます。ipseckey コマンドを使用する際には、次の問題を考慮するようにしてください。

  1. TTY の情報がネットワーク上を流れるか (対話モード)

    • そうである場合、キーイング材料のセキュリティーは、この TTY のトラフィックに対するネットワークパスのセキュリティーになります。平文の telnet または rlogin セッション経由で ipseckey を使用するのは危険です。

    • ウィンドウイベントを読み取ることのできる隠密プログラムが存在する場合、ローカルウィンドウでもその攻撃には無防備となります。

  2. ファイルがネットワーク経由でアクセスされたり、外部から読み取り可能であったりするか (-f オプション)

    • ネットワーク上にマウントされたファイルを読み取る際に、悪意のあるユーザーがその情報を盗む可能性があります。

    • 外部から読み取り可能なファイルにキーイング材料が格納されている場合も危険です。

  3. ipseckey コマンドは、manual-key smf(5) サービスで管理されるように設計されています。smf(5) のログファイルは外部から読み取り可能であり、また、構文エラーには秘密情報が含まれている可能性があるため、ipseckey はこれらのエラーをログファイルに記録しません。

    manual-key smf(5) サービスが有効になっているときに構文エラーが見つかった場合、サービスは保守モードに入ります。ログファイルには構文エラーが発生したことは示されますが、どのようなエラーであったかは示されません。

    管理者はコマンド行から ipseckey -c filename を使用して、エラーの原因を見つけるようにしてください。詳しくは「オプション」の項を参照してください。

送信元アドレスがネットワーク経由で検索可能なホストである場合に、ネームシステム自体の安全性が損なわれると、使用されているすべての名前が信用できなくなります。

セキュリティーの脆弱性はしばしば、ツール自体に原因があるのではなく、ツールの間違った適用方法に原因があります。管理者には、ipseckey コマンドの使用時に十分な注意を払うことを強くお勧めします。もっとも安全な操作モードはおそらく、コンソール上やその他の物理的に接続された TTY 上で作業を行うことです。

このテーマの追加情報については、Bruce Schneier 著『Applied Cryptography: Protocols, Algorithms, and Source Code in C』に含まれる Matt Blaze 氏の後書きを参照してください。

サービス管理機能

IPsec の手動鍵は、サービス管理機能 smf(5) によって管理されます。次に示すサービスは、IPsec のコンポーネントを管理します。これらのサービスは、次のように提供されます。

svc:/network/ipsec/policy:default (enabled)
svc:/network/ipsec/ipsecalgs:default (enabled)
svc:/network/ipsec/manual-key:default (disabled)
svc:/network/ipsec/ike:default (disabled)

manual-key サービスは無効な状態で提供されます。システム管理者は、そのサービスを有効にする前に、このマニュアルページの説明に従って手動 IPsec セキュリティーアソシエーション (SA) を作成する必要があります。

policy サービスは有効な状態で提供されますが、構成ファイルがないため、起動時の状態としてはパケットが IPsec で保護されません。構成ファイル /etc/inet/ipsecinit.conf を作成し、サービスをリフレッシュ (svcadm refresh、下記を参照) すると、構成ファイルに含まれているポリシーが適用されます。このファイルにエラーがある場合は、サービスが保守モードに入ります。ipsecconf(1M) を参照してください。

無効な状態で提供されるサービスは、有効にする前にシステム管理者がそれらの構成ファイルを作成する必要があるため、そのような方法で提供されます。ike サービスについては、ike.config(4) を参照してください。

ipsecalgs サービスについては、ipsecalgs(1M) を参照してください。

正しい管理手順としては、各サービスの構成ファイルを作成してから、svcadm(1M) を使用して各サービスを有効にします。

構成を変更する必要がある場合は、構成ファイルを編集してから、次のようにしてサービスをリフレッシュします。

example# svcadm refresh manual-key

警告: ipseckey コマンドが smf(5) から実行された場合、ipseckey で重複アソシエーションが報告されることを防ぐために、ipseckey コマンドはセキュリティーアソシエーションデータベース (SADB) をフラッシュしてから、構成ファイルに定義されている新しいセキュリティーアソシエーションを追加します。コマンド行の動作はこれとは異なり、新しいセキュリティーアソシエーションの追加前に SADB がフラッシュされることはありません。

smf(5) フレームワークは、サービス固有のログファイルにエラーを記録します。logfile プロパティーを調べるには、次のいずれかのコマンドを使用します。

example# svcs -l manual-key
example# svcprop manual-key
example# svccfg -s manual-key listprop

manual-key サービスには、次のプロパティーが定義されます。

config/config_file

このプロパティーは、次の承認を割り当てられているユーザーが svccfg(1M) を使用して変更できます。

solaris.smf.value.ipsec

auths(1)user_attr(4)rbac(5) を参照してください。

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

# svccfg -s ipsec/manual-key setprop config/config_file = \
/new/config_file
# svcadm refresh manual-key

有効化、無効化、リフレッシュ、再起動要求など、このサービスに対する管理操作は、svcadm(1M) を使用して実行できます。次に示す承認を割り当てられたユーザーは、これらの操作を実行できます。

solaris.smf.manage.ipsec

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

ipseckey コマンドは、smf(5) 管理の下で実行されるように設計されています。ipsecconf コマンドはコマンド行から実行できますが、これは推奨されていません。ipseckey コマンドをコマンド行から実行する場合は、まず manual-key smf(5) サービスを無効にするようにしてください。svcadm(1M) を参照してください。

IPsec および IKE ポリシーと構成とは異なり、IPsec キーイング材料は場所プロファイルでは管理されません。このデータは、システム全般を対象としており、場所の変更時に変更されません。

使用例

例 1 すべての SA を削除する

すべての SA を削除するには:

example# ipseckey flush

例 2 IPsec AH SA だけをフラッシュする

IPsec AH SA だけをフラッシュするには:

example# ipseckey flush ah

例 3 すべての SA を標準出力に保存する

すべての SA を標準出力に保存するには:

example# ipseckey save all

例 4 ESP SA をファイル /tmp/snapshot に保存する

ESP SA をファイル /tmp/snapshot に保存するには:

example# ipseckey save esp /tmp/snapshot

例 5 IPsec SA を削除する

IPsec SA を削除するには、SPI と着信先アドレスだけが必要です。

example# ipseckey delete esp spi 0x2112 dst 224.0.0.1

SA および SA ペア (存在する場合) を削除する方法もあります。

example# ipseckey delete-pair esp spi 0x2112 dst 224.0.0.1

例 6 IPsec SA の情報を取得する

同様に、IPsec SA の情報を取得するには、着信先アドレスと SPI だけが必要です。

example# ipseckey get ah spi 0x5150 dst mypeer

例 7 IPsec SA を追加または更新する

SA を追加または更新するには、対話型モードに入る必要があります。

example# ipseckey
ipseckey> add ah spi 0x90125 src me.domain.com dst you.domain.com \
          authalg md5 authkey 1234567890abcdef1234567890abcdef
ipseckey> update ah spi 0x90125 dst you.domain.com hard_bytes \
          16000000
ipseckey> exit

ペアとして相互にリンクされた 2 つの SA を追加するには:

example# ipseckey
ipseckey> add esp spi 0x2345 src me.domain.com dst you.domain.com \
   authalg md5 authkey bde359723576fdea08e56cbe876e24ad \
   encralg des encrkey be02938e7def2839
ipseckey> add esp spi 0x5432 src me.domain.com dst you.domain.com \
   authalg md5 authkey bde359723576fdea08e56cbe876e24ad \
   encralg des encrkey be02938e7def2839 pair-spi 0x2345
ipseckey> exit

例 8 反対方向の SA を追加する

IPsec の場合、SA は単方向です。安全に通信するには、2 つ目の SA を反対の方向に追加する必要があります。接続先のマシンも両方の SA を追加する必要があります。

example# ipseckey 
ipseckey> add ah spi 0x2112 src you.domain.com dst me.domain.com \
          authalg md5 authkey bde359723576fdea08e56cbe876e24ad \
          hard_bytes 16000000
ipseckey> exit

例 9 PF_KEY メッセージを監視する

PF_KEY メッセージの監視は簡単です。

example# ipseckey monitor

例 10 ファイル内のコマンドを使用する

-f オプションで解析できるファイルにコマンドを置くことができます。このファイルには、「#」記号で始まるコメント行を含めることができます。例:

# This is a sample file for flushing out the ESP table and 
# adding a pair of SAs. 

flush esp 

### Watch out!  I have keying material in this file.  See the 
### SECURITY section in this manual page for why this can be 
### dangerous .

add esp spi 0x2112 src me.domain.com dst you.domain.com \
    authalg md5 authkey bde359723576fdea08e56cbe876e24ad \
    encralg des encrkey be02938e7def2839 hard_usetime 28800 
add esp spi 0x5150 src you.domain.com dst me.domain.com \
    authalg md5 authkey 930987dbe09743ade09d92b4097d9e93 \
    encralg des encrkey 8bd4a52e10127deb hard_usetime 28800

## End of file  -  This is a gratuitous comment

例 11 IPv6 アドレス用の SA を追加する

対話型モードから次のコマンドを使用して、サイトのローカルアドレス間の IPv6 トラフィックを保護する SA を作成します。

example # ipseckey
ipseckey> add esp spi 0x6789 src6 fec0:bbbb::4483 dst6 fec0:bbbb::7843\
           authalg md5 authkey bde359723576fdea08e56cbe876e24ad \
          encralg des encrkey be02938e7def2839 hard_usetime 28800
ipseckey>exit

例 12 2 つの SA をペアとしてリンクする

次のコマンドは、2 つの SA をペアとして相互にリンクします。

example# ipseckey update esp spi 0x123456 dst 192.168.99.2 \
pair-spi 0x654321

ファイル

/etc/inet/secret/ipseckeys

ブート時に使用されるデフォルトの構成ファイル。詳細は、「サービス管理機能」および「セキュリティー」を参照してください。

属性

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

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

関連項目

ps(1), svcprop(1), svcs(1), ipsecconf(1M), ipsecalgs(1M), route(1M), svcadm(1M), svccfg(1M), ike.config(4), attributes(5), smf(5), ipsec(7P), ipsecah(7P), ipsecesp(7P), pf_key(7P)

Schneier, B. 著『Applied Cryptography: Protocols, Algorithms, and Source Code in C』、第 2 版、New York, New York、John Wiley & Sons 発行、1996 年

診断

ipseckey コマンドは構成ファイルを解析し、すべてのエラーを報告します。複数のエラーがある場合、ipseckey はできるだけ多くを報告します。

ipseckey コマンドは、構文エラーのある COMMAND の使用を試みません。COMMAND が構文的に正しい場合でも、pf_key(7P) に対する要求をカーネルが拒否したためにエラーが生成されることがあります。これは、鍵の長さが無効だった場合や、サポートされていないアルゴリズムが指定された場合に発生することがあります。

構成ファイルにエラーがある場合、ipseckey は有効な COMMAND の数および解析された COMMAND の合計数を報告します。

Parse error on line N.

ipseckey を対話形式で使用すると使用法に関する情報が表示されるような場合には、代わりにこれが表示されます。通常、この前に別の診断が表示されます。構成ファイル内の COMMAND は、バックスラッシュ文字を使用して行を区切ることによって複数の行にわたる場合があるため、構成ファイル内でエラーの原因となった行を常に正確に特定できるとは限りません。

Unexpected end of command line.

コマンド行には追加の引数が必要でした。

Unknown

特定の拡張の値が不明でした。

Address type N not supported.

名前からのアドレスの検索で、サポートされていないアドレスファミリが返されました。

N is not a bit specifier
bit length N is too big for
string is not a hex string

キーイング材料が適切に入力されませんでした。

Can only specify single

重複する拡張が入力されました。

Don't use extension for <string> for <command>.

コマンドで使用されない拡張が使用されました。

One of the entered values is incorrect: Diagnostic code NN: <msg>

これは一般的な無効なパラメータエラーです。診断コードとメッセージは、どの値がなぜ正しくなかったかについて詳細を提供します。

注意事項

IPsec 固有の名前を持っていますが、ipseckey はソケットベースの管理エンジン (この場合は PF_KEY) へのコマンド行インタフェースであるという点で、route(1M) と同様です。PF_KEY は米国海軍研究所で最初に開発されました。

マシンが手動キーイングで安全に通信するためには、すべての通信者が SA を追加する必要があります。2 つのノードが安全に通信するには、両方のノードに適切な SA が追加されている必要があります。

将来、PF_KEY でほかのセキュリティープロトコルが使用可能になったら、ほかの名前でも ipseckey を呼び出すことができます。

このコマンドは、動作するために sys_ip_config 権限が必要であり、したがって大域ゾーンおよび排他的 IP ゾーンで実行できます。大域ゾーンで ipseckey を使用してセキュリティーアソシエーションを設定し、システム上の共有 IP ゾーンのトラフィックを保護することができます。